Kazalo:

Omrežni krmilnik IoT. 9. del: IoT, domača avtomatizacija: 10 korakov (s slikami)
Omrežni krmilnik IoT. 9. del: IoT, domača avtomatizacija: 10 korakov (s slikami)

Video: Omrežni krmilnik IoT. 9. del: IoT, domača avtomatizacija: 10 korakov (s slikami)

Video: Omrežni krmilnik IoT. 9. del: IoT, domača avtomatizacija: 10 korakov (s slikami)
Video: CS50 2015 - Week 6 2024, Julij
Anonim
Omrežni krmilnik IoT. 9. del: IoT, Domača avtomatizacija
Omrežni krmilnik IoT. 9. del: IoT, Domača avtomatizacija

Zavrnitev odgovornosti

PRVO PREBERITE TO

Ta Navodila podrobno opisujejo projekt, ki uporablja omrežno napajanje (v tem primeru UK 240VAC RMS), medtem ko je bilo pri uporabi s temi napajalnimi napetostmi in pri ki avtor ne more prevzeti nobene odgovornosti, če pride do telesne poškodbe ali premoženjske škode pri spremljanju njene vsebine. Posledično ta projekt izdelate na lastno odgovornost.

Preambula

Ta članek, 9. v nizu o avtomatizaciji doma, dokumentira, kako ustvariti in vključiti omrežni krmilnik Sonoff 10A IoT v obstoječi sistem avtomatizacije doma, vključno z vso potrebno programsko opremo, ki omogoča uspešno uporabo v domačem okolju.

Uvod

Kot je omenjeno zgoraj, ta navodila opisujejo, kako narediti in vključiti omrežni krmilnik IoT s pomočjo Sonoff 10A iz iTeada. Naprava je navedena kot ocenjena za 10 amperov pri 90 ~ 250VAC, vendar jo ta izvedba s pomočjo varovalnega vtiča razvrsti na 5 amperov, ki zagotavljajo glavno oskrbo UK 240VAC RMS.

Metodologija oblikovanja se brez težav integrira v omrežje IoT, ki temelji na MQTT/OpenHAB, podrobno opisano v tej seriji o gradnji avtomatizacije doma na podlagi ponovno uporabljene kode, vzete od tu. Prav tako lahko prenese izgubo katerega koli elementa omrežja IoT in je v celoti sposoben delovati samostojno. V samostojnem načinu lahko nadzor nad napravo dosežete s preprostim pritiskom na gumb za upravljanje na vrhu ohišja, ki preklopi izhod za napajanje naprej.

Za omogočanje lokalnega nadzora naprave Sonoff se GPIO14 izvleče iz ohišja in se uporablja kot sprožilec. Za zagotovitev varnosti se ta vhod napaja preko vezja z optičnim spenjačem in je nameščen v plastičnem ohišju, tako da operater v nobenem trenutku ni izpostavljen napajalnim napetostim v omrežju.

Nazadnje, proza opisuje tudi, kako znova programirati napravo ESP8266 v Sonoffu 10A z uporabo Arduino IDE in podaja celotne podatke o vezju naprave, ki jo je mogoče uporabiti za zanesljivo programiranje ciljne kode.

Katere dele potrebujem?

Omrežni krmilnik Sonoff

  1. 1 popust za Sonoff 10A tukaj
  2. 1 izklop 7805L 5v regulatorja napetosti tukaj
  3. 1 izklop 240/6VAC 1.5VA transformatorja tukaj
  4. 2 izklopite 0,1 keramični kondenzator tukaj
  5. 1 off 1000uF @25v elektrolitski kondenzator tukaj
  6. 1 off Bridge usmernik 2W01 tukaj
  7. 2 izklopa 4K7 uporov tukaj
  8. 1 izklop 330R upora tukaj
  9. 1 gumb SPST tukaj
  10. 1 off ohišje ABS Mulitcomp BM12W tukaj
  11. 1 izklop optičnega sklopnika TIL111 tukaj
  12. Tukaj 1 izklop 3-smernega priključnega bloka
  13. 1 off 2-Way kodiran molex konektor tukaj/tukaj
  14. 1 off 3-way kodiran molex konektor tukaj/tukaj
  15. 1 off 5-Way kodiran molex konektor tukaj/tukaj
  16. Tukaj najdete 1 izklop 5-smernih molex zatičev
  17. 1 off Winbond SPI Flash (W25Q32FVSIG) tukaj
  18. Tu je 1 izklop 20 mm držala varovalke + pokrovček
  19. 1 izklop 20 mm hitrega varovalke 500mA tukaj
  20. 2 izklopite poliamidne kabelske uvodnice tukaj
  21. 1 izklop omrežnega vtiča UK (BS1363/A) tukaj
  22. 1 off glavna vtičnica UK (BS1363/A) tukaj
  23. 7 off M3 16mm CS najlonskih vijakov, (vključno z 10 off maticami) tukaj/tukaj
  24. Tukaj 2 popusta za vezi Zip
  25. 1 off veroboard (0,1 "korak) tukaj
  26. 1 off Tu so pobarvane bakrene žice različnih dolžin 22swg
  27. 1 off 3M White UK napajalni kabel tukaj
  28. Tu je 10 off Molex vtičnic

Sonoff programer

  1. Tukaj 1 izklopite regulator napetosti LD33CV 3v3
  2. Tukaj 1 izklop hladilnika TO-220
  3. Tukaj 1 pasto hladilnika
  4. 1 off 10uF @16v Elektrolitski kondenzator tukaj
  5. 1 tukaj 0,1 keramični kondenzator
  6. 1 gumb SPDT tukaj
  7. 1 izklop upora 4K7 tukaj
  8. 1 off 2-Way kodiran molex konektor tukaj/tukaj
  9. 1 off 3-way kodiran molex konektor tukaj/tukaj
  10. Tukaj izklopite 5 vtičnic Molex
  11. 1 off 6-way molex vtičnica tukaj
  12. 1 gumb SPST tukaj
  13. 1 vtičnica za napajalnik 2,1 mm tukaj
  14. 1 off veroboard (0,1 "korak) tukaj
  15. Tukaj 1 izklopite USB na serijski adapter (FTDI)

Kakšno programsko opremo potrebujem?

  1. Arduino IDE 1.6.9 tukaj
  2. Arduino IDE, konfiguriran za programiranje ESP8266. Glej tukaj; Nastavitev Arduino IDE za programiranje ESP8266-01

Katera orodja potrebujem?

  1. Spajkalnik,
  2. Vrtalnik in različni nastavki (vključno z rezalnikom stopničastih lukenj za kabelske uvodnice in gumb za upravljanje),
  3. Izvijači (različni),
  4. Nastavljivi ključi (dva izklopljena, širina čeljusti> 25 mm, za kabelske uvodnice),
  5. Datoteke (različne),
  6. Trden primež,
  7. Grelna pištola,
  8. DMM (po možnosti CAT IV).

Kakšne veščine potrebujem?

  1. Dobro poznavanje elektronike in domače električne varnosti/oblikovanja/ožičenja itd.,
  2. Poznavanje Arduina in njegove IDE,
  3. Dobre sposobnosti izdelave (spajkanje, rezanje, vrtanje itd.),
  4. Nekaj potrpežljivosti,
  5. Nekaj razumevanja vašega domačega omrežja.

Zajete teme

  • Uvod
  • Pregled vezja
  • Sonoff RetroMods
  • Podrobnosti o gradnji in montaži
  • Vmesnik za programiranje Sonoff
  • Pregled sistema programske opreme
  • Pregled programske opreme
  • Konfiguracija OpenHAB
  • Testiranje naprave IoT
  • Zaključek
  • Uporabljene reference

Povezave do serije

Do 8. dela: Senzor temperature in vlažnosti WiFi IoT. Del: 8 IoT, Domača avtomatizacija

Do 10. dela: IR daljinski upravljalnik prek IoT. 10. del IoT, Domača avtomatizacija

1. korak: Pregled vezja

Pregled vezja
Pregled vezja
Pregled vezja
Pregled vezja
Pregled vezja
Pregled vezja
Pregled vezja
Pregled vezja

Pregled

Kot je bilo omenjeno v uvodu zgoraj, je bil za lokalno vklop in izklop omrežnega krmilnika potreben vhod na vgrajeni Sonoffov ESP8266. Uvedba takega zunanjega vhoda zahteva, da je ohišje Sonoff ABS prekinjeno in zato ustvarja potencialno nevarnost udara. Za premagovanje tega sem uporabil optično izolacijo, tako da ni možnosti izpostavljenosti električni energiji izven ohišja sistema krmilnika.

Sledi opis optoizolacijskega vezja (na sliki 1 zgoraj).

Podrobnosti vezja

Optoizolacijski tokokrog se napaja neposredno iz omrežja, priključenega na enoto. 240VAC RMS se uporablja za stopnjevalni/izolacijski transformator TR1 preko J1, feonix kontaktnega MKDSN2, 5/3-5.08 poliamidnega 3-polnega priključka z nazivno močjo 16A pri 400V, ki lahko nosi kabel 2,5 mm (sq) CSA in F1 500mA 20 mm varovalka za hiter vžig. 6VAC, ki je na voljo na sekundarnih navitjih TR1, je polnovalno popravljen z diodnim mostom B1.

Ta izhod s polnim valom se nato stabilizira in regulira s krmilnim regulatorjem serije 7805L serije C80, C2, C3, R3 in IC1, kar daje dobro in čisto napajalno tirnico 5 V.

5v tirnica se nato uporablja za krmiljenje vhoda v optični izolator TIL111 prek zunanjega vgrajenega belega gumba SPST, povezanega preko J3. Izhod TIL111 je povezan z vhodom Sonoff GPIO14 prek vlečnega upora R2 4K7. Tako je dosežena izolacija boljša od 340 V (tj. Najvišja napetost = (240VAC*kvadratni koren (2))).

2. korak: Sonoff RetroMods

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

Za vključitev naprave Sonoff 10A je treba narediti nekaj retrospektivnih sprememb.

Prvi je, da dodate 5-smerni 0,1-palčni molex konektor, kot je prikazano na sliki 1 zgoraj. To omogoča dostop do GPIO14 na Sonoffu, ko zamenjate zaščitni pokrov, kot je prikazano na slikah 2 in 3 zgoraj.

Čeprav zgoraj ni prikazano, sem predstavil tudi serijske linije TX/RX, ki omogočajo programiranje na kraju samem (glejte kabelski snop SK1..3 v 1. koraku zgoraj).

Druga sprememba je povečanje velikosti naprave SPI Flash s privzetih 1 MB na 4 MB, kar bo omogočilo dovolj prostora za shranjevanje datotek spletnega strežnika IoT v SPIFFS.

Tukaj sem kupil bliskovno napravo SMD SPI (W25Q32FVSIG) pri Ebayu

Za zamenjavo bliskavice sem začasno odstranil LED Sonoff, kot je na sliki 4, da omogočim boljši dostop do naprave SMD. Za razpojkanje bliskavice sem uporabil toplotno pištolo, kot je prikazano na sliki 5 zgoraj. Nato ponovno spajkajte bliskavico 4MByte in LED (slika 6).

3. korak: Podrobnosti o gradnji in montaži

Podrobnosti o gradnji in montaži
Podrobnosti o gradnji in montaži
Podrobnosti o gradnji in montaži
Podrobnosti o gradnji in montaži
Podrobnosti o gradnji in montaži
Podrobnosti o gradnji in montaži
Podrobnosti o gradnji in montaži
Podrobnosti o gradnji in montaži

Omrežni krmilnik sem zaprl v ABS škatlo Mulitcomp BM12W (slika 1 zgoraj). To ohišje ima izolirane medeninaste vložke M3, ki omogočajo večkratni dostop do enote brez ogrožanja pritrdilnih niti, tako da je mogoče po potrebi zamenjati notranjo varovalko ali pa sčasoma opraviti notranji pregled (tega ne moremo reči za napravo Sonoff, ki je dejansko enkrat samo zaprta z uporabo samoprezov).

Primarno razbremenitev omrežnega napajalnega kabla je bila dosežena z M16 najlonsko/poliamidno 6/6 belo kabelsko uvodnico, ki podpira kabel OD Min/Max 5 mm/10 mm.

Sekundarno razbremenitev napetosti je potekala z eno samo zadrgo, nameščeno na kabel, če pride do prevelike obremenitve in odpovedi kabelske uvodnice, bo zadrga držala kabel na mestu.

Za namestitev kabelskih uvodnic in zagotovitev dovolj prostora za namestitev elektronike Sonoff in opto-izolacije sem odstranil notranja rebra za montažo na tiskano vezje, kot je prikazano zgoraj (slika 2).

Vsa elektronika je bila varno pritrjena z vijaki M3 iz najlona CS, da se ohrani izolacija zunanjosti ohišja. Optoizolacijska elektronika, ki je nameščena s 5 pritrdilnimi točkami, da zagotovi zvočno mehansko trdnost, če enoto spustite, s čimer preprečite, da bi masa izolacijskega transformatorja prekinila vezje veroboard.

Napajanje enote je bilo doseženo z UK standardno kodiranim belim 3-žilnim, večžičnim (32/0,2 mm kvadratnim) kablom, izoliranim omrežjem s PVC izolacijo, 1 mm (kvadratnim) CSA. z OD 7,2 mm, ki lahko prenese 10A.

Enota je bila priključena na omrežje UK (240VAC RMS) prek standardnega 3 -polnega varnostnega vtiča (BS 1363/A). Vtič je bil varovan pri 5A.

Vsi napajalni kabli za optično izolacijsko vezje so bili priključeni preko pheonix kontaktnega MKDSN2, 5/3-5,08 poliamidnih priključkov z nazivno močjo 16A pri 400 V, ki lahko nosijo kabel 2,5 mm (sq) CSA, kar zagotavlja dovolj zmogljivosti za dva kabla v vsak položaj.

Noben omrežni kabel ni bil kosit, samo zvit, da se prepreči razlitje jeder pred vstavitvijo v priključni blok. Strojenje omrežnih kablov je nevarna praksa, saj se spajkanje sčasoma "sprosti", kar povzroči izgubo kabla v priključnem bloku.

Opomba:

  • OD = zunanji premer.
  • VAC = Volt izmenični tok
  • RMS = kvadratni srednji koren
  • CSA = površina preseka
  • CS = Števec potopljen

4. korak: Sonoff programski vmesnik

Vmesnik za programiranje Sonoff
Vmesnik za programiranje Sonoff
Vmesnik za programiranje Sonoff
Vmesnik za programiranje Sonoff
Vmesnik za programiranje Sonoff
Vmesnik za programiranje Sonoff
Vmesnik za programiranje Sonoff
Vmesnik za programiranje Sonoff

Pri ponovnem programiranju Sonoffa 10A prek Arduino IDE je treba upoštevati dva vidika;

  1. Konfiguriranje vašega Arduino IDE za programiranje ESP8266,
  2. Dejanje programiranja same strojne opreme.

Konfiguriranje vašega Arduino IDE za programiranje ESP8266

Če želite konfigurirati IDE Ardino, sledite spodnjim navodilom. Nastavitev IDE Arduino za programiranje ESP8266-01

Programiranje strojne opreme

To je postopek v več korakih, kot v vseh primerih z ESP8266. Tu se napajanje Sonoff napaja na plošči prek zunanjega stabiliziranega 3v3 enosmernega napajanja in NE iz omrežnega napajanja. Za pošiljanje in sprejemanje podatkov v Sonoff in iz njega bo potrebna USB -serijska naprava. Povežite TX in RX, kot je prikazano na slikah 2 in 4.

Koraki programiranja (splošno)

  1. Najprej se prepričajte, da na Sonoff ni priključeno zunanje napajanje,
  2. Pritisnite in držite gumb na napravi Sonoff. (slika 1 zgoraj, označen gumb za ponovno bliskavico),
  3. Priključite zunanje napajanje DC 3v3 na pin 1 (slika 2 zgoraj),
  4. Spustite gumb Sonoff,
  5. Napravo lahko zdaj znova programirate na običajen način prek Arduino IDE.

Za lažje delo sem ustvaril zgornjo programsko napravo (sliki 3 in 4), ki je bila povezana s Sonoffom preko kabelskega snopa SK1 … 3 (kot je opisano v tem koraku 1. po navodilih). To je omogočilo lažje programiranje ESP8266. Zagotovil je tudi način testiranja GPIO14 kot vhoda z uporabo R1 vlečnega upora 4K7 in gumba S1.

Z uporabo zgornje programske naprave (slike 3 in 4) Koraki programiranja so:

  1. Pritisnite in pridržite gumb za ponovno bliskavico na Sonoffu,
  2. Impulzirajte napajanje 3v3 s kratkim pritiskom na S2,
  3. Spustite gumb za ponovno bliskavico,
  4. Napravo je zdaj mogoče programirati.

OPOMBA - OPOZORILO

V nobenem primeru ne smete napajati prek omrežja med aktivnostjo ponovnega programiranja Sonoff

5. korak: Pregled sistema programske opreme

Pregled sistema programske opreme
Pregled sistema programske opreme
Pregled sistema programske opreme
Pregled sistema programske opreme

Ta naprava za glavno krmiljenje IoT večinoma vsebuje istih šest ključnih komponent programske opreme kot v senzorju za temperaturo in vlažnost WiFi IoT, ki ga je mogoče naročiti. Del: 8 IoT, Home Automation in prikazan na sliki 1 zgoraj, z nekaj prilagoditvami.

SPIFFS

To je (nadgrajen na 4 MB) vgrajen sistem za shranjevanje bliskovnih sporočil SPI in se uporablja za shranjevanje naslednjih informacij (glej sliko 2 zgoraj);

  • Ikone in "Domača stran za konfiguracijo krmilnika omrežja" html: vroči jo naprava IoT, ko se ne more povezati z vašim omrežjem Wi -Fi IoT (običajno zaradi napačnih varnostnih podatkov), uporabniku pa omogoča daljinsko konfiguriranje omrežnega krmilnika brez potrebo po ponovnem programiranju ali nalaganju nove vsebine SPIFFS.
  • Varnostni podatki: Ta vsebuje podatke, ki jih naprava IoT vklopi za povezavo z vašim omrežjem WiFi IoT in posrednikom MQTT. Podatki, poslani prek 'Domače strani za konfiguracijo krmilnika omrežja', so zapisani v to datoteko ('secvals.txt').

Opomba: Če želite najprej nastaviti napravo, si oglejte tukaj za podrobne informacije o uporabi SPIFFS z Arduino IDE.

strežnik mDNS

Ta funkcija se aktivira, ko se naprava IoT ne poveže z vašim omrežjem WiFi kot postajo WiFi in je namesto tega postala dostopna točka WiFi, podobna domačemu usmerjevalniku WiFi. V primeru takšnega usmerjevalnika se običajno povežete z njim tako, da vnesete naslov IP, na primer 192.168.1.1 (običajno natisnjen na nalepki, pritrjeni na polje), neposredno v vrstico URL brskalnika, nakar boste prejeli stran za prijavo uporabniško ime in geslo za konfiguracijo naprave. Za ESP8266 v načinu AP (način dostopne točke) je naprava privzeto nastavljena na naslov IP 192.168.4.1, vendar morate pri delujočem strežniku mDNS v vrstico URL brskalnika vnesti samo prijazno ime 'MAINSCON.local'. 'Domača stran konfiguracije krmilnika omrežja'.

Odjemalec MQTT

Odjemalec MQTT nudi vso potrebno funkcionalnost za; povežite se s svojim posrednikom MQTT v omrežju IoT, se naročite na izbrane teme in objavite koristne podatke za določeno temo. Na kratko določa osnovno funkcionalnost IoT.

Spletni strežnik

Kot je navedeno zgoraj, če naprava IoT ne more vzpostaviti povezave z omrežjem WiFi, katerega SSID, P/W itd. Je določeno v datoteki varnostnih informacij, shranjenih v SPIFFS, bo naprava postala dostopna točka. Ko se povežete z omrežjem WiFi, ki ga omogoča dostopna točka, vam prisotnost spletnega strežnika HTTP omogoča neposredno povezavo z napravo in spreminjanje njene konfiguracije z uporabo spletnega brskalnika HTTP, katerega namen je postreči "Konfiguracijo omrežnega krmilnika" Spletna stran Domača stran, ki je prav tako v SPIFFS.

WiFi postaja

Ta funkcija daje napravi IoT možnost, da se poveže z domačim omrežjem WiFi z uporabo parametrov v datoteki varnostnih informacij, brez tega se vaša naprava IoT ne bo mogla naročiti/objaviti pri posredniku MQTT

Dostopna točka WiFi

Sposobnost, da postanete dostopna točka WiFi, je sredstvo, s katerim vam naprava IoT omogoča povezavo z njo in spreminjanje konfiguracije prek postaje WiFi in brskalnika (na primer Safari na iPadu Apple). Ta dostopna točka oddaja SSID = "MAINSCON" + zadnjih 6 številk naslova MAC naprave IoT. Geslo za to zaprto omrežje se domiselno imenuje "GESLO".

6. korak: Pregled programske opreme

Pregled programske opreme
Pregled programske opreme
Pregled programske opreme
Pregled programske opreme
Pregled programske opreme
Pregled programske opreme
Pregled programske opreme
Pregled programske opreme

Preamble Če želite uspešno sestaviti to izvorno kodo, potrebujete naslednje dodatne knjižnice;

PubSubClient.h

  • Avtor: Nick O'Leary
  • Namen: napravi omogoča objavo ali naročanje na teme MQTT pri danem posredniku
  • Iz:

Bounce2.h

  • Avtor: Thomas O Fredericks
  • Namen: Vhodno stikalo se odklopi v programski opremi
  • Iz:

Pregled kode

Programska oprema uporablja state-machine, kot je prikazano na sliki 1 zgoraj (celotna kopija vira je navedena spodaj). Obstaja 5 glavnih stanj, kot sledi;

  • V

    To stanje inicializacije je prvo stanje, vneseno po vklopu

  • NOCONFIG

    To stanje se vnese, če po vklopu zazna neveljavno ali manjkajočo datoteko secvals.txt

  • V ČAKANJU SZ

    To stanje je prehodno, vneseno, medtem ko ni omrežne povezave WiFi

  • PRIČAKAJ MQTT

    To stanje je prehodno, vnese se po vzpostavljeni povezavi z omrežjem WiFi, medtem ko v tem omrežju ni povezave z posrednikom MQTT

  • AKTIVNO

    To je običajno stanje delovanja, ki je vneseno, ko sta vzpostavljeni tako omrežna povezava WiFi kot povezava posrednika MQTT. V tem stanju bo omrežni krmilnik objavil posredniku MQTT in prejemal ukaze prek naročenih tem

Dogodki, ki nadzorujejo prehode med stanji, so opisani na sliki 1 zgoraj. Prehode med državami urejajo tudi naslednji parametri SecVals;

  • 1. IP naslov posrednika MQTT. V decimalni obliki s pikami AAA. BBB. CCC. DDD
  • 2. posredniško pristanišče MQTT. V celobrojni obliki.
  • Tretja povezava posrednika MQTT poskuša vzpostaviti pred prehodom iz načina STA v način AP. V celobrojni obliki.
  • 4. SSID omrežja WiFi. Besedilo v prosti obliki.
  • 5. geslo za omrežje WiFi. Besedilo v prosti obliki.

Kot je navedeno zgoraj, če se naprava IoT ne more povezati kot postaja WiFi z omrežjem WiFi, katere SSID in P/W sta definirana v datoteki secvals.txt, shranjeni v SPIFFS, bo naprava postala dostopna točka. Ko je povezan s to dostopno točko, bo služil na "Domači strani za konfiguracijo krmilnika omrežja", kot je prikazano zgoraj na sliki 2 (z vnosom "MAINSCON.local" ali 192.168.4.1 v naslovno vrstico brskalnikov). Ta domača stran omogoča ponovno konfiguracijo omrežnega krmilnika prek brskalnika

MQTT Konvencija o poimenovanju tem

Na sliki 3 zgoraj je opisano poimenovanje, ki se uporablja za teme MQTT in je v skladu z vzorcem, uporabljenim v mojem prejšnjem Instructable (tukaj korak 5).

Teme MQTT, ki jih uporablja ta naprava IoT

Zaradi jasnosti sem dokumentiral (slika 4) teme in povezana zaporedja sporočil, ki jih ta naprava objavlja/na katere se naroča. Slika prikazuje tudi interakcijo z belim kontrolnim gumbom na zunanji strani ohišja (čeprav je ironično, da je gumb prikazan rdeče).

Oddaljeni dostop do konfiguracije, medtem ko je v stanju AKTIVNO

Ko ste povezani z posrednikom MQTT, je mogoče na daljavo znova konfigurirati varnostne parametre naprave prek publikacij s temo MQTT. Povezana datoteka secvals.txt ima izpostavljen samo dostop za pisanje.

Odpravljanje napak uporabnikov

Med zagonskim zaporedjem LED -naprava Sonoff daje naslednje povratne informacije o odpravljanju napak, čeprav je treba opozoriti, da boste za ogled tega morali odstraniti pokrov in izpostaviti vezje, zato je to priporočljivo storiti le pri razvoju kode in napajanju naprave z napajanjem 3v3;

  • 1 Kratek utrip: v datoteki SPIFFS (secvals.txt) ni datoteke Config,
  • 2 kratki utripa: naprava IoT se poskuša povezati z omrežjem WiFi,
  • Neprekinjeno osvetljevanje: Naprava Sonoff IoT se poskuša povezati z posrednikom MQTT,
  • Izklopljeno: Naprava je aktivna in povezana z posrednikom MQTT.

Opomba 1: »Domača stran za konfiguracijo krmilnika omrežja« ne uporablja varnih vtičnic in je zato odvisna od varnosti vašega omrežja.

Opomba 2: Za programiranje več naprav IoT bo treba niz MQTT pred prenosom v vsako napravo urediti. To je zato, ker je ID številka krmilnika omrežja vdelana v niz teme MQTT. tj. v objavljeni programski opremi sem izbral vrednost 100: 'WFD/MainsCont/100/Relay/Command/1' in za moje 2 napravi sta oštevilčeni 1 in 2.

  • 'WFD/MainsCont/1/Rele/Command/1'
  • 'WFD/MainsCont/2/Rele/Command/1'

Opomba 3: Za popolnost, ko je v stanju AKTIVNOST, programska oprema IoT omogoča nadzor LED Sonoff in objavo stanja gumba za ponovno bliskavico. Čeprav so te vrednosti le med postopkom odpravljanja napak, saj uporabniku med normalnim delovanjem niso izpostavljene.

7. korak: Konfiguracija OpenHAB

Konfiguracija OpenHAB
Konfiguracija OpenHAB
Konfiguracija OpenHAB
Konfiguracija OpenHAB
Konfiguracija OpenHAB
Konfiguracija OpenHAB

Za namene testiranja sem se odločil, da namenoma namestim oba krmilnika omrežja v "dnevno sobo" moje hiše. Do te strani OpenHAB lahko dostopate prek glavne strani spletnega mesta, kot je na sliki 1.

Spremenil sem konfiguracijo zemljevida spletnega mesta OpenHAB, ki je bila dana v mojem prejšnjem Instructable (tukaj) in dodal posamezne vnose za 'Mains Controller 1' in 'Mains Controller 2' (slika 2 zgoraj). Dodal sem tudi vnose (dnevna soba, omrežni kont. 1 in 2) za prikaz trendov RSSI, merjenih na sprejemniku dveh novih naprav IoT (slika 3).

Nazadnje sem dodal vnose v datoteke.rules in.items, ki omogočajo dinamično sinhronizacijo stanja Sonoffa in posodabljanje/animacijo mojega slabega poskusa preklopa grafike (stikalo se zapre, ko je aktivno, in se odpre, ko je neaktivno). Na sliki 2 je primer MC1 aktiven in MC2 neaktiven.

Opomba 1: Če niste prepričani, kako uporabljati OpenHAB, si oglejte tukaj 'Nastavitev in konfiguriranje OpenHAB. 6. del: IoT, domača avtomatizacija '

Opomba 2: Kopija spremenjenega zemljevida spletnega mesta, datotek s pravili in elementi, ikon itd. Je podana v spodnji datoteki zip.

Opomba 3: RSSI = Indikacija jakosti prejetega signala. To je merilo, kako dobro lahko naprava IoT vidi vaše omrežje WiFi.

8. korak: Preizkusite svojo napravo IoT

Image
Image
Testiranje naprave IoT
Testiranje naprave IoT

Kot je opisano v senzorju temperature in vlažnosti WiFi IoT za navodila. Del: 8 IoT, Domača avtomatizacija Korak 7, prvotno testiranje naprave IoT je bilo izvedeno prek povezave MQTT prek MQTT Spy (kot na sistemskem blokovnem diagramu na sliki 1 zgoraj), nadzor izhoda LED, vhodi gumbov (oba gumba za ponovno bliskavico Sonoff in beli zunanji gumb) in razhroščevanje prometa na serijskem vmesniku. To mi je omogočilo, da sem izkoristil vse razpoložljive naročene teme in preveril objavljene odgovore. Čeprav je bilo to znova ročno in je trajalo veliko časa, je kljub temu omogočilo 100 -odstotno pokritost sporočil/tematskih publikacij.

Ker je bil glavni stroj za programsko opremo (korak 6 zgoraj) podedovan iz prejšnjega Instructable (del: 8), razen preverjanja razumnosti, da se lahko programska oprema poveže z WiFi N/W in posrednikom MQTT, se je predpostavljalo, da deluje pravilno.

Testiranje celotne ravni sistema je bilo nato zaključeno z omrežnim krmilnikom in infrastrukturo IoT (spet slika 1), tokrat z uporabo OpenHAB za nadzor interakcije z napravo IoT. Postavitev strojne opreme IoT in lažne obremenitve je prikazana na sliki 2 zgoraj.

Videoposnetek vsebuje popolne podrobnosti sistemskih preskusov in jasno prikazuje sinhronizacijo med napravami OpenHAB (PC/Chrome in iPad/OpenHAB APP) v realnem času. Prikazuje tudi sporočila v živo glavnim krmilnikom prek MQTTSpy (za več podrobnosti glejte tukaj Nastavitev posrednika MQTT. 2. del: IoT, domača avtomatizacija) in sistemski dnevnik OpenHAB s strežnikom maline pi prek povezave PuTTY SSH (za več informacij glejte tukaj podrobnosti Nastavitev in konfiguriranje OpenHAB. 6. del: IoT, domača avtomatizacija).

Opomba: Promet za odpravljanje napak je bil sestavljen za končno izdajo programske opreme.

9. korak: Zaključek

Splošno

Projekt je bil relativno enostaven za dokončanje in je dobro deloval. Vdelano programsko opremo je bilo preprosto izdelati, saj je bila to skrajšana različica kode, uporabljene za senzorje temperature in vlažnosti iz 8. dela v tej seriji.

Sprva sem nameraval kupiti le bele sestavne dele izključno zaradi njihove estetske kakovosti. To sem dosegel v vseh, razen v kontrolnem gumbu, poskusite, kolikor je bilo mogoče, nisem mogel dobiti dobrega/poceni popolnoma belega gumba.

Naprava Sonoff 10A

Spodaj sem navedel, kaj se mi je zdelo razumno za in proti napravi Sonoff

Prednosti

  • Poceni.
  • Dobra podpora skupnosti.
  • Lahko ponovno programirate prek Arduino IDE.

Slabosti

  • Majhno ohišje.
  • Minimalni V/I (izvlečen v uporabne priključke).
  • V stanju mirovanja se segreje.
  • Vgrajena bliskovna bliskavica SPI ima samo 1 MB.
  • Je PITA, ki jo je treba ponovno programirati, ko je priključena.
  • Pri vključevanju nove kode v testiranje Sonoff je bilo zapiranje releja problematično, saj je rele 5v in napajanje, uporabljeno za programiranje Sonoff, je 3v3. Aktiviranje releja je le zaznavno za uho.

Skrb

  • Ne preklopi nevtralne linije. Uporablja rele SPST.
  • Ni zlit.
  • Slabo razbremenitev napetosti kabla.
  • PCB ni zavarovan v ohišju Sonoff.

Komentirajte inženirsko zasnovo

Glede na to, da naj bi to napravo IoT uporabljali za preklapljanje električnega omrežja v Združenem kraljestvu (240VAC RMS), sem upošteval tako dobro mehansko in električno prakso oblikovanja in zagotovil, da je tveganje udara čim manjše, ker nisem izpostavil nobenih električno prevodnih materialov, ne da bi določil vse komponente, izhodno obremenitev, z uporabo varovalk na omrežnem krmilniku in na podsistem z optično sklopko, vključitvijo dobrega neprekinjenega ozemljitve in z uporabo optične/galvanske izolacije.

Možna izboljšava

Če pogledamo nazaj, bi bilo koristno vključiti vizualno oznako, da je bil izhod glavnega krmilnika aktiven (LED ali Neon). Čeprav to ni problem pri vsakodnevni uporabi, je glede na običajno prakso izoliranje tovora od napajanja, preden se izvede kakršno koli vzdrževanje, ali pa preprost pritisk na tipko lokalnega krmiljenja preklopi izhod v primeru, da lahko lučka sveti, ko je vklopljena.

Končna opomba

Če želite videti dva zelo slaba primera ravnanja z električno energijo, si oglejte spodnje povezave. Njihove Darwinove nagrade bodo kmalu objavljene, prepričan sem;

  • Podaljšek Mad Scientist
  • Povratne informacije skupnosti 03 - Skrb za varnost električne energije!

10. korak: Uporabljene reference

Za pripravo tega Instructable sem uporabil naslednje vire;

PubSubClient.h

  • Avtor: Nick O'Leary
  • Namen: napravi omogoča objavo ali naročanje na teme MQTT pri danem posredniku
  • Iz:

Bounce2.h

  • Avtor: Thomas O Fredericks
  • Namen: Vhodno stikalo se odklopi v programski opremi
  • Iz:

SPIFFS

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

Nadgradnja bliskavice Sonoff

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

Sonoffov diagram vezja

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

Modul USB UART (znan tudi kot 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

Darwinove nagrade (svetlobni relief)

https://www.darwinawards.com/

TIL111 Opto-izolacijski podatkovni list

Priporočena: