Sisällysluettelo:

IoT -verkkovirta -ohjain. Osa 9: IoT, kotiautomaatio: 10 vaihetta (kuvilla)
IoT -verkkovirta -ohjain. Osa 9: IoT, kotiautomaatio: 10 vaihetta (kuvilla)

Video: IoT -verkkovirta -ohjain. Osa 9: IoT, kotiautomaatio: 10 vaihetta (kuvilla)

Video: IoT -verkkovirta -ohjain. Osa 9: IoT, kotiautomaatio: 10 vaihetta (kuvilla)
Video: IoT | Internet of Things | What is IoT ? | How IoT Works? | IoT Explained in 6 Minutes | Simplilearn 2024, Heinäkuu
Anonim
IoT -verkkovirta -ohjain. Osa 9: IoT, kodin automaatio
IoT -verkkovirta -ohjain. Osa 9: IoT, kodin automaatio

Vastuuvapauslauseke

LUE TÄMÄ ENSIN

Tämä ohje sisältää yksityiskohdat projektista, joka käyttää verkkovirtaa (tässä tapauksessa UK 240VAC RMS), vaikka turvallisen käytännön ja hyvän suunnitteluperiaatteen noudattaminen on huolehdittu kaikin mahdollisin tappavin sähköiskuin, kun työskentelet näiden syöttöjännitteiden kanssa. jonka tekijä ei voi ottaa vastuuta, jos henkilövahinko tai omaisuusvahinko sattuvat sen sisältöä seurattaessa. Näin ollen teet tämän projektin omalla vastuullasi.

Johdanto

Tämä artikkeli, yhdeksäs kodin automaatiota koskevasta sarjasta, dokumentoi Sonoff 10A IoT -verkko -ohjaimen luomisen ja integroinnin olemassa olevaan kotiautomaatiojärjestelmään, joka sisältää kaikki tarvittavat ohjelmistotoiminnot onnistuneen käyttöönoton mahdollistamiseksi kotiympäristössä.

Johdanto

Kuten edellä mainittiin, tässä ohjeessa kerrotaan, miten IoT -verkko -ohjain tehdään ja integroidaan iTeadin Sonoff 10A: n avulla. Itse laitteen on ilmoitettu olevan luokiteltu 10 ampeerille @ 90 ~ 250 VAC, mutta tämä toteutus laskee sen 5 ampeeriin sulaketun pistokkeen kautta, joka tarjoaa Yhdistyneen kuningaskunnan 240 VAC: n RMS-päävirtalähteen.

Suunnittelumenetelmä integroituu saumattomasti MQTT/OpenHAB -pohjaiseen IoT -verkkoon, joka on kuvattu tässä sarjassa kotiautomaation rakentamisesta, ja se on otettu täältä. Se pystyy myös käsittelemään minkä tahansa IoT -verkkoelementin katoamisen, ja sitä voidaan käyttää täysin itsenäisesti. Erillisessä tilassa laitetta hallitaan yksinkertaisesti painamalla kotelon yläosassa olevaa ohjauspainiketta, joka vaihtaa syöttöjännitteen.

Tämän Sonoff -laitteen paikallisen ohjauksen ottamiseksi GPIO14 tuodaan ulos kotelosta ja sitä käytetään liipaisutulona. Turvallisuuden takaamiseksi tämä tulo syötetään opto-kytkentäpiirin kautta ja sijoitetaan muovikoteloon siten, että käyttäjä ei koskaan altistu verkkovirralle.

Lopuksi proosa hahmottaa myös, kuinka ESP8266-laite voidaan ohjelmoida uudelleen Sonoff 10A: ssa Arduino IDE: n avulla, ja antaa täydelliset piiritiedot laitteesta, jota voidaan käyttää kohdekoodin luotettavaan ohjelmointiin.

Mitä osia tarvitsen?

Sonoffin verkkovirtasäädin

  1. 1 off Sonoff 10A täältä
  2. 1 off 7805L 5v jännitteen säädin täällä
  3. 1 pois 240/6VAC 1.5VA muuntaja täällä
  4. 2 pois 0,1 keraamista kondensaattoria
  5. 1 pois 1000uF @25v elektrolyyttikondensaattori täällä
  6. 1 pois sillan tasasuuntaaja 2W01 täältä
  7. 2 4K7 -vastusta pois
  8. 1 off 330R vastus täällä
  9. 1 pois SPST -painike tässä
  10. 1 off Mulitcomp BM12W ABS -kotelo täältä
  11. 1 off TIL111 opto-coupler täällä
  12. 1 off 3-tie riviliitin tässä
  13. 1 pois 2-tie koodattu molex-liitin täältä/täältä
  14. 1 off 3-tie koodattu molex-liitin täällä/täällä
  15. 1 off 5-tie koodattu molex-liitin täällä/täällä
  16. 1 off 5-tie molex nastat täällä
  17. 1 pois päältä Winbond SPI Flash (W25Q32FVSIG) tästä
  18. 1 20 mm: n sulakepidike + korkki täällä
  19. 1 off 20mm nopea isku 500mA sulake täällä
  20. 2 pois Polyamidi -kaapelitiivisteet
  21. 1 off UK -verkkopistoke (BS1363/A) tästä
  22. 1 off Yhdistyneen kuningaskunnan pistorasiasta (BS1363/A) täältä
  23. 7 kpl M3 16mm CS -nylonruuveja (sis. 10 mutteria) täällä/täällä
  24. 2 vetoketjua täällä
  25. 1 off veroboard (0,1 "pitch) täällä
  26. 1 off Eri pituudet 22swg tinattu kuparilanka täällä
  27. 1 off 3M White UK -johto täältä
  28. 10 Molex -pistorasian puristusta täällä

Ohjelmoija Sonoff

  1. 1 pois päältä LD33CV 3v3 jännitesäädin täältä
  2. 1 off TO-220 jäähdytyselementti täällä
  3. 1 pois jäähdytyselementti täältä
  4. 1 off 10uF @16v elektrolyyttikondensaattori täällä
  5. 1 pois 0,1 keraaminen kondensaattori täällä
  6. 1 pois SPDT -painike tässä
  7. 1 off 4K7 vastus täällä
  8. 1 pois 2-tie koodattu molex-liitin täältä/täältä
  9. 1 off 3-tie koodattu molex-liitin täällä/täällä
  10. 5 Molex -pistorasian puristusta täällä
  11. 1 off 6-tie molex pistorasia täällä
  12. 1 pois SPST -painike tässä
  13. 1 pois 2,1 mm: n virtalähteestä
  14. 1 off veroboard (0,1 "pitch) täällä
  15. 1 pois USB -sarjasovitin (FTDI) täällä

Mitä ohjelmistoja tarvitsen?

  1. Arduino IDE 1.6.9 täällä
  2. Arduino IDE on määritetty ohjelmoimaan ESP8266. Katso tästä; Arduino IDE: n määrittäminen ohjelmoimaan ESP8266-01

Mitä työkaluja tarvitsen?

  1. Juotin,
  2. Pora ja erilaiset terät (mukaan lukien porrastettu reikäleikkuri kaapelitiivisteille ja ohjauspainike),
  3. Ruuvimeisselit (erilaisia),
  4. Säädettävät jakoavaimet (kaksi irti, leuan leveys> 25 mm, kaapelitiivisteille),
  5. Tiedostot (erilaiset),
  6. Vahva pahe,
  7. Kuuma pyssy,
  8. DMM (mieluiten CAT IV).

Mitä taitoja tarvitsen?

  1. Hyvä käsitys elektroniikasta ja kodin sähköturvallisuudesta/suunnittelusta/johdotuksesta jne.,
  2. Tieto Arduinosta ja sen IDE: stä
  3. Hyvät valmistustaidot (juottaminen, viilaus, poraus jne.),
  4. Jonkin verran kärsivällisyyttä,
  5. Hieman ymmärrystä kotiverkostasi.

Käsitellyt aiheet

  • Johdanto
  • Piirin yleiskatsaus
  • Sonoff RetroMods
  • Rakennus- ja kokoonpanotiedot
  • Sonoff -ohjelmointisovitin
  • Ohjelmistojärjestelmän yleiskatsaus
  • Ohjelmiston yleiskatsaus
  • OpenHAB -määritykset
  • IoT -laitteen testaaminen
  • Johtopäätös
  • Käytetyt viitteet

Sarjan linkit

Osa 8: WiFi IoT -lämpötila- ja kosteusanturi. Osa: 8 IoT, kotiautomaatio

Osaan 10: IR -kaukosäädin IoT: n kautta. Osa 10 IoT, kodin automaatio

Vaihe 1: Piirin yleiskatsaus

Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus
Piirin yleiskatsaus

Yleiskatsaus

Kuten yllä olevassa johdannossa mainittiin, verkkovirtasäätimen paikalliseen kytkemiseen päälle ja pois päältä tarvitaan Sonoffin sisäisen ESP8266: n tulo. Tällaisen ulkoisen tulon käyttöönotto edellyttää Sonoff ABS -kotelon rikkomista ja aiheuttaa siten mahdollisen sähköiskun. Tämän ratkaisemiseksi käytin optista eristystä siten, että verkkovirralle ei ole mahdollisuutta altistua verkko -ohjaimen järjestelmän kotelon ulkopuolelle.

Seuraavassa on kuvaus optoeristyspiiristä (kuvassa 1 yllä).

Piirin tiedot

Optoeristyspiiri saa tehonsa suoraan laitteeseen liitetystä verkkovirrasta. 240 VAC RMS: ää käytetään vaihe-/erotusmuuntajaan TR1 J1-liitännän kautta, pheonix-kosketin MKDSN2, 5/3-5.08 polyamidi 3-tieliitin, jonka nimellisarvo on 16 A 400 V, ja joka pystyy kuljettamaan 2,5 mm (sq) CSA-kaapelin ja F1 500 mA 20 mm nopea sulake. TR1: n toisiokäämissä käytettävissä oleva 6 VAC on täysi aalto, joka on oikaistu diodisillalla B1.

Tämä täyden aallon tasasuuntainen lähtö stabiloidaan ja säädetään C1, C2 C3, R3 ja IC1 7805L -sarjan shunttisäätimellä, mikä antaa hyvän, puhtaan 5V syöttökiskon.

5V-kiskoa käytetään sitten ohjaamaan OK1: n tuloa TIL111-optoeristimeen ulkoisesti asennetun valkoisen SPST-painikkeen kautta, joka on kytketty J3: n yli. TIL111: n lähtö on kytketty Sonoff GPIO14 -tuloon R2: n kautta 4K7 -vetovastus. Näin saavutetaan parempi eristys kuin 340 V (eli huippujännite = (240 VAC*neliöjuuri (2))).

Vaihe 2: Sonoff RetroMods

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

Sonoff 10A -laitteen integroimiseksi on tehtävä joitain taannehtivia muutoksia.

Ensimmäinen on lisätä 5-suuntainen 0,1 : n nousu-molex-liitin, kuten yllä olevassa kuvassa 1. Tämä mahdollistaa pääsyn Sonoffin GPIO14-laitteeseen, kun suojakansi on vaihdettu kuten kuvissa 2 ja 3 edellä.

Vaikka sitä ei ole esitetty yllä, toin esiin myös sarja-TX/RX-linjat paikan päällä tapahtuvan ohjelmoinnin mahdollistamiseksi (katso johdinsarja SK1..3 vaiheessa 1 edellä).

Toinen muutos on SPI Flash -laitteen koon kasvattaminen oletusarvoisesta 1 megatavusta 4 megatavua. Tämä mahdollistaa riittävän tilan IoT -verkkopalvelintiedostojen säilyttämiseksi SPIFFS -tiedostossa.

Ostin SMD SPI flash -laitteen (W25Q32FVSIG) Ebaysta täältä

Salaman vaihtamiseksi poistin väliaikaisesti Sonoff -LEDin, kuten kuvassa 4, jotta pääsen paremmin käsiksi SMD -laitteeseen. Salaman juottamiseen käytin lämpöpistoolia, kuten kuvassa 5 on esitetty. Juotetaan sitten sekä 4 megatavun salama että LED vastaavasti (kuva 6).

Vaihe 3: Rakentaminen ja kokoonpano

Rakennus- ja kokoonpanotiedot
Rakennus- ja kokoonpanotiedot
Rakennus- ja kokoonpanotiedot
Rakennus- ja kokoonpanotiedot
Rakennus- ja kokoonpanotiedot
Rakennus- ja kokoonpanotiedot
Rakennus- ja kokoonpanotiedot
Rakennus- ja kokoonpanotiedot

Liitin verkkovirtasäätimen Mulitcomp BM12W ABS -laatikkoon (kuva 1 yllä). Tässä kotelossa on eristetyt messinkiset M3-insertit, jotka mahdollistavat monikäyttöisen yksikön ilman, että kiinnityskierteet vaarantuvat siten, että sisäinen sulake voidaan tarvittaessa vaihtaa tai sisäinen tarkastus voidaan tehdä ajan mittaan (samaa ei voida sanoa Sonoff-laitteesta on käytännöllisesti katsoen vain yhden kerran suljin itseporautuvilla).

Verkkovirtajohdon ensisijainen vedonpoisto saavutettiin valkoisella M16 Nylon/Polyamide 6/6 -kaapeliläpiviennillä, joka tukee kaapelia OD Min/Max 5mm/10mm.

Toissijainen vedonpoisto tapahtui yhdellä vetoketjulla, joka asetettiin kaapelille, jos liikaa rasitusta ja kaapelitiiviste epäonnistuu, vetoketju pitää kaapelin paikallaan.

Kaapelitiivisteiden asentamiseksi ja riittävästi tilaa Sonoff- ja optoeristyselektroniikan asentamiseksi irrotin sisäiset PCB-kiinnitysrivat edellä kuvatulla tavalla (kuva 2).

Kaikki elektroniikka kiinnitettiin tukevasti M3 -nylon CS -ruuveilla, jotta kotelon ulkopuolen eristys säilyi. Optoeristyselektroniikka on asennettu 5 kiinnityspisteellä, jotta varmistetaan mekaaninen lujuus, jos laite pudotetaan, mikä estää eristysmuuntajan massan rikkomasta veroboard-piirin.

Laitteen syöttö saavutettiin Yhdistyneen kuningaskunnan vakiovärikoodatulla valkoisella 3-ytimisellä PVC-eristetyllä verkkojohtimella, monisäikeisellä (32/0,2 mm2) 1 mm (sq) CSA-kaapelilla. joiden OD on 7,2 mm ja jotka kykenevät kantamaan 10A.

Laite on kytketty Ison -Britannian verkkovirtaan (240 VAC RMS) tavallisen 3 -napaisen turvatulpan (BS 1363/A) kautta. Pistoke sulake 5A.

Kaikki verkkovirtajohdot optoeristyspiiriin liitettiin pheonix contact MKDSN2, 5/3-5.08 polyamidiliittimillä, joiden nimellisarvo on 16 A 400 V, ja jotka voivat kuljettaa 2,5 mm (sq) CSA-kaapelin, mikä tarjoaa runsaasti kapasiteettia kahdelle kaapelille jokaista asemaa.

Verkkokaapeleita ei tinattu, vaan ne on kierretty estämään sydämen läikkyminen ennen liitäntälohkoon asettamista. Verkkokaapeleiden tinominen on vaarallinen käytäntö, koska juote "rentoutuu" ajan myötä, jolloin kaapeli katoaa liitinlohkossa.

Huomautus:

  • OD = Ulkohalkaisija.
  • VAC = voltin vaihtovirta
  • RMS = Root Mean Square
  • CSA = poikkileikkausalue
  • CS = Laskuri

Vaihe 4: Sonoff -ohjelmointisovitin

Sonoff -ohjelmointisovitin
Sonoff -ohjelmointisovitin
Sonoff -ohjelmointisovitin
Sonoff -ohjelmointisovitin
Sonoff -ohjelmointisovitin
Sonoff -ohjelmointisovitin
Sonoff -ohjelmointisovitin
Sonoff -ohjelmointisovitin

On otettava huomioon kaksi näkökohtaa, kun Sonoff 10A ohjelmoidaan uudelleen Arduino IDE: n kautta;

  1. Arduino IDE: n määrittäminen ohjelmoimaan ESP8266,
  2. Itse laitteiston ohjelmointi.

Arduino IDE: n määrittäminen ohjelmoimaan ESP8266

Määritä Ardino IDE noudattamalla tässä olevia ohjeita Arduino IDE: n määrittäminen ESP8266-01 ohjelmoimiseksi

Laitteiston ohjelmointi

Tämä on monivaiheinen prosessi, kuten kaikissa tapauksissa ESP8266: n kanssa. Tässä Sonoff -virta syötetään kortille ulkoisen vakautetun 3v3 DC -lähteen kautta, EI verkkovirrasta. USB -sarjalaite tarvitaan tietojen lähettämiseen ja vastaanottamiseen Sonoffista. Liitä TX ja RX kuvien 2 ja 4 mukaisesti.

Ohjelmointivaiheet (yleinen)

  1. Varmista ensin, ettei Sonoffiin ole kytketty ulkoista verkkovirtaa,
  2. Pidä Sonoff -laitteen painiketta painettuna. (kuva 1 yllä, merkitty uudelleen salaman painike),
  3. Liitä ulkoinen DC 3v3 -syöttö nastaan 1. (kuva 2 yllä),
  4. Vapauta Sonoff -painike,
  5. Laite voidaan nyt ohjelmoida uudelleen tavalliseen tapaan Arduino IDE: n kautta.

Asioiden helpottamiseksi olen luonut yllä olevan ohjelmointilaitteen (kuvat 3 ja 4), joka on liitetty Sonoffiin johdinsarjan SK1… 3 kautta (kuten tässä opetusvaiheessa 1 on kuvattu). Tämä helpotti ESP8266: n ohjelmointia. Se tarjosi myös keinon testata GPIO14 tulona käyttämällä R1, 4K7 -vetovastus ja painike S1.

Käyttämällä yllä olevaa ohjelmointilaitetta (kuvat 3 ja 4) Ohjelmointivaiheet ovat

  1. Pidä Sonoff-salaman uudelleen salaman painiketta painettuna,
  2. Syötä 3v3 -syöttö painamalla hetkellisesti S2,
  3. Vapauta uudelleen salaman painike,
  4. Laite voidaan nyt ohjelmoida.

HUOMAUTUS - VAROITUS

ÄLÄ missään olosuhteissa saa syöttää virtaa verkkovirran kautta Sonoffin uudelleenohjelmointitoiminnon aikana

Vaihe 5: Ohjelmistojärjestelmän yleiskatsaus

Ohjelmistojärjestelmän yleiskatsaus
Ohjelmistojärjestelmän yleiskatsaus
Ohjelmistojärjestelmän yleiskatsaus
Ohjelmistojärjestelmän yleiskatsaus

Tämä IoT -verkkovirtaohjainlaite sisältää suurelta osin samat kuusi ohjelmistokomponenttia kuin Instructable WiFi IoT -lämpötila- ja kosteusanturissa. Osa: 8 IoT, kotiautomaatio ja näkyy kuvassa 1, hieman mukautettuna.

SPIFFS

Tämä on (päivitetty 4 Mt: iin) sisäinen SPI Flash-arkistointijärjestelmä ja sitä käytetään seuraavien tietojen tallentamiseen (katso kuva 2 yllä);

  • Kuvakkeet ja 'Verkko -ohjaimen kokoonpanon kotisivu' html: IoT -laite palvelee sitä, kun se ei pysty muodostamaan yhteyttä IoT -WiFi -verkkoon (yleensä virheellisten suojaustietojen vuoksi) ja tarjoaa käyttäjälle mahdollisuuden konfiguroida verkko -ohjain etänä ilman tarve ohjelmoida tai ladata uutta SPIFFS-sisältöä.
  • Suojaustiedot: Tämä sisältää tiedot, joita IoT -laite käyttää käynnistettäessä muodostaakseen yhteyden IoT -WiFi -verkkoon ja MQTT Brokeriin. 'Mains Controller Configuration Home -sivun' kautta lähetetyt tiedot kirjoitetaan tähän tiedostoon ('secvals.txt').

Huomautus: Jos haluat määrittää laitteen aluksi, katso täältä lisätietoja SPIFFS: n käytöstä Arduino IDE: n kanssa.

mDNS -palvelin

Tätä toimintoa käytetään, kun IoT -laite ei ole muodostanut yhteyttä WiFi -verkkoon WiFi -asemana ja siitä on tullut WiFi -tukiasema, joka muistuttaa kotimaista WiFi -reititintä. Tällaisessa reitittimessä muodostat yleensä yhteyden siihen kirjoittamalla esimerkiksi 192.168.1.1: n IP -osoitteen (joka on yleensä painettu laatikkoon kiinnitettyyn tarraan) suoraan selaimesi URL -palkkiin, jonka jälkeen saat kirjautumissivun syötettäväksi käyttäjätunnus ja salasana, joiden avulla voit määrittää laitteen. ESP8266 AP -tilassa (tukiasematilassa) laitteen oletusarvo on IP -osoite 192.168.4.1, mutta mDNS -palvelimen ollessa käynnissä sinun on syötettävä vain ihmisystävällinen nimi MAINSCON.local selaimen URL -palkkiin nähdäksesi 'Verkkosäätimen kokoonpanon kotisivu'.

MQTT -asiakas

MQTT -asiakas tarjoaa kaikki tarvittavat toiminnot; muodosta yhteys IoT -verkon MQTT -välittäjään, tilaa haluamasi aiheet ja julkaise tietyn aiheen hyötykuormia. Lyhyesti sanottuna se sisältää IoT -ydintoimintoja.

HTTP -verkkopalvelin

Kuten edellä mainittiin, jos IoT -laite ei pysty muodostamaan yhteyttä WiFi -verkkoon, jonka SSID, P/W jne. On määritetty SPIFFS -tiedostossa olevassa suojaustiedostossa, laitteesta tulee tukiasema. Kun yhteys on muodostettu tukiaseman tarjoamaan WiFi -verkkoon, HTTP -verkkopalvelimen avulla voit muodostaa yhteyden suoraan laitteeseen ja muuttaa sen kokoonpanoa HTTP -verkkoselaimen avulla. Kotisivun verkkosivu, joka on myös SPIFFS -muodossa.

WiFi -asema

Tämä toiminto antaa IoT -laitteelle mahdollisuuden muodostaa yhteys kotimaiseen WiFi -verkkoon suojaustietojen parametrien avulla, ilman tätä IoT -laitteesi ei voi tilata/julkaista MQTT -välittäjää

WiFi -tukiasema

Kyky tulla WiFi -yhteyspisteeksi on keino, jolla IoT -laitteen avulla voit muodostaa yhteyden siihen ja tehdä muutoksia asetuksiin WiFi -aseman ja selaimen (kuten Safarin kautta Apple iPadissa) kautta. Tämä tukiasema lähettää SSID = "MAINSCON" + IoT -laitteen MAC -osoitteen kuusi viimeistä numeroa. Tämän suljetun verkon salasana on mielikuvituksellisesti nimeltään SALASANA.

Vaihe 6: Ohjelmiston yleiskatsaus

Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus
Ohjelmiston yleiskatsaus

Johdanto Tämän lähdekoodin kääntämiseksi tarvitset seuraavat ylimääräiset kirjastot;

PubSubClient.h

  • Kirjailija: Nick O'Leary
  • Tarkoitus: Antaa laitteen julkaista tai tilata MQTT -aiheita tietyn välittäjän kanssa
  • Lähde:

Bounce2.h

  • Kirjailija: Thomas O Fredericks
  • Tarkoitus: Tulokytkimen purku ohjelmistossa
  • Lähde:

Koodin yleiskatsaus

Ohjelmisto käyttää tilakonetta, kuten kuvassa 1 on esitetty (koko lähde jäljempänä). On viisi päätilaa seuraavasti;

  • SEN SISÄLLÄ

    Tämä alustustila on ensimmäinen tila, joka syötetään käynnistyksen jälkeen

  • NOCONFIG

    Tämä tila syötetään, jos käynnistyksen jälkeen havaitaan virheellinen tai puuttuva secvals.txt -tiedosto

  • ODOTETTU NYT

    Tämä tila on väliaikainen, syötetty, vaikka WiFi -verkkoyhteyttä ei ole

  • MÄÄRÄ MQTT

    Tämä tila on ohimenevä, syötetään sen jälkeen, kun WiFi -verkkoyhteys on muodostettu, ja vaikka ei ole yhteyttä MQTT -välittäjään kyseisessä verkossa

  • AKTIIVINEN

    Tämä on normaali toimintatila, joka syötetään, kun sekä WiFi -verkkoyhteys että MQTT Broker -yhteys on muodostettu. Tässä tilassa pääohjain julkaisee MQTT Brokerille ja vastaanottaa komentoja tilattujen aiheiden kautta

Tapahtumat, jotka ohjaavat tilojen välisiä siirtymiä, on kuvattu yllä olevassa kuvassa 1. Siirtymisiä tilojen välillä säätelevät myös seuraavat SecVals -parametrit;

  • Ensimmäinen MQTT -välittäjän IP -osoite. Pisteviiva desimaalimuodossa AAA. BBB. CCC. DDD
  • Toinen MQTT -välittäjäportti. Kokonaisluku muodossa.
  • Kolmas MQTT Broker -yhteys yrittää tehdä ennen siirtymistä STA -tilasta AP -tilaan. Kokonaisluku muodossa.
  • 4. WiFi -verkon SSID. Vapaassa muodossa.
  • Viides WiFi -verkon salasana. Vapaassa muodossa.

Kuten edellä mainittiin, jos IoT -laite ei pysty muodostamaan yhteyttä WiFi -asemana WiFi -verkkoon, jonka SSID ja P/W on määritetty SPIFFS -tiedostossa olevassa secvals.txt -tiedostossa, laitteesta tulee tukiasema. Kun se on liitetty tähän tukiasemaan, se näyttää 'päävirtakytkimen kokoonpanon kotisivun', kuten yllä kuvassa 2 (kirjoittamalla selaimesi URL -osoitepalkkiin joko "MAINSCON.local" tai 192.168.4.1). Tämä kotisivu mahdollistaa verkko -ohjaimen uudelleenkonfiguroinnin HTTP -selaimen kautta.

MQTT Aiheen nimeämiskäytäntö

Yllä olevassa kuvassa 3 esitetään MQTT -aiheisiin käytetty nimityskäytäntö ja se on yhdenmukainen aikaisemman Instructable -ohjelman (tässä vaiheessa 5) käyttämän mallin kanssa.

MQTT Tämän IoT -laitteen käyttämät aiheet

Selvyyden vuoksi olen dokumentoinut (kuva 4) aiheet ja niihin liittyvät viestisarjat, jotka tämä laite julkaisee/tilaa. Kuva kuvaa myös vuorovaikutusta kotelon ulkopuolella olevan valkoisen ohjauspainikkeen kanssa (vaikka ironisesti painike näkyy punaisena).

Konfiguroinnin etäkäyttö ACTIVE -tilassa

Kun yhteys MQTT Brokeriin on muodostettu, laitteen suojausparametrit voidaan konfiguroida etänä uudelleen MQTT -aihejulkaisujen kautta. Liittyvässä tiedostossa secvals.txt on vain kirjoitusoikeus.

Käyttäjän virheenkorjaus

Käynnistysjakson aikana Sonoff -laitteen led antaa seuraavan virheenkorjauspalautteen. 3v3 jännitteellä;

  • 1 Lyhyt salama: Ei määritystiedostoa SPIFFS -tiedostossa (secvals.txt),
  • 2 Lyhyet välähdykset: IoT -laite yrittää muodostaa yhteyden WiFi -verkkoon,
  • Jatkuva valaistus: Sonoff IoT -laite yrittää muodostaa yhteyden MQTT Brokeriin,
  • Pois: Laite on aktiivinen ja yhdistetty MQTT Brokeriin.

Huomautus 1: Verkkokortin kokoonpanon kotisivu ei käytä suojattuja pistorasioita, ja siksi se luottaa siihen, että verkko on suojattu.

Huomautus 2: Useiden IoT -laitteiden ohjelmoimiseksi MQTT -merkkijono vaatii muokkaamista ennen lataamista kullekin laitteelle. Tämä johtuu siitä, että verkko -ohjaimen tunnusnumero on upotettu MQTT -aihemerkkijonoon. eli. julkaistussa ohjelmistossa valitsin arvon 100: 'WFD/MainsCont/100/Relay/Command/1' ja kahdelle laitteelleni ne on numeroitu 1 ja 2.

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

Huomautus 3: Täydellisyyden vuoksi aktiivisessa tilassa IoT-ohjelmisto mahdollistaa Sonoff-LED-valon ohjaamisen ja uudelleensalautuspainikkeen tilan julkaisemisen. Vaikka nämä ovat arvokkaita vain virheenkorjausprosessin aikana, koska kumpikaan niistä ei altistu käyttäjälle normaalin käytön aikana.

Vaihe 7: OpenHAB -määritykset

OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset
OpenHAB -määritykset

Testaustarkoituksia varten päätin ottaa käyttöön kaksi verkkovirtasäädintä kotini olohuoneessa. Tämä OpenHAB -sivu pääsee sivun pääsivun kautta, kuten kuvassa 1.

Muutin OpenHAB.sitemap -konfiguraatiota, joka annettiin aiemmassa Instructable -ohjelmassa (tässä), ja lisäsin yksittäisiä merkintöjä 'Mains Controller 1' ja 'Mains Controller 2' (kuva 2 yllä). Lisäsin myös merkinnät (Olohuoneen verkkovirtaukset 1 ja 2) näyttääkseni kahden uuden IoT -laitteen vastaanottimesta mitatut RSSI -trendit (kuva 3).

Lopuksi lisäsin.rules- ja.items -tiedostoihin merkintöjä, jotta Sonoffin dynaaminen tilasynkronointi ja päivitys/animointi huonosta yrityksestäni vaihtaa grafiikkaa (kytkin sulkeutuu, kun se on aktiivinen ja avautuu, kun se ei ole aktiivinen). Kuva 2 antaa esimerkin MC1 aktiivisesta ja MC2 inaktiivisesta.

Huomautus 1: Jos et ole varma OpenHAB: n käytöstä, katso täältä 'OpenHAB: n määrittäminen ja määrittäminen. Osa 6: IoT, kodin automaatio '

Huomautus 2: Kopio muokatusta sivustokartasta, säännöt ja kohteetiedostot, kuvakkeet jne. On alla olevassa zip -tiedostossa.

Huomautus 3: RSSI = vastaanotetun signaalin voimakkuuden ilmaisin. Tämä on mitta siitä, kuinka hyvin IoT -laite näkee WiFi -verkon.

Vaihe 8: IoT -laitteen testaaminen

Image
Image
IoT -laitteen testaaminen
IoT -laitteen testaaminen

Kuten kohdassa Instructable WiFi IoT lämpötila- ja kosteusanturi on kuvattu. Osa: 8 IoT, kotiautomaatio Vaihe 7, IoT-laitteen alkutestaus suoritettiin MQTT-yhteyden kautta MQTT Spyn kautta (kuten järjestelmän lohkokaaviossa kuva 1 yllä), seuraten led-lähtöä, painikkeiden tuloja (sekä Sonoffin uudelleen salaman painike että valkoinen ulkoinen painike) ja debug -liikenne sarjaliitännässä. Näin sain käyttää kaikkia saatavilla olevia tilattuja aiheita ja tarkistaa julkaistut vastaukset. Vaikka tämäkin kannettiin manuaalisesti ja oli aikaa vievää, vaikka se mahdollisti 100% viestien/aihejulkaisujen kattavuuden.

Koska pääohjelmiston tilakone (vaihe 6 yllä) on peritty aiemmasta Instructable -ohjelmasta (osa: 8), muut kuin järkevyyden tarkistaminen, ohjelmisto voi muodostaa yhteyden WiFi N/W- ja MQTT Broker -laitteisiin, oletettiin tämän toimivan oikein.

Täydellinen järjestelmätason testaus saatiin sitten päätökseen verkkovirtasäätimellä ja IoT -infrastruktuurilla (jälleen kuva 1) tällä kertaa OpenHAB: n avulla hallitsemaan vuorovaikutusta IoT -laitteen kanssa. IoT -laitteisto ja nuken kuormitus on kuvattu yllä olevassa kuvassa 2.

Video antaa täydelliset tiedot järjestelmätesteistä ja osoittaa selvästi, että synkronointi ylläpidetään OpenHAB -laitteiden (PC/Chrome ja iPad/OpenHAB APP) välillä reaaliajassa. Se näyttää myös live -viestit verkkovirta -ohjaimille MQTTSpy: n kautta (katso täältä lisätietoja MQTT -välittäjän määrittäminen. Osa 2: IoT, kotiautomaatio) ja OpenHAB -järjestelmäloki raspberry pi -palvelimelta PuTTY SSH -yhteyden kautta (katso täältä lisätietoja yksityiskohdat OpenHAB: n asentaminen ja määrittäminen. Osa 6: IoT, kodin automaatio).

Huomautus: Virheenkorjausliikenne koottiin lopullista ohjelmistoversiota varten.

Vaihe 9: Johtopäätös

Yleistä

Projekti oli suhteellisen helppo toteuttaa ja toimi hyvin. Sulautettu ohjelmisto oli helppo valmistaa, koska se oli leikattu versio tämän sarjan osan 8 lämpötila- ja kosteusanturien koodista.

Ajattelin aluksi hankkia vain valkoisia komponentteja puhtaasti esteettisen laadun vuoksi. Saavutin tämän kaikissa paitsi ohjauspainikkeessa, yritä niin hyvin kuin pystyin, en pystynyt hankkimaan hyvää/halpaa täysin valkoista painiketta.

Sonoff 10A laite

Olen alla luetellut Sonoff -laitteen kohtuulliset edut ja haitat

Plussat

  • Halpa.
  • Hyvä yhteisötuki.
  • Voi ohjelmoida uudelleen Arduino IDE: n kautta.

Haittoja

  • Ohut kotelo.
  • Minimaalinen I/O (tuotu käytettäviin liittimiin).
  • Se toimii kuumana lepotilassa.
  • Sisältää vain 1 megatavun SPI-salaman.
  • Onko PITA ohjelmoitava uudelleen, kun se on kytketty paikalleen.
  • Kun uutta koodia integroitiin Sonoff -testaukseen, releen sulkeminen oli ongelmallista, koska rele on 5v ja Sonoffille ohjelmoitava syöttö on 3v3. Releen aktivointi on vain havaittavissa korvalle.

Huoli

  • Se ei vaihda neutraalia linjaa. Käyttää SPST -relettä.
  • Ei ole sulanut.
  • Huono kaapelin vedonpoisto.
  • Piirilevyä ei ole kiinnitetty Sonoff -koteloon.

Kommentoi suunnittelua

Koska tätä IoT-laitetta oli tarkoitus käyttää kytkemään jännitteinen UK-verkko (240 VAC RMS), noudatin sekä hyvää mekaanista että sähköistä suunnittelukäytäntöä ja varmistin, että sähköiskun vaara minimoitiin, kun en paljastanut sähköä johtavia materiaaleja, määrittäen kaikki komponentit, lähtökuorma, sulakesuojaus sekä pääohjaimessa että opto-kytkettyyn osajärjestelmään, hyvä jatkuva maadoitus ja optinen/galvaaninen eristys.

Mahdollinen parannus

Jälkeenpäin ajateltuna olisi ollut hyödyllistä sisällyttää visuaalinen ilmoitus siitä, että verkkovirtaohjaimen lähtö oli aktiivinen (LED tai neon). Vaikka tämä ei ole ongelma jokapäiväisessä käytössä, kun otetaan huomioon vakiokäytäntö eristää kuormitus verkosta ennen huoltoa, tai yksinkertainen paikallisohjauspainikkeen painallus vaihtaa tuotosta siinä tapauksessa, että lamppu voi syttyä, kun se on kytketty verkkovirtaan.

Loppuhuomautus

Jos haluat nähdä kaksi erittäin huonoa esimerkkiä verkkovirran käsittelystä, tutustu alla oleviin linkkeihin. Heidän Darwin -palkintonsa ovat postissa hyvin pian, olen aivan varma;

  • Mad Scientist jatkojohto
  • Yhteisön palaute 03 - Sähköturvallisuusongelmia!

Vaihe 10: Käytetyt viitteet

Käytin seuraavia lähteitä laittaakseni tämän ohjeen yhteen;

PubSubClient.h

  • Kirjailija: Nick O'Leary
  • Tarkoitus: Antaa laitteen julkaista tai tilata MQTT -aiheita tietyn välittäjän kanssa
  • Lähde:

Bounce2.h

  • Kirjailija: Thomas O Fredericks
  • Tarkoitus: Tulokytkimen purku ohjelmistossa
  • Lähde:

SPIFFS

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

Sonoff -salaman päivitys

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

Sonoffin piirikaavio

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

USB UART -moduuli (alias 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

Darwin -palkinnot (kevyt helpotus)

https://www.darwinawards.com/

TIL111 Optoeristimen tietolomake

Suositeltava: