Sisällysluettelo:
- Vaihe 1: Piirin yleiskatsaus
- Vaihe 2: Sonoff RetroMods
- Vaihe 3: Rakentaminen ja kokoonpano
- Vaihe 4: Sonoff -ohjelmointisovitin
- Vaihe 5: Ohjelmistojärjestelmän yleiskatsaus
- Vaihe 6: Ohjelmiston yleiskatsaus
- Vaihe 7: OpenHAB -määritykset
- Vaihe 8: IoT -laitteen testaaminen
- Vaihe 9: Johtopäätös
- Vaihe 10: Käytetyt viitteet
Video: IoT -verkkovirta -ohjain. Osa 9: IoT, kotiautomaatio: 10 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
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 off Sonoff 10A täältä
- 1 off 7805L 5v jännitteen säädin täällä
- 1 pois 240/6VAC 1.5VA muuntaja täällä
- 2 pois 0,1 keraamista kondensaattoria
- 1 pois 1000uF @25v elektrolyyttikondensaattori täällä
- 1 pois sillan tasasuuntaaja 2W01 täältä
- 2 4K7 -vastusta pois
- 1 off 330R vastus täällä
- 1 pois SPST -painike tässä
- 1 off Mulitcomp BM12W ABS -kotelo täältä
- 1 off TIL111 opto-coupler täällä
- 1 off 3-tie riviliitin tässä
- 1 pois 2-tie koodattu molex-liitin täältä/täältä
- 1 off 3-tie koodattu molex-liitin täällä/täällä
- 1 off 5-tie koodattu molex-liitin täällä/täällä
- 1 off 5-tie molex nastat täällä
- 1 pois päältä Winbond SPI Flash (W25Q32FVSIG) tästä
- 1 20 mm: n sulakepidike + korkki täällä
- 1 off 20mm nopea isku 500mA sulake täällä
- 2 pois Polyamidi -kaapelitiivisteet
- 1 off UK -verkkopistoke (BS1363/A) tästä
- 1 off Yhdistyneen kuningaskunnan pistorasiasta (BS1363/A) täältä
- 7 kpl M3 16mm CS -nylonruuveja (sis. 10 mutteria) täällä/täällä
- 2 vetoketjua täällä
- 1 off veroboard (0,1 "pitch) täällä
- 1 off Eri pituudet 22swg tinattu kuparilanka täällä
- 1 off 3M White UK -johto täältä
- 10 Molex -pistorasian puristusta täällä
Ohjelmoija Sonoff
- 1 pois päältä LD33CV 3v3 jännitesäädin täältä
- 1 off TO-220 jäähdytyselementti täällä
- 1 pois jäähdytyselementti täältä
- 1 off 10uF @16v elektrolyyttikondensaattori täällä
- 1 pois 0,1 keraaminen kondensaattori täällä
- 1 pois SPDT -painike tässä
- 1 off 4K7 vastus täällä
- 1 pois 2-tie koodattu molex-liitin täältä/täältä
- 1 off 3-tie koodattu molex-liitin täällä/täällä
- 5 Molex -pistorasian puristusta täällä
- 1 off 6-tie molex pistorasia täällä
- 1 pois SPST -painike tässä
- 1 pois 2,1 mm: n virtalähteestä
- 1 off veroboard (0,1 "pitch) täällä
- 1 pois USB -sarjasovitin (FTDI) täällä
Mitä ohjelmistoja tarvitsen?
- Arduino IDE 1.6.9 täällä
- Arduino IDE on määritetty ohjelmoimaan ESP8266. Katso tästä; Arduino IDE: n määrittäminen ohjelmoimaan ESP8266-01
Mitä työkaluja tarvitsen?
- Juotin,
- Pora ja erilaiset terät (mukaan lukien porrastettu reikäleikkuri kaapelitiivisteille ja ohjauspainike),
- Ruuvimeisselit (erilaisia),
- Säädettävät jakoavaimet (kaksi irti, leuan leveys> 25 mm, kaapelitiivisteille),
- Tiedostot (erilaiset),
- Vahva pahe,
- Kuuma pyssy,
- DMM (mieluiten CAT IV).
Mitä taitoja tarvitsen?
- Hyvä käsitys elektroniikasta ja kodin sähköturvallisuudesta/suunnittelusta/johdotuksesta jne.,
- Tieto Arduinosta ja sen IDE: stä
- Hyvät valmistustaidot (juottaminen, viilaus, poraus jne.),
- Jonkin verran kärsivällisyyttä,
- 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
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 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
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
On otettava huomioon kaksi näkökohtaa, kun Sonoff 10A ohjelmoidaan uudelleen Arduino IDE: n kautta;
- Arduino IDE: n määrittäminen ohjelmoimaan ESP8266,
- 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)
- Varmista ensin, ettei Sonoffiin ole kytketty ulkoista verkkovirtaa,
- Pidä Sonoff -laitteen painiketta painettuna. (kuva 1 yllä, merkitty uudelleen salaman painike),
- Liitä ulkoinen DC 3v3 -syöttö nastaan 1. (kuva 2 yllä),
- Vapauta Sonoff -painike,
- 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
- Pidä Sonoff-salaman uudelleen salaman painiketta painettuna,
- Syötä 3v3 -syöttö painamalla hetkellisesti S2,
- Vapauta uudelleen salaman painike,
- 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
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
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
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
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:
Seuraavan sukupolven kotiautomaatio Eagle Cadin avulla (osa 1 - PCB): 14 vaihetta
Next Generation Home Automation using Eagle Cad (Part 1 - PCB): Johdanto: Miksi sanon sen seuraavan sukupolven: koska se käyttää joitakin komponentteja, jotka ovat paljon parempia kuin perinteiset kotiautomaatiolaitteet. Se voi ohjata laitteita: Google Voice Commandsin kosketuspaneelilla laitteen ohjauksessa sovelluksesta
Infinity Gauntlet -ohjattu kotiautomaatio: 8 vaihetta (kuvilla)
Infinity Gauntlet -ohjattu kotiautomaatio: Edellisessä projektissani olen tehnyt ääretön hansikas, joka ohjaa valokytkintä. Halusin käyttää kuutta kiveä ja jokainen kivi voi ohjata laitetta, oven lukkoa tai valaistusta, joten tein kodin automaatiojärjestelmän käyttäen ääretöntä hansikasta. Tässä projektissa
GPS -autonseuranta tekstiviesti -ilmoituksella ja Thingspeak -tietojen latauksella, Arduino -pohjainen, kotiautomaatio: 5 vaihetta (kuvilla)
GPS -autonseuranta tekstiviesti -ilmoituksella ja Thingspeak -tietojen latauksella, Arduino -pohjainen, kotiautomaatio: Tein tämän GPS -seurannan viime vuonna ja koska se toimii hyvin, julkaisen sen nyt Instructable -sivustossa. Se on kytketty tavaratilan lisävarustepistokkeeseen. GPS -seurantalaite lataa auton sijainnin, nopeuden, suunnan ja mitatun lämpötilan mobiilidatan kautta
Retro -puhesynteesi. Osa: 12 IoT, kotiautomaatio: 12 vaihetta (kuvilla)
Retro -puhesynteesi. Osa: 12 IoT, kotiautomaatio: Tämä artikkeli on 12. koti -automaation Instructables -sarjassa, joka dokumentoi IoT Retro Speech Synthesis Device -laitteen luomisen ja integroinnin olemassa olevaan kodin automaatiojärjestelmään, mukaan lukien kaikki tarvittavat ohjelmistotoiminnot, jotka mahdollistavat
Android- ja Arduino -tekstiviestipohjainen kotiautomaatio: 5 vaihetta (kuvilla)
Android- ja Arduino -SMS -pohjainen kotiautomaatio:! ! ! ILMOITUS ! ! Koska paikallista matkapuhelintornia päivitetään alueellani, en voi enää käyttää tätä GSM -moduulia. Uudempi torni ei enää tue 2G -laitteita. Siksi en voi enää antaa tukea tälle projektille. Äskettäin olen