Cuprins:

Controler de rețea IoT. Partea 9: IoT, Home Automation: 10 pași (cu imagini)
Controler de rețea IoT. Partea 9: IoT, Home Automation: 10 pași (cu imagini)

Video: Controler de rețea IoT. Partea 9: IoT, Home Automation: 10 pași (cu imagini)

Video: Controler de rețea IoT. Partea 9: IoT, Home Automation: 10 pași (cu imagini)
Video: DOCUMENTAR RECORDER. 30 de ani de democrație 2024, Iulie
Anonim
Controler de rețea IoT. Partea 9: IoT, Home Automation
Controler de rețea IoT. Partea 9: IoT, Home Automation

Declinare de responsabilitate

CITIȚI ACEST PRIM

Acest instructabil detaliază un proiect care folosește rețeaua de alimentare (în acest caz, Regatul Unit 240VAC RMS), în timp ce s-a acordat o atenție deosebită utilizării practicii sigure și a principiilor bune de proiectare, există întotdeauna riscul de electrocutare potențial letală atunci când se lucrează cu aceste tensiuni de alimentare și pentru pe care autorul nu își poate asuma nicio răspundere dacă se produc vătămări corporale sau daune materiale atunci când se urmărește conținutul acesteia. În consecință, faceți acest proiect pe propriul risc.

Preambul

Acest articol, al nouălea dintr-o serie despre automatizarea casei, documentează cum să creați și să integrați un controler de rețea Sonoff 10A IoT într-un sistem de automatizare acasă existent, incluzând toate funcționalitățile software necesare pentru a permite desfășurarea cu succes într-un mediu intern.

Introducere

Așa cum s-a menționat mai sus, acest instructabil detalii despre realizarea și integrarea unui controler de rețea IoT utilizând Sonoff 10A de la iTead. Dispozitivul în sine este cotat ca fiind evaluat pentru 10amp @ 90 ~ 250VAC, cu toate acestea această implementare îl decalifică la cel de 5amps prin mufa fuzionată care furnizează sursa principală internă din Regatul Unit de 240VAC RMS.

Metodologia de proiectare se integrează perfect în rețeaua IoT bazată pe MQTT / OpenHAB, detaliată în această serie despre construirea de sisteme de automatizare a locuinței pe cod reutilizat preluat de aici. De asemenea, poate gestiona pierderea oricărui element de rețea IoT și este pe deplin capabil să fie operat independent. În modul autonom, controlul dispozitivului se realizează prin simpla apăsare a butonului de control din partea superioară a carcasei, care comută ieșirea de alimentare continuă.

Pentru a activa acest control local al dispozitivului Sonoff, GPIO14 este scos din carcasă și este utilizat ca intrare de declanșare. Pentru a asigura siguranța, această intrare este alimentată printr-un circuit de opto-cuplaj și găzduită într-o carcasă din plastic, astfel încât operatorul să nu fie expus în niciun moment la tensiunile de alimentare de la rețea.

În cele din urmă, proza descrie, de asemenea, cum să re-programați dispozitivul ESP8266 în Sonoff 10A utilizând Arduino IDE și oferă detalii complete ale circuitului unui dispozitiv care poate fi utilizat pentru a programa în mod fiabil codul țintă.

De ce piese am nevoie?

Controler de rețea Sonoff

  1. 1 de pe Sonoff 10A aici
  2. 1 off 7805L 5v regulator de tensiune aici
  3. 1 off 240 / 6VAC 1.5VA Transformator aici
  4. 2 off 0,1 condensatori ceramici aici
  5. 1 off 1000uF @ 25v condensator electrolitic aici
  6. 1 off Bridge redresor 2W01 aici
  7. 2 rezistențe 4K7 aici
  8. 1 rezistor 330R aici
  9. 1 off butonul SPST aici
  10. 1 off Carcasă ABS Mulitcomp BM12W aici
  11. 1 off opto-cuplaj TIL111 aici
  12. 1 off bloc de terminale cu 3 căi aici
  13. 1 off 2-Way codat conector molex aici / aici
  14. 1 off 3-Way codat conector molex aici / aici
  15. 1 off 5-Way codat conector molex aici / aici
  16. 1 off pin 5-Way molex aici
  17. 1 off Winbond SPI Flash (W25Q32FVSIG) aici
  18. 1 off siguranță 20mm + capac aici
  19. 1 off siguranță rapidă de 20 mm 500mA aici
  20. 2 de pe presetupele din poliamidă aici
  21. 1 de pe priză din Marea Britanie (BS1363 / A) aici
  22. 1 de pe socketul principal din Marea Britanie (BS1363 / A) aici
  23. 7 șuruburi de nailon CS M3 16mm, (cu 10 piulițe deconectate) aici / aici
  24. 2 de pe cravate cu fermoar aici
  25. 1 off veroboard (0.1 "pitch) aici
  26. 1 off Diverse lungimi 22swg sârmă de cupru conservată aici
  27. 1 cablu de alimentare 3M White UK UK aici
  28. 10 de pe priza Molex crimps aici

Programator Sonoff

  1. 1 off regulator de tensiune LD33CV 3v3 aici
  2. 1 off radiator TO-220 aici
  3. 1 off Heatsink paste aici
  4. 1 off 10uF @ 16v Condensator electrolitic aici
  5. 1 off 0,1 condensator ceramic aici
  6. 1 off butonul SPDT aici
  7. 1 rezistență 4K7 aici
  8. 1 off 2-Way codat conector molex aici / aici
  9. 1 off 3-Way codat conector molex aici / aici
  10. 5 de pe priza Molex se îndoaie aici
  11. 1 priză Molex cu 6 căi aici
  12. 1 off butonul SPST aici
  13. 1 priză PSU de 2,1 mm aici
  14. 1 off veroboard (0.1 "pitch) aici
  15. 1 off USB to serial adapter (FTDI) aici

De ce software am nevoie?

  1. Arduino IDE 1.6.9 aici
  2. Arduino IDE configurat pentru a programa ESP8266. Vezi aici; Configurarea IDE Arduino pentru a programa ESP8266-01

De ce instrumente am nevoie?

  1. Ciocan de lipit,
  2. Burghiu și diverse biți (inclusiv tăietor de găuri în trepte pentru presetupă și buton de comandă),
  3. Șurubelnițe (diverse),
  4. Chei reglabile (două decuplate, lățime maxilară> 25 mm, pentru presetupă)
  5. Fișiere (diverse),
  6. Viciu robust,
  7. Pistol cu aer cald,
  8. DMM (de preferință CAT IV).

De ce abilități am nevoie?

  1. O bună înțelegere a electronicii și a siguranței / proiectării / cablajelor electrice la domiciliu etc.,
  2. Cunoașterea Arduino și a IDE-ului său,
  3. Abilități bune de fabricare (lipire, pilitură, găurire etc.),
  4. Un pic de răbdare,
  5. O oarecare înțelegere a rețelei dvs. de domiciliu.

Subiecte acoperite

  • Introducere
  • Prezentare generală a circuitului
  • Sonoff RetroMods
  • Detalii de construcție și asamblare
  • Adaptor de programare Sonoff
  • Prezentare generală a sistemului software
  • Prezentare generală a software-ului
  • Configurare OpenHAB
  • Testarea dispozitivului dvs. IoT
  • Concluzie
  • Referințe utilizate

Link-uri de serie

La partea 8: Senzor de temperatură și umiditate IoT WiFi. Partea: 8 IoT, Home Automation

Până la partea 10: telecomandă IR prin IoT. Partea 10 IoT, Home Automation

Pasul 1: Prezentare generală a circuitului

Prezentare generală a circuitului
Prezentare generală a circuitului
Prezentare generală a circuitului
Prezentare generală a circuitului
Prezentare generală a circuitului
Prezentare generală a circuitului
Prezentare generală a circuitului
Prezentare generală a circuitului

Prezentare generală

După cum sa menționat în introducerea de mai sus, pentru a putea porni și opri local controlerul de rețea, a fost necesară o intrare la ESP8266 de la Sonoff. Introducerea unei astfel de intrări externe necesită încălcarea carcasei ABS Sonoff și, prin urmare, creează un potențial pericol de șoc. Pentru a depăși acest lucru, am folosit izolarea optică astfel încât să nu existe nicio posibilitate de expunere la electricitatea de rețea în afara carcasei sistemului controlerului de rețea.

Ceea ce urmează este o descriere a circuitelor de optoizolare (în imaginea 1 de mai sus).

Detalii circuit

Circuitul de optoizolare primește alimentarea direct de la rețeaua electrică aplicată unității. RMS de 240VAC se aplică transformatorului de tranșare / izolare TR1 prin J1 a contact pheonix MKDSN2, terminal cu 3 căi din poliamidă 5 / 3-5.08 evaluat la 16A la 400V capabil să transporte un cablu de 2.5mm (sq) CSA și F1 un 500mA 20mm siguranță rapidă. 6VAC disponibile pe înfășurările secundare ale TR1 sunt cu undă completă rectificate de puntea diodă B1.

Această ieșire rectificată cu undă completă este apoi stabilizată și reglată de C1, C2 C3, R3 și IC1 un regulator de șunt din seria 7805L, oferind o șină de alimentare bună, curată de 5V.

Șina de 5v este apoi utilizată pentru a controla intrarea la OK1 un optoizolator TIL111 printr-un buton SPST alb montat extern conectat prin J3. Ieșirea TIL111 este cuplată la intrarea Sonoff GPIO14 prin R2 un rezistor de tragere 4K7. Astfel, se obține o izolare mai bună de 340V (adică Tensiunea de vârf = (240VAC * sqroot (2))).

Pasul 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

Pentru a integra dispozitivul Sonoff 10A este necesar să se facă unele modificări retrospective.

Primul este să adăugați un conector cu 5 căi de 0,1 pitch molex așa cum se arată în imaginea 1 de mai sus. Acest lucru permite accesul la GPIO14 de pe Sonoff odată ce capacul de protecție a fost înlocuit ca în imaginile 2 și 3 de mai sus.

Deși nu este prezentat mai sus, am scos și liniile seriale TX / RX pentru a permite programarea in situ (consultați cablajul SK1..3 la pasul 1 de mai sus).

A doua modificare este de a crește dimensiunea dispozitivului SPI Flash de la 1MByte implicit la 4MBytes, aceasta pentru a permite suficient spațiu pentru ca fișierele serverului web IoT să fie păstrate în SPIFFS.

Am cumpărat dispozitivul flash SMD SPI (W25Q32FVSIG) de pe Ebay aici

Pentru a înlocui blițul, am scos temporar LED-ul Sonoff ca în imaginea 4 pentru a oferi un acces mai bun la dispozitivul SMD. Pentru a dezlipi blițul, am folosit un pistol de căldură așa cum se arată în imaginea 5 de mai sus. Apoi, re-lipiți atât blițul de 4 MB, cât și LED-ul respectiv (imaginea 6).

Pasul 3: Detalii de construcție și asamblare

Detalii de construcție și asamblare
Detalii de construcție și asamblare
Detalii de construcție și asamblare
Detalii de construcție și asamblare
Detalii de construcție și asamblare
Detalii de construcție și asamblare
Detalii de construcție și asamblare
Detalii de construcție și asamblare

Am închis controlerul de rețea într-o cutie ABS Mulitcomp BM12W (imaginea 1 de mai sus). Această carcasă are inserții M3 din alamă izolate care permit accesul multiplu la unitate fără a compromite firele de fixare astfel încât siguranța internă poate fi înlocuită dacă este necesar sau inspecția internă poate fi efectuată în timp (nu același lucru se poate spune pentru dispozitivul Sonoff, care este efectiv o singură dată aproape folosind auto tappers).

Descărcarea primară a tensiunii pentru rețeaua care transportă cablul de alimentare a fost realizată printr-un presetop de cablu alb M16 Nylon / Poliamidă 6/6 care susține un cablu OD Min / Max 5mm / 10mm.

Scutirea secundară a tensiunii a fost realizată printr-o singură cravată cu fermoar plasată pe cablu în cazul în care s-ar aplica o tensiune excesivă și dacă presetupa nu va reuși, cravata cu fermoar va menține cablul în poziție.

Pentru a se potrivi presetupelor și a asigura suficient spațiu pentru a monta Sonoff și electronica de optoizolare, am dezbrăcat nervurile de montare a PCB-ului intern așa cum se arată mai sus (Fig. 2).

Toate componentele electronice au fost montate în siguranță prin șuruburi CS din nailon M3 pentru a asigura menținerea izolării cu exteriorul carcasei. Componentele electronice de optoizolare sunt montate cu 5 puncte de fixare pentru a asigura rezistența mecanică sonoră în cazul în care unitatea este scăzută, prevenind astfel masa transformatorului de izolare să rupă circuitul veroboard.

Aprovizionarea cu unitatea a fost realizată prin cablu standard cu coduri de culoare albe din Marea Britanie, cu 3 miezuri, izolat din PVC, cablu cu mai multe fire (32 / 0,2 mm pătrați) 1 mm (pătrat) CSA. cu un OD de 7,2 mm capabil să transporte 10A.

Unitatea a fost conectată la rețeaua de alimentare din Marea Britanie (240VAC RMS) printr-o mufă de siguranță standard cu 3 pini (BS 1363 / A) aprobată. Mufa a fost fuzionată la 5A.

Toate cablurile de alimentare de la circuitul de optoizolare au fost conectate prin intermediul contactului pheonix MKDSN2, borne de poliamidă 5 / 3-5.08 nominale la 16A la 400V capabile să transporte un cablu de 2.5mm (sq) CSA, asigurând astfel o capacitate mare pentru două cabluri în fiecare poziție.

Nu au fost cosite cabluri de rețea, ci doar răsucite pentru a preveni răsucirea nucleelor înainte de a fi introduse în blocul conectorului. Efectuarea cablurilor de rețea este o practică periculoasă, deoarece lipirea se relaxează în timp, provocând pierderea cablului în blocul conectorului.

Notă:

  • OD = Diametrul exterior.
  • VAC = Volți curent alternativ
  • RMS = Root Mean Square
  • CSA = Zona transversală
  • CS = Counter Sunk

Pasul 4: adaptor de programare Sonoff

Adaptor de programare Sonoff
Adaptor de programare Sonoff
Adaptor de programare Sonoff
Adaptor de programare Sonoff
Adaptor de programare Sonoff
Adaptor de programare Sonoff
Adaptor de programare Sonoff
Adaptor de programare Sonoff

Există două aspecte care trebuie luate în considerare la reprogramarea Sonoff 10A prin ID-ul Arduino;

  1. Configurarea Arduino IDE pentru a programa ESP8266,
  2. Actul de programare a hardware-ului în sine.

Configurarea IDE-ului dvs. Arduino pentru a programa ESP8266

Pentru a vă configura ID-ul Ardino, urmați instrucțiunile de aici Configurarea IDE-ului Arduino pentru a programa ESP8266-01

Programarea hardware-ului

Acesta este un proces în mai mulți pași, ca în toate cazurile cu ESP8266. Aici, puterea Sonoff este aplicată plăcii printr-o sursă externă stabilizată de 3v3 DC și NU de la rețeaua de alimentare. Un dispozitiv USB către serial va fi necesar pentru a trimite și primi date către și de la Sonoff. Conectați TX și RX așa cum se arată în imaginile 2 și 4.

Pași de programare (general)

  1. Mai întâi asigurați-vă că nu există alimentare externă aplicată Sonoff,
  2. Țineți apăsat butonul de pe dispozitivul Sonoff. (imaginea 1 de mai sus, butonul re-flash marcat),
  3. Aplicați sursa externă DC 3v3 la pinul 1. (imaginea 2 de mai sus),
  4. Eliberați butonul Sonoff,
  5. Dispozitivul poate fi reprogramat acum în mod obișnuit prin ID-ul Arduino.

Pentru a ușura lucrurile, am creat dispozitivul de programare de mai sus (imaginile 3 și 4) care se interfața la Sonoff prin cablajul SK1 … 3 (așa cum este descris în acest pas instructabil 1.). Acest lucru a permis o programare mai ușoară a ESP8266. De asemenea, a oferit un mijloc de testare a GPIO14 ca intrare prin utilizarea R1, a unui rezistor 4K7 și a butonului S1.

Utilizarea dispozitivului de programare de mai sus (Pics 3 și 4) Pașii de programare sunt,

  1. Țineți apăsat butonul de re-flash de pe Sonoff,
  2. Apăsați sursa de alimentare 3v3 apăsând momentan S2,
  3. Eliberați butonul de re-flash,
  4. Dispozitivul poate fi acum programat.

NOTĂ - AVERTISMENT

În niciun caz nu ar trebui să fie alimentată prin rețea în timpul activității de reprogramare Sonoff

Pasul 5: Prezentare generală a sistemului software

Prezentare generală a sistemului software
Prezentare generală a sistemului software
Prezentare generală a sistemului software
Prezentare generală a sistemului software

Acest dispozitiv IoT Mains Controller conține, în cea mai mare parte, aceleași șase componente software cheie ca în senzorul de temperatură și umiditate IoT WiFi instructabil. Partea: 8 IoT, Home Automation și prezentată în imaginea 1 de mai sus, cu o anumită personalizare.

SPIFFS

Acesta este sistemul SPI Flash Filing (actualizat la 4MBytes) și este utilizat pentru a păstra următoarele informații (a se vedea imaginea 2 de mai sus);

  • Pictograme și „Pagina principală a configurării controlerului de rețea” html: servit de dispozitivul IoT atunci când acesta nu se poate conecta la rețeaua WiFi IoT (de obicei din cauza informațiilor incorecte de securitate) și oferă utilizatorului un mijloc de configurare de la distanță a controlerului de rețea fără necesitatea reprogramării sau încărcării de conținut SPIFFS nou.
  • Informații de securitate: Deține informațiile utilizate la pornirea dispozitivului IoT pentru a vă conecta la rețeaua WiFi IoT și la brokerul MQTT. Informațiile transmise prin „Pagina principală de configurare a controlerului de rețea” sunt scrise în acest fișier („secvals.txt”).

Notă: Pentru a configura inițial dispozitivul, consultați aici detalii complete despre modul de utilizare a SPIFFS cu IDE-ul Arduino.

Server mDNS

Această funcționalitate este invocată atunci când dispozitivul IoT nu a reușit să se conecteze la rețeaua WiFi ca stație WiFi și, în schimb, a devenit un punct de acces WiFi ceva asemănător cu un router WiFi intern. În cazul unui astfel de router, vă veți conecta în mod obișnuit introducând adresa IP a ceva de genul 192.168.1.1 (tipărită de obicei pe o etichetă atașată la casetă) direct în bara URL a browserului, după care veți primi o pagină de autentificare pentru a intra numele de utilizator și parola pentru a vă permite să configurați dispozitivul. Pentru ESP8266 în modul AP (modul Punct de acces) dispozitivul implicit este adresa IP 192.168.4.1, cu toate acestea, cu serverul mDNS care rulează, trebuie să introduceți doar numele prietenos pentru oameni „MAINSCON.local” în bara URL a browserului. „Pagina principală Configurare controler de rețea”.

Client MQTT

Clientul MQTT oferă toate funcționalitățile necesare pentru; conectați-vă la rețeaua dvs. IoT broker MQTT, abonați-vă la subiectele la alegere și publicați sarcini utile la un subiect dat. Pe scurt, prevede funcționalitatea de bază IoT.

Server Web

După cum sa menționat mai sus, dacă dispozitivul IoT nu se poate conecta la rețeaua WiFi al cărui SSID, P / W etc. este definit în fișierul cu informații de securitate deținut în SPIFFS, dispozitivul va deveni un punct de acces. Odată conectat la rețeaua WiFi furnizată de Access Point, prezența unui server Web HTTP vă permite să vă conectați direct la dispozitiv și să modificați configurația acestuia prin utilizarea unui browser Web HTTP, scopul fiind de a servi până la „Configurarea controlerului de rețea Pagina de start a paginii web, care este de asemenea deținută în SPIFFS.

Stație WiFi

Această funcționalitate oferă dispozitivului IoT capacitatea de a se conecta la o rețea WiFi internă utilizând parametrii din fișierul Informații de securitate, fără aceasta dispozitivul dvs. IoT nu va putea să se aboneze / să publice la MQTT Broker

Punct de acces WiFi

Capacitatea de a deveni un punct de acces WiFi este un mijloc prin care dispozitivul IoT vă permite să vă conectați la acesta și să efectuați modificări de configurare printr-o stație WiFi și un browser (cum ar fi Safari pe Apple iPad). Acest punct de acces transmite un SSID = "MAINSCON" + ultimele 6 cifre ale adresei MAC a dispozitivului IoT. Parola pentru această rețea închisă este numită imaginațional „PAROLĂ”.

Pasul 6: Prezentare generală a software-ului

Prezentare generală a software-ului
Prezentare generală a software-ului
Prezentare generală a software-ului
Prezentare generală a software-ului
Prezentare generală a software-ului
Prezentare generală a software-ului
Prezentare generală a software-ului
Prezentare generală a software-ului

Preambul Pentru a compila cu succes acest cod sursă, veți avea nevoie de următoarele biblioteci suplimentare;

PubSubClient.h

  • De: Nick O'Leary
  • Scop: Permite dispozitivului să publice sau să se aboneze la subiecte MQTT cu un anumit Broker
  • De la:

Bounce2.h

  • De: Thomas O Fredericks
  • Scop: comutatorul de intrare de-bounce în software
  • De la:

Prezentare generală a codului

Software-ul folosește mașina de stat așa cum se arată în imaginea 1 de mai sus (o copie completă a sursei de mai jos). Există 5 stări principale după cum urmează;

  • INIT

    Această stare de inițializare este prima stare introdusă după pornire

  • NOCONFIG

    Această stare este introdusă dacă după pornire este detectat un fișier secvals.txt nevalid sau lipsă

  • PENDENT NW

    Această stare este tranzitorie, a intrat în timp ce nu există o conexiune de rețea WiFi

  • MQTT PENDENT

    Această stare este tranzitorie, introdusă după ce s-a făcut o conexiune de rețea WiFi și, deși nu există nicio conexiune la un broker MQTT din acea rețea

  • ACTIV

    Aceasta este starea operațională normală introdusă după stabilirea atât a unei conexiuni de rețea WiFi, cât și a unei conexiuni MQTT Broker. În această stare, controlerul de rețea va publica brokerului MQTT și va primi comenzi prin subiecte abonate

Evenimentele care controlează tranzițiile între stări sunt descrise în imaginea 1 de mai sus. Tranzițiile între state sunt, de asemenea, guvernate de următorii parametri SecVals;

  • Prima adresă IP a brokerului MQTT. În formă zecimală punctată AAA. BBB. CCC. DDD
  • Al doilea port de broker MQTT. În formă de număr întreg.
  • A treia conexiune broker MQTT încearcă să se facă înainte de a trece de la modul STA la modul AP. În formă de număr întreg.
  • Al 4-lea rețea WiFi SSID. În text liber.
  • A 5-a parolă de rețea WiFi. În text liber.

După cum s-a menționat mai sus, dacă dispozitivul IoT nu se poate conecta ca stație WiFi la rețeaua WiFi care are SSID și P / W este definit în secvals.txt deținut în SPIFFS dispozitivul va deveni un punct de acces. Odată conectat la acest punct de acces, acesta va afișa „Pagina principală de configurare a controlerului de rețea”, așa cum se arată mai sus în imaginea 2 (introducând fie „MAINSCON.local”, fie 192.168.4.1 în bara de adrese URL a browserului dvs.). Această pagină de pornire permite reconfigurarea controlerului de rețea printr-un browser

Convenția de numire a subiectului MQTT

În imaginea 3 de mai sus este prezentată convenția de denumire utilizată pentru subiectele MQTT și este în concordanță cu modelul folosit în versiunea mea anterioară Instructable (aici Pasul 5).

Subiecte MQTT utilizate de acest dispozitiv IoT

Pentru claritate, am documentat (imaginea 4) subiectele și secvențele de mesaje asociate la care publică / abonează acest dispozitiv. Imaginea descrie, de asemenea, interacțiunea cu butonul de control alb de pe exteriorul incintei (deși ironic butonul este afișat în roșu).

Acces la configurare la distanță în timp ce se află în starea ACTIVĂ

Odată conectat la Brokerul MQTT, este posibilă reconfigurarea de la distanță a parametrilor de securitate pentru dispozitiv prin intermediul publicațiilor tematice MQTT. Fișierul asociat secvals.txt are acces doar la scriere expus.

Depanare utilizator

În timpul secvenței de pornire, ledul dispozitivului Sonoff oferă următorul feedback de depanare, deși ar trebui notat, pentru a vedea acest lucru, va trebui să scoateți capacul și să expuneți circuitele, deci este recomandabil să faceți acest lucru în timp ce vă dezvoltați codul și alimentați dispozitivul cu alimentare 3v3;

  • 1 Bliț scurt: Nu există fișier de configurare localizat în SPIFFS (secvals.txt),
  • 2 blițuri scurte: dispozitivul IoT încearcă să se conecteze la rețeaua WiFi,
  • Iluminare continuă: dispozitivul Sonoff IoT încearcă să se conecteze la MQTT Broker,
  • Off: Dispozitivul este activ și conectat la MQTT Broker.

Notă 1: „Pagina principală de configurare a controlerului de rețea” nu utilizează prize securizate și, prin urmare, se bazează pe securitatea rețelei dvs.

Notă 2: Pentru a programa mai multe dispozitive IoT, șirul MQTT va necesita editare înainte de descărcare pe fiecare dispozitiv. Acest lucru se datorează faptului că numărul de identificare al controlerului de rețea a fost încorporat în șirul de subiecte MQTT. adică în software-ul publicat am ales valoarea 100: „WFD / MainsCont / 100 / Relay / Command / 1” și pentru cele 2 dispozitive ale mele sunt numerotate respectiv 1 și 2.

  • „WFD / MainsCont / 1 / Relay / Command / 1”
  • „WFD / MainsCont / 2 / Relay / Command / 1”

Notă 3: Pentru completitudine atunci când se află în starea ACTIVĂ software-ul IoT permite controlul LED-ului Sonoff și publicarea stării butonului de re-flash. Deși acestea au valoare numai în timpul procesului de depanare, deoarece niciunul nu este expus utilizatorului în timpul funcționării normale.

Pasul 7: Configurare OpenHAB

Configurare OpenHAB
Configurare OpenHAB
Configurare OpenHAB
Configurare OpenHAB
Configurare OpenHAB
Configurare OpenHAB

În scopuri de testare, am decis să implementez în mod conceptual cele două controlere de rețea în „Camera de zi” a casei mele. Această pagină OpenHAB poate fi accesată prin pagina principală a site-ului, ca în imaginea 1.

Am modificat configurația OpenHAB.sitemap dată în Instructable-ul meu anterior (aici) și am adăugat intrări individuale pentru „Mains Controller 1” și „Mains Controller 2” (imaginea 2 de mai sus). Am adăugat, de asemenea, intrări (Living Room Mains Cont. 1 & 2) pentru a afișa tendințele RSSI măsurate la receptorul celor două noi dispozitive IoT (imaginea 3).

În cele din urmă, am adăugat în intrări la fișierele.rules și.items pentru a permite sincronizarea dinamică a stării Sonoff și actualizarea / animarea încercării mele slabe la un grafic de comutare (comutatorul se închide când este activ și se deschide când este inactiv). Pic 2 oferă un exemplu de MC1 activ și MC2 inactiv.

Notă 1: Dacă nu sunteți sigur cum să utilizați OpenHAB, consultați aici „Configurarea și configurarea OpenHAB. Partea 6: IoT, Home Automation '

Notă 2: O copie a sitemap-ului modificat, a fișierelor cu reguli și articole, pictograme etc. este dată în fișierul zip de mai jos.

Nota 3: RSSI = Indicarea puterii semnalului primit. Aceasta este o măsură a cât de bine dispozitivul IoT vă poate vedea rețeaua WiFi.

Pasul 8: Testarea dispozitivului IoT

Image
Image
Testarea dispozitivului dvs. IoT
Testarea dispozitivului dvs. IoT

Așa cum este descris în senzorul de temperatură și umiditate WiFi IoT instructabil. Partea: 8 IoT, Home Automation Pasul 7, testarea inițială a dispozitivului IoT a fost executată printr-o conexiune MQTT prin MQTT Spy (ca în diagrama bloc de sistem din imaginea 1 de mai sus), monitorizarea ieșirii ledului, intrările butoanelor (ambele butoane Sonoff re-flash și butonul alb extern) și depanați traficul pe interfața serială. Acest lucru mi-a permis să exercit toate subiectele abonate disponibile și să verific răspunsurile publicate. Deși, din nou, acest lucru a fost efectuat manual și a consumat mult timp, deși a permis acoperirea 100% a mesajelor / publicațiilor de subiecte.

Deoarece mașina principală de stare a software-ului (Pasul 6 de mai sus) a fost moștenită de la versiunea anterioară Instructable (Partea: 8), altele decât verificarea sănătății, software-ul s-ar putea conecta la WiFi N / W și MQTT Broker, s-a presupus că acesta funcționează corect.

Testarea completă la nivel de sistem a fost apoi finalizată folosind controlerul de rețea și infrastructura IoT (din nou pic 1) de această dată folosind OpenHAB pentru a controla interacțiunea cu dispozitivul IoT. Hardware-ul IoT și configurarea sarcinii fictive pot fi văzute în imaginea 2 de mai sus.

Videoclipul oferă detalii complete despre testele de sistem și arată clar sincronizarea întreținută între dispozitivele OpenHAB (PC / Chrome și iPad / OpenHAB APP) în timp real. De asemenea, arată mesaje live către controlerele de rețea prin MQTTSpy (vezi aici pentru detalii suplimentare Configurarea unui broker MQTT. Partea 2: IoT, Home Automation) și jurnalul de sistem cu coduri OpenHAB de pe serverul raspberry pi printr-o conexiune PuTTY SSH (vezi aici pentru mai multe detalii) detalii Configurarea și configurarea OpenHAB. Partea 6: IoT, Home Automation).

Notă: traficul de depanare a fost compilat pentru versiunea finală a software-ului.

Pasul 9: Concluzie

General

Proiectul a fost relativ ușor de finalizat și a funcționat bine. Software-ul încorporat a fost simplu de produs, fiind o versiune redusă a codului utilizat pentru senzorii de temperatură și umiditate din partea 8 din această serie.

Inițial am intenționat să achiziționez doar piese componente albe doar pentru calitatea lor estetică. Am realizat acest lucru în afară de butonul de control, încercați cât de mult am putut, nu am reușit să obțin un buton complet alb / ieftin.

Dispozitiv Sonoff 10A

Am enumerat mai jos ceea ce am considerat că sunt pro și contra rezonabile ale dispozitivului Sonoff

Pro

  • Ieftin.
  • Bun sprijin comunitar.
  • Poate reprograma prin ID-ul Arduino.

Contra

  • Carcasă slabă.
  • I / O minimă (adusă la conectori utilizabili).
  • Se încălzește în starea sa de repaus.
  • Are doar 1MByte de bliț SPI la bord.
  • Este un PITA de reprogramat odată conectat la locul său.
  • La integrarea unui nou cod în testarea Sonoff, închiderea releului a fost problematică, dat fiind că releul este de 5v, iar sursa aplicată Sonoff-ului pentru programare este de 3v3. Activarea releului este doar perceptibilă pentru ureche.

Preocupări

  • Nu schimbă linia neutră. Folosește un releu SPST.
  • Nu este topit.
  • Slăbire slabă a cablului.
  • PCB-ul nu este securizat în incinta Sonoff.

Comentați proiectarea inginerească

Având în vedere că acest dispozitiv IoT urma să fie folosit pentru a comuta rețeaua electrică din Regatul Unit (240VAC RMS), am urmat atât bune practici de proiectare mecanică, cât și electrică și m-am asigurat că riscul de șoc a fost minimizat prin faptul că nu a expus niciun material electric conductiv, specificând peste toate componentele, sarcină de ieșire, aplicarea protecției siguranței atât la controlerul de rețea, cât și la subsistemul opto-cuplat, includerea unei pământuri neîntrerupte bune și utilizarea izolării optice / galvanice.

Posibilă îmbunătățire

Cu retrospectiva, ar fi fost util să se includă o indicație vizuală a ieșirii controlerului de rețea activă (LED sau Neon). Deși nu este o problemă în utilizarea de zi cu zi, având în vedere practica standard de a izola sarcina de alimentare înainte de efectuarea oricărei întrețineri, sau o simplă apăsare a butonului de control local va comuta ieșirea în cazul în care o lampă se poate aprinde când este conectată.

Notă finală

Dacă doriți să vedeți două exemple foarte slabe de tratare a energiei electrice, consultați linkurile de mai jos. Premiile lor Darwin vor fi în post foarte curând, sunt destul de sigur;

  • Cablu de extensie Mad Scientist
  • Feedback comunitar 03 - Preocupări privind siguranța energiei!

Pasul 10: Referințe utilizate

Am folosit următoarele surse pentru a pune acest Instructable împreună;

PubSubClient.h

  • De: Nick O'Leary
  • Scop: Permite dispozitivului să publice sau să se aboneze la subiecte MQTT cu un anumit Broker
  • De la:

Bounce2.h

  • De: Thomas O Fredericks
  • Scop: comutatorul de intrare de-bounce în software
  • De la:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

Actualizarea blițului Sonoff

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

Diagrama circuitului Sonoff

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

Modul USB UART (aka FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398?epid=503069058&hash=item3f63593d2e: g: QVUAAOSw71BXP92B

Premiile Darwin (ușurare ușoară)

https://www.darwinawards.com/

Foaie de date TIL111 Opto-izolator

Recomandat: