Contacte

Comutator wi fi wireless. Comutator wireless, ce este și merită instalat? Punctele forte și punctele slabe ale dispozitivului

În lumea modernă, sistemul „casă inteligentă” devine din ce în ce mai răspândit. Cu ajutorul acestuia, puteți controla de la distanță multe elemente și dispozitive ale casei noastre. De asemenea, puteți controla de la distanță iluminarea din cameră. Astfel de invenții contribuie la confortul unei anumite încăperi și sunt folosite și acolo unde locuiesc persoanele în vârstă și persoanele cu dizabilități. Acest articol va discuta cum funcționează și de ce este necesar un comutator de lumină Wi-Fi, care câștigă o popularitate din ce în ce mai mare în rândul populației.

Punctele forte și punctele slabe ale dispozitivului

Comutatorul de lumină Wi-Fi are următoarele avantaje:

  1. Nu este nevoie să așezați un cablu suplimentar.
  2. Este posibil să controlați central dispozitivele de iluminat, adică dintr-un punct de comandă. Pentru a controla comutatorul de lumină fără fir, puteți utiliza un smartphone, o tabletă, un computer sau o telecomandă. Pentru tablete și alte dispozitive electronice, trebuie să instalați software-ul necesar. Poate fi descărcat de pe Internet sau instalat de pe disc.
  3. Arie mare de acoperire a semnalului. În ciuda pereților, semnalul radio digital pătrunde în camera dorită.
  4. Acest sistem este foarte sigur. Chiar dacă structura dispozitivului este deteriorată, acest lucru nu amenință rezidentul cu un șoc electric puternic, deoarece comutatorul Wi-fi are o putere de curent foarte scăzută.
  5. Aparatul functioneaza normal cu toate tipurile de becuri (LED, incandescente, economice).
  6. Puteți seta diferite combinații, precum și moduri de funcționare ale corpurilor de iluminat.

Dacă vorbim despre dezavantajele întrerupătoarelor de lumină, sunt doar câteva. Principalele sunt că prețul este mult mai mare decât modelele de tastatură convențională și există un anumit risc ca bateriile din telecomandă să se descarce sau semnalul Wi-Fi să fie slab.

Caracteristici de design

Setul de comutare Wi-Fi include un receptor și un transmițător. Receptorul este un releu de control. Îl puteți controla prin intermediul unui smartphone cu acces la o rețea Wi-Fi sau folosind telecomanda. Când releul primește un anumit semnal, închide circuitul electric. Releul este instalat lângă sau în interiorul lămpii. Acest lucru este posibil datorită dimensiunilor mici ale dispozitivului. Motivul instalării dispozitivului în apropierea lămpii este ca acesta să nu cadă din raza în care funcționează emițătorul. Daca camera are iluminat spot, receptorul poate fi amplasat intr-o cutie de distributie sau in spatele unui tavan suspendat.

Comutatorul sau transmițătorul are un mic generator de energie care este capabil să genereze electricitate atunci când apăsați un buton de pe telecomandă sau trimiteți o comandă specifică de pe un smartphone printr-o conexiune Wi-Fi. La rândul său, pulsul este procesat într-un semnal radio, care intră în dispozitiv. Astfel de întrerupătoare de lumină radiocontrolate sunt destul de scumpe, iar analogul lor este controlul de la o telecomandă care conține baterii.

Tipuri de întrerupătoare și cei mai buni producători

În acest moment, gama de comutatoare de lumină Wi-fi nu este foarte mare. Cu toate acestea, produsele sunt clasificate după mai multe criterii:

  1. Aparatul poate fi reglat cu chei electronice sau mecanice. În primul caz vorbim de ecranul tactil al dispozitivului. Cheile sunt pe telecomandă (telecomandă).
  2. Există, de asemenea, întrerupătoare de lumină cu ambele și tastaturi obișnuite. Folosind primele dispozitive, puteți regla luminozitatea luminii, modificându-i astfel intensitatea. Pentru a regla luminozitatea, țineți apăsat sau derulați butonul corespunzător.
  3. Acest comutator poate oferi control deplin nu numai a unuia, ci și a două sau trei grupuri de dispozitive de iluminat. Cu toate acestea, prețul pentru un dispozitiv wireless care poate controla grupuri întregi este destul de mare.

În prezent, există șapte producători principali de accesorii electrice fără fir pentru controlul luminii:

  1. Legrand - tara de origine: Franta. Compania are o întreagă linie de produse numită Celian.
  2. Vitrum este o țară de origine: Italia. Această companie folosește o tehnologie numită Z-Wave. Vă permite să automatizați complet controlul iluminatului din casă.
  3. Delumo - produsele sunt fabricate de o companie rusă, care produce în special variatoare, întrerupătoare și termostate.
  4. Noolite – accesoriile sunt fabricate de producătorii belaruși.
  5. Livolo este produs în China. Această companie produce dispozitive specializate pentru automatizare. Linia de produse include, de asemenea, produse pentru cadre simple și duble pentru comutatoare.
  6. Broadlink (China). Acest producător are o selecție destul de mare de produse pentru controlul luminii.
  7. Kopou este cea mai recentă companie care are sediul și în China. Producătorul produce variatoare sub formă de diferite brelocuri.

Videoclipul de mai jos oferă o imagine de ansamblu asupra unui alt model interesant de comutator de lumină Wi-Fi:

Conexiune corectă

Pentru a monta corect comutatorul, trebuie să cunoașteți principiul său de funcționare, în ce constă dispozitivul și cum să conectați comutatorul Wi-fi. Schema de conectare pentru acest dispozitiv wireless este foarte simplă.

Unul dintre avantajele unui comutator de lumină Wi-Fi este ușurința în utilizare și conectare. Dacă doriți cu adevărat, puteți instala singur dispozitivul. Este important să urmați cu strictețe instrucțiunile furnizate de producător. Această instalare durează doar câteva minute.

Procesul de conectare constă în doar două etape:

  1. Instalarea unui receptor radio.
  2. Instalarea unui întrerupător de lumină (buton de control).

Practic, receptoarele au de la două până la patru fire. Acestea ies din corpul dispozitivului. Pentru a determina firul de intrare, trebuie să citiți instrucțiunile. Firele rămase vor fi scoase la ieșire, de exemplu, un comutator dublu va avea două ieșiri. Pentru a instala receptorul, trebuie să deschideți faza care alimentează dispozitivul de iluminat și să o conectați la circuit, respectând secvența.

În cazul în care este necesar să conectați mai mult de un grup de iluminat, procedați după cum urmează:

  • zero este furnizat tuturor corpurilor de iluminat;
  • faza este ramificată în comutatorul Wi-fi;
  • faza ar trebui să fie furnizată separat fiecărui grup de lămpi.

Butonul de control este instalat destul de simplu, mai întâi trebuie să faceți o gaură în perete folosind un burghiu cu ciocan cu un tăietor de beton. O cutie de priză obișnuită din plastic este introdusă în orificiul finit, iar tencuiala poate fi folosită pentru fixare. Procesul de instalare nu este absolut diferit de tipul tastaturii. Singura diferență este că nu este nevoie să așezați fire, trebuie doar să fixați în siguranță butonul în priză.

O zi bună, dragă cititor.

Un pic de versuri la început. Ideea unui întrerupător de lumină „inteligent” nu este deloc nouă și, probabil, acesta este primul lucru care le vine în minte celor care au început să se familiarizeze cu platforma Arduino și elementele IoT. Și nu fac excepție de la asta. După ce am experimentat cu elemente de circuit, motoare și LED-uri, vreau să fac ceva mai practic, care este solicitat în viața de zi cu zi și, cel mai important, va fi convenabil de utilizat și nu va rămâne o victimă a experimentelor de dragul confortului.

În acest articol vă voi spune cum am realizat un comutator care va funcționa ca un comutator obișnuit (adică unul care este de obicei montat pe perete) și în același timp vă permite să îl controlați prin WiFi (sau prin Internet, asa cum se face in acest caz).

Deci, haideți să facem o listă cu ceea ce aveți nevoie pentru a vă implementa planul. Voi spune imediat că am intenționat să nu cheltuiesc foarte mult pe componente și am ales componentele pe baza recenziilor de pe forumuri și a raportului preț-calitate. Prin urmare, unele componente pot părea nepotrivite aici pentru pasionații de electricitate cu experiență, dar vă rugăm să nu judecați prea aspru, deoarece Sunt doar un incepator in electromecanica si as aprecia foarte mult comentariile de la oameni mai experimentati.

Mai aveam nevoie de: un server cu care comutatorul va fi controlat prin internet, un Arduino Uno cu care am programat ESP-ul, un router si consumabile precum fire, terminale etc., toate acestea pot varia in functie de gusturi si nu vor. afectează rezultatul final.

Preturile sunt luate de pe Ebay, de unde le-am cumparat.

Și iată cum arată elementele din tabel:

Acum puteți crea o diagramă de conexiune:

După cum probabil ați observat, schema este foarte simplă. Totul se asambleaza usor, rapid si fara lipire. Un fel de prototip funcțional cu care nu trebuie să-l mânuiești mult timp. Totul este conectat cu fire și terminale. Singurul negativ este că releul nu a intrat în priza comutatorului. Da, inițial am plănuit să împing totul în peretele din spatele comutatorului pentru a-l face să arate plăcut din punct de vedere estetic. Dar, spre regretul meu, nu era suficient spațiu în priză și releul pur și simplu nu se potrivea nici pe lungime, nici transversal:

Prin urmare, am mutat temporar releul în spatele prizei până când am găsit o cutie de comutare potrivită cu o priză pentru a ascunde fierul de călcat în interior. Dar nu există nimic mai permanent decât temporar, nu-i așa? Deci totul arată așa acum:

Banda electrică te va scuti de electrocutare... sper.

Acum să vorbim despre partea software.

Și înainte de a începe să analizăm codul și detaliile, voi oferi o schemă generală pentru implementarea controlului unui bec.

Sper că într-o zi voi rescrie totul și conexiunea se va baza pe un protocol mai rapid decât HTTP, dar pentru început va merge. De la distanță, becul își schimbă starea în aproximativ 1-1,5 secunde, iar de la comutator instantaneu, așa cum se cuvine unui întrerupător decent.

Programare ESP8266-01

Cel mai simplu mod de a face acest lucru este cu Arduino. Puteți descărca bibliotecile necesare pentru Arduino IDE din GitHub. Toate instrucțiunile de instalare și configurare sunt acolo.

În continuare trebuie să conectăm ESP la computer, pentru aceasta veți avea nevoie fie de un adaptor USB la serial (cum ar fi FTDi , CH340 , FT232RL) sau orice platformă Arduino (am avut un Arduino Uno) cu ieșiri RX și TX.

Este de remarcat faptul că ESP8266-01 este alimentat de 3,3 volți, ceea ce înseamnă că nu ar trebui să-l conectați niciodată la un Arduino, care este (deseori) alimentat de 5 volți, altfel va arde la naiba. Puteți utiliza un reductor de tensiune, care este prezentat în tabelul de mai sus.

Schema de conectare este simplă: conectăm TX, RX și GND ale ESP la RX, TX și respectiv GND ale adaptorului/Arduino. După aceasta, conexiunea în sine este gata de utilizare. Microcontrolerul poate fi programat folosind Arduino IDE.

Câteva nuanțe atunci când utilizați Arduino Uno:

  • Uno are o ieșire de 3,3 V, dar nu a fost suficient. Când conectați un ESP la el, totul pare să funcționeze, indicatoarele sunt aprinse, dar comunicarea cu portul COM este pierdută. Așa că am folosit o altă sursă de alimentare de 3,3 V pentru ESP.
  • În plus, UNO nu a avut probleme de comunicare cu ESP, dat fiind că UNO era alimentat de 5V, iar ESP de 3V.
După mai multe experimente cu ESP8266-01, s-a dovedit că ESP este sensibil la tensiunile conectate la GPIO0 și GPIO2. În momentul pornirii, acestea nu ar trebui în niciun caz împământate dacă intenționați să-l porniți în modul normal. Mai multe detalii despre pornirea unui microcontroler. Nu știam asta și a trebuit să schimb puțin schema, pentru că... în versiunea ESP-01 sunt prezenți doar acești 2 pini și în circuitul meu sunt folosiți ambii.

Și iată programul pentru ESP însuși:

Afișați codul

#include #include #include #include #include extern "C" ( // această parte este necesară pentru a accesa funcția initVariant #include "user_interface.h" ) const char* ssid = "WIFISSID"; // WiFi name const char* password = "***************"; // Parola WiFi const String self_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // token pentru securitatea minimă a comunicațiilor const String serv_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // simbol pentru securitatea minimă a comunicațiilor const String name = "IOT_lamp"; // comuta numele, citește becurile const String serverIP = "192.168.1.111"; // server IP WEB intern bool lamp_on = false; bool can_toggle = false; int button_state; Server ESP8266WebServer(80); // server web HTTPClient http; // client web const int lamp = 2; // Controlați releul prin butonul GPIO2 const int = 0; // „Prindeți” comutatorul prin GPIO0 // funcția de ping la becul void handleRoot() ( server.send(200, „text/plain”, „Bună! Sunt „ + nume); ) // funcție pentru invalid solicită void handleNotFound ()( String mesaj = „nu găsit”; server.send(404, „text/plain”, mesaj); ) // Să fie lumină void turnOnLamp())( digitalWrite(lamp, LOW); lamp_on = true; ) // Să existe întuneric void turnOffLamp())( digitalWrite(lamp, HIGH); lamp_on = false; ) // Trimite evenimente manuale de pornire/oprire către server. void sendServer(stare bool)( http.begin("http://"+serverIP+"/iapi/setstate"); String post = "token="+self_token+"&state="+(state?"on":"off "); // Folosind simbolul, serverul va determina ce fel de dispozitiv este http.addHeader ("Content-Type", "application/x-www-form-urlencoded"); int httpCode = http.POST(post ); http.end (); // Schimbați starea lămpii void toggleLamp())( if(lamp_on == true) ( ​​​​turnOffLamp(); sendServer(false); ) else ( turnOnLamp(); sendServer (true); ) ) // Primește de la server comanda de activare void handleOn())( String token = server.arg("token"); if(serv_token != token) ( String message = "acces refuzat"; server. send(401, "text/plain", mesaj) turnOnLamp(); handleOff())( String token = server.arg("token"); if(serv_token != token) (String mesaj = "acces refuzat"; server.send(401, "text/plain", mesaj); return; ) turnOffLamp(); String message = "succes"; server.send(200, „text/plain”, mesaj); ) // Setați MAC-ul să dea același IP void initVariant() ( uint8_t mac = (0x00, 0xA3, 0xA0, 0x1C, 0x8C, 0x45); wifi_set_macaddr(STATION_IF, &mac); ) void setup(void)( pinMode(lamp) , OUTPUT ); pinMode(button, INPUT_PULLUP); .stare() ! = WL_CONNECTED) ( întârziere(500); ) // Atribuiți funcții serverului de cereri.on("/", handleRoot); server.on("/on", HTTP_POST, handleOn); server.on("/off", HTTP_POST, handleOff); server.onNotFound(handleNotFound); // Porniți serverul server.begin(); ) void loop(void)( server.handleClient(); // Verificați dacă comutatorul este apăsat button_state = digitalRead(button); if (button_state == HIGH && can_toggle) ( toggleLamp(); can_toggle = false; delay(500) ) else if(button_state == LOW)( can_toggle = true; ) )


Câteva note despre cod:
  • Este foarte important să declarați pinul GPIO0 ca pinMode (button, INPUT_PULLUP), deoarece În circuit nu folosim o rezistență pentru acest buton. Și ESP are propriile sale încorporate tocmai pentru aceste scopuri.
  • Atunci când prindeți starea unui buton, este indicat să setați o întârziere la citirea acestuia pentru a evita fals pozitive în momentul apăsării.

Programare server WEB

Aici poți să dai frâu liber imaginației și să folosești orice mijloace disponibile pentru a crea un serviciu care va procesa cererile trimise de comutator și va trimite cereri de pornire/dezactivare.

Am folosit Yii în acest scop. Am ales acest cadru din mai multe motive, aveam nevoie de autorizare (deoarece portalul este disponibil pe Internet) și de management de rol (pentru experimente viitoare), și pur și simplu îmi place. Și acum portalul meu de management arată astfel:

Pentru a controla un bec la îndemâna rețelei, serverul însuși pe ESP ar fi suficient. Dar doriți să aveți jurnale, logică și alte dispozitive în viitor, așa că este mai bine să utilizați un server separat pentru control.

Totul este despre portal, cred că nu are rost să scriu mai multe despre el, dar dacă aveți întrebări, vă voi răspunde cu plăcere în comentarii.

În loc de o concluzie

Vă mulțumesc dacă ați citit articolul până la sfârșit și poate ați găsit ceva util în el. Voi fi bucuros pentru sfaturi și critici. In general, inca mi se pare ca blocajul din circuit este adaptorul de 5V si ma voi bucura daca iti impartasesti experienta in rezolvarea unor astfel de probleme. În ceea ce privește ESP8266-01, până acum nu mi-a provocat nicio plângere cu excepția utilizării speciale a pinilor GPIO. Până acum a funcționat constant pentru a doua săptămână. Mult succes cu proiectele tale.

O zi bună, dragă cititor.

Un pic de versuri la început. Ideea unui întrerupător de lumină „inteligent” nu este deloc nouă și, probabil, acesta este primul lucru care le vine în minte celor care au început să se familiarizeze cu platforma Arduino și elementele IoT. Și nu fac excepție de la asta. După ce am experimentat cu elemente de circuit, motoare și LED-uri, vreau să fac ceva mai practic, care este solicitat în viața de zi cu zi și, cel mai important, va fi convenabil de utilizat și nu va rămâne o victimă a experimentelor de dragul confortului.

În acest articol vă voi spune cum am realizat un comutator care va funcționa ca un comutator obișnuit (adică unul care este de obicei montat pe perete) și în același timp vă permite să îl controlați prin WiFi (sau prin Internet, asa cum se face in acest caz).

Deci, haideți să facem o listă cu ceea ce aveți nevoie pentru a vă implementa planul. Voi spune imediat că am intenționat să nu cheltuiesc foarte mult pe componente și am ales componentele pe baza recenziilor de pe forumuri și a raportului preț-calitate. Prin urmare, unele componente pot părea nepotrivite aici pentru pasionații de electricitate cu experiență, dar vă rugăm să nu judecați prea aspru, deoarece Sunt doar un incepator in electromecanica si as aprecia foarte mult comentariile de la oameni mai experimentati.

Mai aveam nevoie de: un server cu care comutatorul va fi controlat prin internet, un Arduino Uno cu care am programat ESP-ul, un router si consumabile precum fire, terminale etc., toate acestea pot varia in functie de gusturi si nu vor. afectează rezultatul final.

Preturile sunt luate de pe Ebay, de unde le-am cumparat.

Și iată cum arată elementele din tabel:

Acum puteți crea o diagramă de conexiune:

După cum probabil ați observat, schema este foarte simplă. Totul se asambleaza usor, rapid si fara lipire. Un fel de prototip funcțional cu care nu trebuie să-l mânuiești mult timp. Totul este conectat cu fire și terminale. Singurul negativ este că releul nu a intrat în priza comutatorului. Da, inițial am plănuit să împing totul în peretele din spatele comutatorului pentru a-l face să arate plăcut din punct de vedere estetic. Dar, spre regretul meu, nu era suficient spațiu în priză și releul pur și simplu nu se potrivea nici pe lungime, nici transversal:

Prin urmare, am mutat temporar releul în spatele prizei până când am găsit o cutie de comutare potrivită cu o priză pentru a ascunde fierul de călcat în interior. Dar nu există nimic mai permanent decât temporar, nu-i așa? Deci totul arată așa acum:

Banda electrică te va scuti de electrocutare... sper.

Acum să vorbim despre partea software.

Și înainte de a începe să analizăm codul și detaliile, voi oferi o schemă generală pentru implementarea controlului unui bec.

Sper că într-o zi voi rescrie totul și conexiunea se va baza pe un protocol mai rapid decât HTTP, dar pentru început va merge. De la distanță, becul își schimbă starea în aproximativ 1-1,5 secunde, iar de la comutator instantaneu, așa cum se cuvine unui întrerupător decent.

Programare ESP8266-01

Cel mai simplu mod de a face acest lucru este cu Arduino. Puteți descărca bibliotecile necesare pentru Arduino IDE din GitHub. Toate instrucțiunile de instalare și configurare sunt acolo.

În continuare trebuie să conectăm ESP la computer, pentru aceasta veți avea nevoie fie de un adaptor USB la serial (cum ar fi FTDi , CH340 , FT232RL) sau orice platformă Arduino (am avut un Arduino Uno) cu ieșiri RX și TX.

Este de remarcat faptul că ESP8266-01 este alimentat de 3,3 volți, ceea ce înseamnă că nu ar trebui să-l conectați niciodată la un Arduino, care este (deseori) alimentat de 5 volți, altfel va arde la naiba. Puteți utiliza un reductor de tensiune, care este prezentat în tabelul de mai sus.

Schema de conectare este simplă: conectăm TX, RX și GND ale ESP la RX, TX și respectiv GND ale adaptorului/Arduino. După aceasta, conexiunea în sine este gata de utilizare. Microcontrolerul poate fi programat folosind Arduino IDE.

Câteva nuanțe atunci când utilizați Arduino Uno:

  • Uno are o ieșire de 3,3 V, dar nu a fost suficient. Când conectați un ESP la el, totul pare să funcționeze, indicatoarele sunt aprinse, dar comunicarea cu portul COM este pierdută. Așa că am folosit o altă sursă de alimentare de 3,3 V pentru ESP.
  • În plus, UNO nu a avut probleme de comunicare cu ESP, dat fiind că UNO era alimentat de 5V, iar ESP de 3V.
După mai multe experimente cu ESP8266-01, s-a dovedit că ESP este sensibil la tensiunile conectate la GPIO0 și GPIO2. În momentul pornirii, acestea nu ar trebui în niciun caz împământate dacă intenționați să-l porniți în modul normal. Mai multe detalii despre pornirea unui microcontroler. Nu știam asta și a trebuit să schimb puțin schema, pentru că... în versiunea ESP-01 sunt prezenți doar acești 2 pini și în circuitul meu sunt folosiți ambii.

Și iată programul pentru ESP însuși:

Afișați codul

#include #include #include #include #include extern "C" ( // această parte este necesară pentru a accesa funcția initVariant #include "user_interface.h" ) const char* ssid = "WIFISSID"; // WiFi name const char* password = "***************"; // Parola WiFi const String self_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // token pentru securitatea minimă a comunicațiilor const String serv_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"; // simbol pentru securitatea minimă a comunicațiilor const String name = "IOT_lamp"; // comuta numele, citește becurile const String serverIP = "192.168.1.111"; // server IP WEB intern bool lamp_on = false; bool can_toggle = false; int button_state; Server ESP8266WebServer(80); // server web HTTPClient http; // client web const int lamp = 2; // Controlați releul prin butonul GPIO2 const int = 0; // „Prindeți” comutatorul prin GPIO0 // funcția de ping la becul void handleRoot() ( server.send(200, „text/plain”, „Bună! Sunt „ + nume); ) // funcție pentru invalid solicită void handleNotFound ()( String mesaj = „nu găsit”; server.send(404, „text/plain”, mesaj); ) // Să fie lumină void turnOnLamp())( digitalWrite(lamp, LOW); lamp_on = true; ) // Să existe întuneric void turnOffLamp())( digitalWrite(lamp, HIGH); lamp_on = false; ) // Trimite evenimente manuale de pornire/oprire către server. void sendServer(stare bool)( http.begin("http://"+serverIP+"/iapi/setstate"); String post = "token="+self_token+"&state="+(state?"on":"off "); // Folosind simbolul, serverul va determina ce fel de dispozitiv este http.addHeader ("Content-Type", "application/x-www-form-urlencoded"); int httpCode = http.POST(post ); http.end (); // Schimbați starea lămpii void toggleLamp())( if(lamp_on == true) ( ​​​​turnOffLamp(); sendServer(false); ) else ( turnOnLamp(); sendServer (true); ) ) // Primește de la server comanda de activare void handleOn())( String token = server.arg("token"); if(serv_token != token) ( String message = "acces refuzat"; server. send(401, "text/plain", mesaj) turnOnLamp(); handleOff())( String token = server.arg("token"); if(serv_token != token) (String mesaj = "acces refuzat"; server.send(401, "text/plain", mesaj); return; ) turnOffLamp(); String message = "succes"; server.send(200, „text/plain”, mesaj); ) // Setați MAC-ul să dea același IP void initVariant() ( uint8_t mac = (0x00, 0xA3, 0xA0, 0x1C, 0x8C, 0x45); wifi_set_macaddr(STATION_IF, &mac); ) void setup(void)( pinMode(lamp) , OUTPUT ); pinMode(button, INPUT_PULLUP); .stare() ! = WL_CONNECTED) ( întârziere(500); ) // Atribuiți funcții serverului de cereri.on("/", handleRoot); server.on("/on", HTTP_POST, handleOn); server.on("/off", HTTP_POST, handleOff); server.onNotFound(handleNotFound); // Porniți serverul server.begin(); ) void loop(void)( server.handleClient(); // Verificați dacă comutatorul este apăsat button_state = digitalRead(button); if (button_state == HIGH && can_toggle) ( toggleLamp(); can_toggle = false; delay(500) ) else if(button_state == LOW)( can_toggle = true; ) )


Câteva note despre cod:
  • Este foarte important să declarați pinul GPIO0 ca pinMode (button, INPUT_PULLUP), deoarece În circuit nu folosim o rezistență pentru acest buton. Și ESP are propriile sale încorporate tocmai pentru aceste scopuri.
  • Atunci când prindeți starea unui buton, este indicat să setați o întârziere la citirea acestuia pentru a evita fals pozitive în momentul apăsării.

Programare server WEB

Aici poți să dai frâu liber imaginației și să folosești orice mijloace disponibile pentru a crea un serviciu care va procesa cererile trimise de comutator și va trimite cereri de pornire/dezactivare.

Am folosit Yii în acest scop. Am ales acest cadru din mai multe motive, aveam nevoie de autorizare (deoarece portalul este disponibil pe Internet) și de management de rol (pentru experimente viitoare), și pur și simplu îmi place. Și acum portalul meu de management arată astfel:

Pentru a controla un bec la îndemâna rețelei, serverul însuși pe ESP ar fi suficient. Dar doriți să aveți jurnale, logică și alte dispozitive în viitor, așa că este mai bine să utilizați un server separat pentru control.

Totul este despre portal, cred că nu are rost să scriu mai multe despre el, dar dacă aveți întrebări, vă voi răspunde cu plăcere în comentarii.

În loc de o concluzie

Vă mulțumesc dacă ați citit articolul până la sfârșit și poate ați găsit ceva util în el. Voi fi bucuros pentru sfaturi și critici. In general, inca mi se pare ca blocajul din circuit este adaptorul de 5V si ma voi bucura daca iti impartasesti experienta in rezolvarea unor astfel de probleme. În ceea ce privește ESP8266-01, până acum nu mi-a provocat nicio plângere cu excepția utilizării speciale a pinilor GPIO. Până acum a funcționat constant pentru a doua săptămână. Mult succes cu proiectele tale.

Un comutator inteligent este indispensabil pentru persoanele cu dizabilități, inclusiv pentru persoanele în vârstă. Va fi util și pentru cei care își amintesc adesea că luminile nu sunt stinse la ieșirea din casă.

Principiul de funcționare a unui comutator controlat de un smartphone

Dispozitivul este format din două blocuri - un receptor și un transmițător. Funcția de receptor este realizată de un controler (comutator) echipat cu un adaptor Wi-Fi. Pe baza unui semnal radio, închide sau deschide contactele cablurilor de alimentare.

Rolul emițătorului poate fi îndeplinit de:

  • Întrerupător de lumină Wi-Fi amplasat pe perete;
  • breloc special;
  • router (primește semnale prin Internet).

Avantajele unui comutator wireless:

  • nu este nevoie de pozarea cablurilor;
  • controlați toate corpurile de iluminat de la un singur computer sau telefon;
  • pornirea/stingerea automată a luminii la o oră stabilită conform unui program dat;
  • disponibilitatea feedback-ului.

Comutatorul tactil este ușor de utilizat, iar în cazul deteriorării mecanice a carcasei, este complet sigur pentru oameni. Din cauza absenței cablurilor de alimentare conectate la acesta, șocul electric este exclus.

Raza de acțiune a dispozitivului este de la 30 la 160 de metri. Acest indicator depinde de grosimea pereților. Echipamentul funcționează fiabil cu toate tipurile de lămpi: cu incandescență, LED, cu economie de energie.

Comandați întrerupătoare moderne de lumină Wi-Fi „inteligente” și faceți-vă casa mai confortabilă.

De mult îmi doream să automatizez procesul de uscare a băii după baie. Am avut multe recenzii pe tema umidității. Apropo, iarna ne usucăm hainele în baie. Dar nu m-am hotărât încă ce anume să implementez. Voi descrie un alt miracol chinezesc pentru combaterea acestui rău.

Vara uscăm hainele pe balcon, iarna - în baie, doar porniți ventilatorul de evacuare. Dar monitorizarea ventilatorului nu este întotdeauna convenabilă. Așa că am decis să instalez automatizarea în această chestiune. Prima experiență de implementare a fost nereușită. A fost o recenzie. Dar nu am renunțat... A doua experiență a fost mai reușită, am făcut și un review. Dar nu am reușit să o pun în practică. Călătoriile frecvente de afaceri necesită mult timp.
Dar nu mă așteptam deloc la un asemenea cadou. Am văzut o scrisoare într-un mesaj personal cu o ofertă de a revizui un produs de la Itead Studio. Este o prostie să refuzi un produs pentru recenzie dacă este interesant (darămite necesar) tu însuți. Imediat după, m-am uitat prin Muska. Am găsit cel puțin trei recenzii despre produsele Sonoff. Nu sunt primul: (îmi pot imagina câte voturi vor fi în comentariile despre cookie-ul gratuit. Dar scuipatul în spate este lotul celor slabi și învinși. Prin urmare, această recenzie este pentru cei care se consideră capabili .
Iată cum arată căruciorul cu selecția mea:


Dar am făcut o mică greșeală, nu am acordat atenție textului din imagine (pe fundal roșu). Comutatorul a venit fără telecomandă: (Aceasta este o opțiune suplimentară, trebuie achiziționată separat
Comanda a venit într-o cutie mică.


Modulul TH16 era fără ambalaj.

Restul este în cutii. Dar nu au existat instrucțiuni. Atât am comandat.
Sunt o persoană destul de leneșă. Singurul lucru care mă poate face să fac ceva este o obligație față de cineva. Ei spun că lenea este motorul progresului. Conducerea mea este o promisiune făcută cuiva. Astfel, am ucis două păsări dintr-o singură piatră: am scris o recenzie și mi-am dat seama de aceste întrerupătoare/întrerupătoare magice.
Permiteți-mi să vă reamintesc puțin din povestea mea.
Când m-am mutat într-un apartament nou, am instalat aproape imediat un ventilator cu supapă de reținere în hotă. Este necesar un ventilator pentru a usca baia după baie. Este necesară o supapă de reținere pentru a preveni intrarea mirosurilor străine de la vecini în apartament (când ventilatorul este silențios). S-a întâmplat. Toate conductele de ventilație sunt individuale, dar se pare că au economisit ciment la așezare. Probabil că mirosul trece prin crăpături.
Am diferite opțiuni pentru fani. Sunt unele simple, unele cu cronometru (reglare interval de timp), ca în fotografie.


Este exact ceea ce am folosit până în ziua de azi.
Din moment ce locuiesc într-un apartament „furnicar”, singurul loc pentru uscarea rufelor este balconul. S-ar putea să se întunece în baie. Uscarea necesită fie umiditate scăzută, fie circulație a aerului. Îndeplinirea ambelor condiții este cea mai bună opțiune. Un ventilator ar fi trebuit să rezolve această problemă. La început tocmai asta am făcut. Principalul lucru este să nu uitați să îl opriți. În timp ce ventilatorul funcționează, fereastra trebuie deschisă ușor. Nu trebuie să-mi amintești de problema școlii cu o piscină și două țevi? Pentru ca aerul să iasă în hotă, acesta trebuie să intre în apartament de undeva. Cei care au ferestre din lemn și nu plastic nu vor avea probleme. Destul de fisuri. Dar cu cele din plastic, apartamentul se transformă într-un terariu.
Atunci am început să mă gândesc la automatizarea procesului...
Am împărtășit deja experiența mea tristă de implementare a ideii mele. Acesta este modulul. Nu poate funcționa ÎN PRINCIPIUL.


Am desenat și o diagramă a modulului.


Circuitul se bazează pe un comparator bazat pe LM393. Din punct de vedere al aspectului, totul ar trebui să funcționeze. Dar există un lucru. Senzorul este neobișnuit. Își schimbă rezistența în funcție de frecvență. Pentru a efectua citiri, trebuie să îi aplicați o frecvență (valoare standard 1 kHz). Aceasta este atâta tristețe.
Pe unul dintre site-uri au existat trei comentarii de la un utilizator despre asta:

Ciudat, acesta este un senzor standard de la perifericele Arduino - ar trebui să funcționeze.
Nu este nimic de verificat încă - nu sunt deosebit de interesat de umiditate, pentru că nu am încă un astfel de senzor. :)
Îl voi comanda când se va ivi ocazia și voi raporta...
...Nu am un singur modul Arduino care să nu funcționeze.
Îl voi cumpăra pentru testare, poate îmi fac o stație meteo...
...crezi că ar face asta dacă nu ar lucra?
A trecut un an...
Aparent, abia aștept.
Trec la pachet.
Pagina magazinului cu modulul TH arată astfel:

Pe el puteți selecta module Sonoff TH în funcție de curentul releului, precum și module de umiditate și temperatură. Puteți vedea exact ce am ales. Nu am găsit modulul de umiditate într-o vânzare separată pe pagina magazinului (poate că nu arătam bine). Prin urmare, atunci când comandați, aveți grijă...


Nici nu au existat instrucțiuni (am scris deja).
Magazinul are o pagină wiki de ajutor:

Totul este acolo, chiar și diagrama:

Mic ca dimensiune.


Cântărit, 79 g.


incep sa analizez.
Firele de rețea de 220 V sunt conectate aici.


Contactoarele sunt încărcate cu arc și foarte strânse. Dar, pentru mine, este mai fiabil cu un șurub.
Carcasa este ținută prin zăvoare.


Totul este în minte. Nu am comentarii.
S-au deșurubat 4 șuruburi.


Nodul Wi-Fi este construit pe ESP8266 (cine s-ar îndoi). Pentru ași există un întreg domeniu de activitate. Principalul lucru este că capul funcționează. Restul a fost deja făcut. Nu este nevoie să izolați o sursă de alimentare separată pentru modul și nici nu este nevoie să căutați o cutie. Totul este asamblat și funcționează.




Tabla a fost spălată. Nu există urme de flux. La intrare există o siguranță și un varistor 10D471K împotriva supratensiunii (interpretare - diametru 10 mm, tensiune 470 Volți).

Nu am mai văzut asta de multă vreme. Am pus totul înapoi la starea inițială.
Mă întorc la modulul de umiditate. Acesta a venit într-o cutie. Puteți citi ce este scris pe el (pe cutie). Fotografiile vă permit să faceți acest lucru.

Modulul este neobișnuit de mare.

Se conectează printr-un conector similar căștilor.


Se dovedește așa.


Tot ce este de bază este scris pe carcasă.


Magazinul are o pagină de ajutor wiki (a scris deja):
- Modul de temperatura si umiditate
Manual de produs AM2301
Există, de asemenea, un manual pentru senzorul de temperatură:
- DS18B20 - Termometru digital 1-Wire® cu rezoluție programabilă
Nu l-am comandat. Nu sunt interesat de el. În plus, AM2301 este mai versatil. Are atât senzor de temperatură, cât și senzor de umiditate. Mai mult, carcasa TH10/16 are o singură gaură pentru modulul de la distanță.
Demontez AM2301. Carcasă cu patru zăvoare.


Pe o parte a modulului se află un senzor de temperatură, umiditate și cuarț.


Diagrama principală este pe verso.

De asemenea, construiesc acest modul.
Și, în sfârșit, comutatorul inteligent Sonoff RF.



De asemenea, fără instrucțiuni. Chiar și mai mică ca dimensiune decât Sonoff TH.


Cântărit: 49 g.



Nu mă interesează în mod deosebit. Dar îți voi arăta ce este înăuntru.

Carcasa este, de asemenea, blocată. Puteți vedea secvența de analiză.
Contactoare cu șurub. Pentru mine este foarte convenabil.


La intrare există un varistor 10D471K împotriva supratensiunii (interpretare - diametru 10 mm, tensiune 470 Volți), ca în modulul VT.


Unitate de alimentare cu izolație galvanică de rețea. Au făcut chiar tăieturi în tablă.
Tabla a fost spălată. Nu există urme de flux.


Totul este în minte. Și nu am comentarii aici.
Și aici nodul WiFi este construit pe ESP8266.


Modul radio sub forma unei plăci separate.


Am pus totul înapoi la starea inițială.
Este timpul să trecem la treabă.
Elaborez un plan de antrenament. Conectez modulul Sonoff TH la rețea. Legătura nu este evidentă pentru toată lumea. Prin urmare, uitați-vă la imaginea de pe pagina magazinului.

Puține dispozitive funcționează conform acestei scheme. Prin urmare, am pus o cruce roșie pe firele „în plus”.
Atârn un ventilator la ieșire.
Este mult mai ușor cu Sonoff RF. Conectez un bec obișnuit la ieșire pentru control.


Tot ce rămâne este să conectezi totul cu smartphone-ul.
Comutatoarele inteligente acceptă controlul de la distanță prin Wi-Fi, dar numai prin cloud :(
Este timpul să le conectați la aplicația de control eWeLink. Pentru a face acest lucru, trebuie mai întâi să îl descărcați :) Instalați, înregistrați...
Contul a fost creat.
Mai întâi conectez Sonoff TH. Lansez aplicația și urmez instrucțiunile.
Pentru a adăuga un dispozitiv, faceți clic pe semnul plus. Apoi, apăsați micul buton alb și țineți-l apăsat timp de aproximativ 5 secunde. LED-ul albastru ar trebui să clipească continuu. Exact uniform! S-ar putea să „intre în transă” :) și să înceapă să dea semnale ciudate. În acest caz, apăsați și mențineți apăsat din nou.


Aplicația vă solicită să introduceți parola Wi-Fi. Apoi caută dispozitive.
Va trebui să introduceți un nume pentru noul dispozitiv.
Vedeți fotografia pentru secvența de imagini (de la stânga la dreapta, de sus în jos).


Comutatorul este „conectat” la contul meu.
La fel și cu Sonoff RF. După conectare, imaginea de pe smartphone arată astfel. Puteți porni și opri încărcătura apăsând butoanele. Trei imagini: oprit, pornit și neconectat la 220V (offline)


Pentru a porni comutatorul, trebuie să apăsați un buton de pe telecomanda virtuală de oriunde din lume unde există Internet și Wi-Fi.
Când este conectat la o rețea de 220 V, LED-ul albastru de pe modul se aprinde. Când încărcătura este pornită, LED-ul roșu se aprinde suplimentar.


Dar acesta este tot modul manual. Pentru a intra în modul automat și a intra în setarea parametrilor pentru pornirea și oprirea comutatorului, trebuie să mutați maneta (Auto-Manual) în poziția automată.


Si in setari am pus ce imi trebuie.
Lasă-mă să explic pozele. Acum există 55% umiditate și temperatura este de 18˚C (modul de la distanță pe pervaz). Comutatorul este oprit. În acest caz, temperatura și umiditatea sunt monitorizate online, indiferent de modul în care se află comutatorul (manual sau automat).
Lasă-mă să explic ce am întrebat.
Când umiditatea atinge 65% comutatorul se va porni (ventilatorul). Când umiditatea atinge 60%, se va opri. Puteți face opusul (pentru un umidificator).


Acest lucru este pentru cei care au umiditate foarte scăzută iarna.
Când umiditatea atinge 30%, comutatorul se va porni (modul umidificator). Când umiditatea atinge 40%, se va opri.
Toate setările sunt în conformitate cu GOST 30494-96 „Clădiri rezidențiale și publice”.


Acordați atenție umidității optime în timpul iernii. Acest lucru nu este 60% așa cum cred mulți oameni! 60% este doar acceptabil, nu poți merge mai sus, trebuie să lupți. OPTIMĂ 30-45%
Puteți controla comutatorul folosind un temporizator. Există două opțiuni.


Declanșarea temperaturii poate fi configurată. Toate setările sunt identice cu setările pentru umiditate, selectați doar temperatura.

Câteva despre comutatorul inteligent Sonoff RF.
Se deosebește de Sonoff TH prin faptul că are un modul radio (poate fi controlat folosind o telecomandă, pe care nu o am). De asemenea, nu are capacitatea de a lucra cu un senzor de umiditate și temperatură. Restul este același: control prin Wi-Fi cu posibilitatea de a seta un cronometru.
Telecomanda virtuală este puțin diferită.


În modul automat există și două tipuri de cronometre (cum ar fi TN).


Repet. Nu mă interesează în mod deosebit, dar cu siguranță îi voi găsi o utilizare.
Voi nota nuanțele funcționării acestor comutatoare. Fără internet nu veți obține niciun control.
DAR există un mare plus. Modul automat configurat pe comutatoare va continua să funcționeze indiferent de Internet!

Când instalați aplicația pe mai multe telefoane, o puteți controla de pe toate, dar numai dacă vă conectați la eWeLink pe fiecare dintre ele folosind același nume de utilizator și parolă.
La final voi rezuma pe scurt.
Comutatoarele inteligente acceptă controlul de la distanță prin Wi-Fi, dar numai prin cloud: (trebuie să fie conectate la aplicația de control eWeLink. Ce se întâmplă dacă un unchi bun Liao vrea să-ți controleze casa inteligentă? Pentru cei care nu au încredere în el, va trebui să vă creați propriul server MQTT și să porniți/opriți încărcarea conform dorințelor și regulilor dvs. Pentru cei care au abilități de programare, acest lucru nu este dificil pentru cei care sunt calmi cu această problemă, doar conectați-vă și utilizați de exemplu, un ventilator în baie.
Asta e tot.
Aceste module sunt ideale pentru a lucra cu un ventilator, aer condiționat și umidificator. Puteți organiza un sistem inteligent de udare la casa dvs. Chiar și un cazan pe gaz poate fi controlat de timp și de o anumită temperatură a camerei.
Fiecare decide singur cum să folosească corect informațiile din recenzia mea. Dacă ceva nu este clar, pune întrebări. Sper ca a ajutat macar pe cineva. Poate cineva va dori să mă ajute. Voi fi foarte recunoscător.

Noroc tuturor!
Test funcțional și eviscerare:

Produsul a fost furnizat pentru scrierea unei recenzii de către magazin. Revizuirea a fost publicată în conformitate cu clauza 18 din Regulile site-ului.

Plănuiesc să cumpăr +69 Adauga la favorite Mi-a placut recenzia +32 +69

Ți-a plăcut articolul? Împărtășește-l