Cuprins:

ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu: 9 pași (cu imagini)
ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu: 9 pași (cu imagini)

Video: ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu: 9 pași (cu imagini)

Video: ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu: 9 pași (cu imagini)
Video: home automation 2024, Noiembrie
Anonim
ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu
ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu
ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu
ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu
ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu
ESP8266-01 Timer inteligent IoT pentru automatizare la domiciliu

ACTUALIZĂRI

2018-09-30: Firmware actualizat la Ver 1.09. Acum cu Sonoff Basic Support

2018-10-01: versiunea de versiune 1.10 de firmware disponibilă pentru testare pe ESP8266-01 cu probleme

Având în vedere că noile cuvinte cheie sunt Internet Of Things (IoT) și Home Automation, am decis să mă uit la articolele actuale din și de acasă, care sunt controlate printr-un fel de dispozitiv. Elementele care s-au remarcat sunt următoarele:

  • Pompa pentru piscină
  • Umplere cu apă pentru piscină
  • Piscina și luminile din jur
  • Luminile dulapului TV / sistem de divertisment

Elementul obișnuit utilizat pentru a controla aceste dispozitive sunt temporizatoarele de priză standard. Fiecare dispozitiv este echipat cu propriul temporizator și sunt toate amplasate în locații diferite. Așadar, de ce am ales aceste articole pentru a începe cu proiecte Internet of Things sau Home Automation, s-ar putea să întrebați?

Ei bine, a trăi în Africa de Sud înseamnă că întreruperile de curent sunt o situație obișnuită. Cu statistici despre casa mea, am avut 35 de căderi de curent în ultimul an, totalizând 40 de ore. În mod normal, aceasta nu este o problemă, deoarece toate temporizatoarele instalate în prezent sunt echipate cu o baterie de rezervă pentru menținerea timpului în cazul întreruperilor de curent. Dar există câteva probleme:

  • Aceste baterii de rezervă durează doar un an sau doi, apoi temporizatorul trebuie înlocuit. Cronometrele sunt construite astfel încât temporizatorul trebuie distrus pentru a avea acces la bateria internă Ni-Cad.
  • De fiecare dată când alimentarea nu funcționează, cronometrele cu baterii defecte trebuie reprogramate și timpul stabilit.
  • Amplasarea fizică a temporizatorului, atunci când este conectată la priza de perete, face aproape imposibilă citirea afișajelor LCD care vizualizează temporizatorul din partea de sus. Aceasta înseamnă că temporizatorul trebuie deconectat sau trebuie să mă așez pe podea pentru a seta sau regla temporizatoarele după o întrerupere a curentului.

Din motivele de mai sus, am decis să testez posibilitatea de a înlocui temporizatoarele cu un temporizator inteligent IoT, conectat la rețeaua locală de acasă.

Ideea a fost de a proiecta un cronometru autonom, care poate:

  • Reglați automat ora curentă utilizând internetul (IoT)
  • Operat fără acțiuni ale utilizatorului (inteligent)
  • Activați / dezactivați o ieșire în funcție de orele setate (Timer)
  • Programabil și controlabil prin rețea (Home Automation)

Pasul 1: proiectarea ESP8266-01

Designul ESP8266-01
Designul ESP8266-01
Designul ESP8266-01
Designul ESP8266-01

Proiectarea a fost realizată folosind un modul WiFi ESP8266-01, deoarece asta aveam la dispoziție. În cea mai simplă formă, ESP8266-01 are patru pini I / O:

  • GPIO0
  • GPIO2
  • TX
  • RX

ESP8266-01 Moduri de pornire

Starea logică a pinilor I / O sunt utilizate pentru a determina în ce mod va porni ESP8266-01. Primul pas a fost de a determina care dintre pinii I / O pot fi utilizați pentru a conduce un releu de ieșire.

  • Pentru pornirea normală, GPIO0 și GPIO2 trebuie setate la logică HIGH. Astfel, este clar că acești doi pini nu pot fi folosiți ca ieșire digitală.
  • Pinul Tx este setat ca ieșire la pornire, iar ieșirea este ridicată. Acest pin Tx transmite, de asemenea, unele date seriale în timpul pornirii. Astfel, acest pin nu poate fi folosit nici ca ieșire.

Singurul pin rămas este pinul Rx. Acest pin este setat ca intrare la pornire și nu trebuie să fie tras în sus în timpul pornirii. Acest pin este astfel cel mai potrivit pentru a fi utilizat ca pin de ieșire.

Pornire

Pentru a asigura modul de pornire corect al ESP8266-01 în timpul pornirii, următorii pini sunt ridicați cu ajutorul rezistențelor de 10K:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Acest lucru asigură că unitatea pornește corect de fiecare dată.

Releu de ieșire

RX este singurul pin potrivit pentru a fi folosit ca ieșire. Acest pin este astfel utilizat pentru a acționa releul de ieșire printr-un tranzistor NPN. S-au adăugat diodele volantului standard și rezistențele de bază ale tranzistorului.

Buton MODE / SET

Butonul este conectat la GPIO2 și, cu butonul eliberat, un rezistor de 10K va ridica GPIO2. Cu butonul apăsat, GPIO2 este tras la 0V.

Acest buton este utilizat pentru două funcții:

  • Configurare inițială pentru conectarea unității la o rețea WiFi locală
  • Pentru a controla manual ieșirea în timpul operațiilor normale

Indicator LED

LED-ul este conectat la GPIO0 și indică următoarele:

  • La pornirea inițială, clipește FAST pentru a indica modul de configurare WiFi
  • Clipește lent când ora unității nu este setată
  • indică starea On / Off a releului de ieșire

Pasul 2: sursa de alimentare

Sursa de alimentare
Sursa de alimentare
Sursa de alimentare
Sursa de alimentare
Sursa de alimentare
Sursa de alimentare

Voi folosi Timerul inteligent IoT pe diferite niveluri de tensiune, prin urmare există două opțiuni de alimentare disponibile:

12 - 24V DC

Convertorul DC-DC utilizat este potrivit pentru consumabile de până la 28V DC. Ieșirea convertorului este reglabilă și este setată la 5V. Acest lucru trebuie făcut înainte ca modulul ESP8266 să fie conectat.

S-a adăugat o diodă pentru a proteja împotriva polarității inverse la intrarea de alimentare.

220V AC Pentru această opțiune, am putut obține o mică sursă de alimentare cu modul de comutare 220V / 5V pe eBay.

Indiferent de tensiunea de intrare, temporizatorul inteligent IoT are nevoie de două surse de alimentare:

Sina 5V

Cu ambele opțiuni, DC-ul de 5V este obținut de la o sursă de alimentare în modul comutat și nu de un regulator liniar. Aceasta înseamnă că există o căldură minimă generată de sursa de alimentare. 5V este folosit pentru acționarea releului de ieșire

Sina de 3.3V

3.3V pentru ESP8266-01 este obținut de la un regulator ASM1117 3.3. ASM1117 3.3 este un regulator liniar și poate rezista până la 500mA. Cu toate acestea, căldura generată va fi determinată de tensiunea de intrare la ASM1117. Pentru a reduce căldura, ASM1117 este alimentat de pe șina de 5V.

Filtrarea zgomotului

Pentru a reduce valul de tensiune la ESP8266-01, șina de 3,3V este prevăzută cu un condensator de 100 - 1000uf. Ambele șine de 5V și 3,3V sunt, de asemenea, protejate de interferențele de înaltă frecvență prin condensatori de 0,1uf.

Pasul 3: Asamblarea plăcii PC

Asamblarea plăcii PC
Asamblarea plăcii PC
Asamblarea plăcii PC
Asamblarea plăcii PC
Asamblarea plăcii PC
Asamblarea plăcii PC

Placa PC a fost proiectată folosind versiunea freeware a Eagle. Este o placă cu o singură față, care poate fi realizată cu ușurință acasă utilizând metoda de transfer a tonerului.

Odată realizată placa PC, asamblați placa PC în următoarea ordine:

  • Lipiți regulatorul ASM1117 și trei componente SMD de 0.1uf pe partea de lipit a plăcii
  • Adăugați jumperul unic pe partea componentă a plăcii
  • Lipiți rezistențele și diodele la locul lor
  • Adăugați antetele pentru modulul ESP8266-01
  • Adăugați pinii antetului pentru LED și buton
  • Adăugați bornele cu șurub
  • Folosind pinii antetului, conectați convertorul DC / DC la placă.
  • Lipiți releul în poziție
  • Completați placa lipind tranzistorul și condensatorul de 100uf.

Odată ce toate componentele sunt lipite pe placa, verificați toate punctele de lipit și asigurați-vă că nu există scurtcircuite între plăcuțe.

! ! ! NOTĂ IMPORTANTĂ ! ! ! Pentru a vă asigura că placa PC poate gestiona curenți mari pe contactele de ieșire, aplicați o cantitate decentă de lipit pe pistele dintre contactele releului și bornele cu șurub

Pasul 4: Testarea plăcii PC

Testarea plăcii PC
Testarea plăcii PC

! ! ! Înainte de a aplica puterea! ! !

Scoateți modulul ESP8266-01 din unitate. Acest lucru este pentru a preveni supraîncălzirea regulatorului ASM1117 înainte ca sursa de 5V să fie ajustată.

Nu există o mulțime de teste care pot fi făcute după asamblare. Cel mai important pas este asigurarea nivelurilor corecte de tensiune.

  • Aplicați 12 - 24V DC la unitate.
  • Măsurați tensiunea de ieșire a convertorului DC / DC
  • Reglați ieșirea convertorului între 5,0 și 5,5 V.
  • Apoi, măsurați alimentarea de 3,3V.
  • Dacă consumabilele sunt în regulă, scoateți curentul din unitate

Acum puteți introduce modulul ESP8266-01 în antetele furnizate.

! ! ! Notă !

După ce ați testat temporizatorul IoT și funcționează, utilizați lac transparent pentru a acoperi partea de lipit a plăcii PC. Acest lucru va preveni oxidarea pistelor și va oferi o izolație suplimentară între contactele releului și restul circuitului

Pasul 5: incinta

Incinta
Incinta
Incinta
Incinta
Incinta
Incinta

Carcasa nu este atât de importantă, atâta timp cât placa PC-ului și toate cablurile se încadrează perfect în ea.

Pentru a ușura construcția, am făcut un cablu cu LED-ul și butonul MODE / SETUP conectat la acesta. Acest lucru mi-a oferit mai multă flexibilitate în montarea LED-ului și a butonului pe carcasă. Acest cablu este apoi conectat la antetul de pe placa PC.

Fotografiile prezintă una dintre unitățile de 12V utilizate pentru luminile LED.

Pasul 6: Programarea ESP8266-01 / NodeMCU

Programarea ESP8266-01 / NodeMCU
Programarea ESP8266-01 / NodeMCU
Programarea ESP8266-01 / NodeMCU
Programarea ESP8266-01 / NodeMCU
Programarea ESP8266-01 / NodeMCU
Programarea ESP8266-01 / NodeMCU

Pentru a programa ESP8266-01, trebuie mai întâi să configurați Arduino IDE. Nu intru în aceste detalii, deoarece există o mulțime de instrumente excelente disponibile pe acest subiect. Am ales următoarele linkuri pe Instructables pentru referință, fără nicio comandă specifică autorilor. Vă mulțumim pentru instructabilele lor individuale.

Urmați acest ESP8266 și Arduino IDE pentru a configura Arduino IDE pentru modulul ESP8266..

Apoi, veți avea nevoie de un programator pentru a programa ESP8266. Iată două linkuri:

Folosind Arduino Uno

Placă de programare DIY

Biblioteci

Va trebui să instalați biblioteci suplimentare pentru a putea compila codul. Din nou, consultați acest instructabil:

Instalați și utilizați bibliotecile Arduino

Nu-mi amintesc ce biblioteci am avut de instalat, dar știu că WiFiManager trebuie descărcat separat.. I le-am inclus în fișierul Libraries.zip.

Pasul 7: Prima configurare

Prima configurare
Prima configurare
Prima configurare
Prima configurare
Prima configurare
Prima configurare

Când este utilizat pentru prima dată, temporizatorul inteligent IoT trebuie să fie conectat la o rețea WiFi. Această sarcină se realizează utilizând biblioteca WiFiManager, deci nu trebuie introdus niciun SSID sau parolă în cod.

Urmați acești câțiva pași:

  • Porniți unitatea
  • LED-ul va începe să clipească rapid
  • Apăsați butonul MODE / SETUP
  • Când ledul se stinge, eliberați butonul
  • Așteptați câteva secunde, apoi deschideți conexiunile WiFi ale smartphone-ului sau dispozitivului
  • Un nou cuvânt de rețea WiFi numit IoT Timer va fi vizibil
  • Selectați acest punct de acces
  • Conectați-vă la temporizatorul IoT (nu este necesară o parolă)
  • Așteptați până când dispozitivul dvs. este conectat la rețeaua Timer IoT
  • Deschideți orice browser de internet
  • În bara de adrese, tastați următoarea adresă IP - 192.168.4.1
  • Se va deschide consola WiFiManager
  • Selectați Configurare WiFi
  • Va fi afișată o listă cu punctele de rețele WiFi disponibile
  • Selectați rețeaua WiFi necesară și introduceți parola
  • Apoi, introduceți adresa IP pe care doriți să o utilizați pentru a vă conecta la temporizatorul IoT
  • Introduceți adresa IP implicită a gateway-ului, urmată de mască
  • Odată ce toate setările sunt făcute, faceți clic pe butonul Salvare
  • Se va deschide o nouă fereastră pentru a confirma că noile acreditări au fost salvate
  • Închideți browserul

Odată salvat, rețeaua IoT Timer se va opri și unitatea va încerca să se conecteze la rețeaua WiFi.

  • Conectați-vă Smartphone-ul sau dispozitivul la aceeași rețea WiFi folosită pentru temporizatorul IoT.
  • Deschideți browserul
  • În bara de adrese, tastați adresa IP a temporizatorului IoT
  • Se va deschide pagina de configurare a temporizatorului IoT

Temporizatorul dvs. IoT este acum gata de utilizare

Pasul 8: Configurarea temporizatorului IoT

Configurarea temporizatorului IoT
Configurarea temporizatorului IoT
Configurarea temporizatorului IoT
Configurarea temporizatorului IoT
Configurarea temporizatorului IoT
Configurarea temporizatorului IoT
Configurarea temporizatorului IoT
Configurarea temporizatorului IoT

Pagina web integrată a temporizatorului IoT constă din cinci secțiuni:

stare

Aceasta arată numele dispozitivului, precum și ora curentă și starea de ieșire a temporizatorului

În plus, modul de funcționare al temporizatorului este setat în această secțiune. Există trei moduri:

  • Ieșirea automată va fi controlată de diferite programe cu temporizator
  • Pornit - Ieșirea este forțată PORNIT și va rămâne pornită până când se va schimba modul
  • Oprit - Ieșirea este oprită forțat și va rămâne oprită până când se schimbă modul.

Programe

Această secțiune conține orele de pornire și oprire ale temporizatorului. Există șapte programe disponibile și fiecare program poate fi setat individual.

Înainte de a schimba următorul program, apăsați butonul SAVE pentru a salva orice modificări aduse programului curent.

Funcția Buton

Butonul MODE / SETUP poate fi utilizat pentru a controla releul de ieșire în timpul funcționării normale. Aici, selectați ce trebuie să facă butonul atunci când este apăsat.

Bifați caseta „Actualizare funcție buton” înainte de a apăsa butonul Salvare pentru a salva noile setări.

Configurare

Aici puteți schimba numele temporizatorului IoT. Acest lucru face ușoară identificarea între mai multe temporizatoare.

Timpul pe unitate este obținut de pe internet printr-un server de timp NTP. Pentru a afișa ora corectă, vă rugăm să actualizați fusul orar în regiunea dvs.

Dacă doriți să utilizați un alt server de timp NTP, introduceți noua adresă IP în spațiul furnizat.

Bifați caseta „Actualizați configurația” înainte de a apăsa butonul Salvare pentru a salva noile setări.

NOTĂ

La schimbarea fusului orar, noua oră va fi setată corect numai în următoarea interogare. Unitatea este setată să actualizeze timpul la fiecare 5 minute.

Ajustare timp

Uneori, se întâmplă ca serverul de timp NTP să nu răspundă la fiecare interogare. Dacă durează prea mult timp pentru a fi setat prin serverul NTP, puteți introduce manual ora și data.

Bifați caseta „Actualizare timp” înainte de a apăsa butonul Salvare pentru a salva noua oră și dată.

Sincronizarea timpului

Ultima parte a paginii indică ora și data la care ultima oră a fost sincronizată prin serverul de timp NTP.

Recomandat: