Satura rādītājs:

IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija: 10 soļi (ar attēliem)
IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija: 10 soļi (ar attēliem)

Video: IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija: 10 soļi (ar attēliem)

Video: IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija: 10 soļi (ar attēliem)
Video: Zeitgeist Addendum 2024, Jūlijs
Anonim
IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija
IoT tīkla kontrolieris. 9. daļa: IoT, mājas automatizācija

Atruna

LASI ŠO PIRMO

Šajā pamācībā ir sīki izklāstīts projekts, kurā tiek izmantota tīkla strāva (šajā gadījumā AK 240 VAC RMS), lai gan tiek darīts viss iespējamais, lai izmantotu drošu praksi un labus projektēšanas principus, strādājot ar šiem barošanas spriegumiem, vienmēr pastāv potenciāli nāvējošs elektriskās strāvas trieciena risks. autors nevar uzņemties nekādu atbildību, ja, sekojot tās saturam, rodas miesas bojājumi vai īpašuma bojājumi. Līdz ar to jūs veidojat šo projektu uz savu risku.

Preambula

Šis raksts, kas ir 9. sērija par mājas automatizāciju, dokumentē, kā izveidot un integrēt Sonoff 10A IoT tīkla kontrolieri esošā mājas automatizācijas sistēmā, ieskaitot visu nepieciešamo programmatūras funkcionalitāti, lai nodrošinātu veiksmīgu izvietošanu vietējā vidē.

Ievads

Kā minēts iepriekš, šajā pamācībā ir sīki aprakstīts, kā izveidot un integrēt IoT tīkla kontrolieri, izmantojot Sonoff 10A no iTead. Ierīce pati par sevi ir norādīta kā nominālā 10 ampēri pie 90 ~ 250 VAC, tomēr šī īstenošana samazina to līdz 5 ampēriem, izmantojot kausēto kontaktdakšu, kas nodrošina Apvienotās Karalistes 240 VAC RMS galveno piegādi.

Projektēšanas metodoloģija nemanāmi integrējas uz MQTT/OpenHAB balstītā IoT tīklā, kas detalizēti aprakstīts šajā sērijā par mājas automatizācijas veidošanu, izmantojot atkārtoti izmantoto kodu, kas ņemts no šejienes. Tas var arī tikt galā ar jebkura IoT tīkla elementa zudumu, un to var pilnībā darbināt atsevišķi. Atsevišķā režīmā ierīces vadība tiek panākta, vienkārši nospiežot vadības pogu korpusa augšpusē, kas pārslēdz turpmāko barošanas izeju.

Lai iespējotu šo Sonoff ierīces vietējo vadību, GPIO14 tiek izņemts no korpusa un tiek izmantots kā sprūda ievade. Lai nodrošinātu drošību, šī ieeja tiek padota caur optisko savienotāju ķēdi un ievietota plastmasas korpusā tā, lai operators nekādā gadījumā netiktu pakļauts tīkla spriegumam.

Visbeidzot, prozā ir arī izklāstīts, kā pārprogrammēt ESP8266 ierīci Sonoff 10A, izmantojot Arduino IDE, un sniegta pilnīga informācija par ierīci, ko var izmantot, lai droši ieprogrammētu mērķa kodu.

Kādas detaļas man ir vajadzīgas?

Sonoff elektrotīkla kontrolieris

  1. 1 atlaide Sonoff 10A šeit
  2. 1 izslēgts 7805L 5v sprieguma regulators šeit
  3. 1 izslēgts 240/6VAC 1.5VA transformators šeit
  4. Šeit ir 2 izslēgti 0,1 keramikas kondensatori
  5. 1 off 1000uF @25v elektrolītiskais kondensators šeit
  6. 1 izslēgts tilta taisngriezis 2W01 šeit
  7. Šeit ir 2 izslēgti 4K7 rezistori
  8. Šeit ir izslēgts 330R rezistors
  9. 1 izslēgta SPST poga šeit
  10. 1 off Mulitcomp BM12W ABS korpuss šeit
  11. 1 atlaide TIL111 opto-savienotājam šeit
  12. Šeit ir izslēgts trīsceļu spaiļu bloks
  13. 1 izslēgts divvirzienu kodēts molex savienotājs šeit/šeit
  14. 1 izslēgts 3 virzienu kodēts molex savienotājs šeit/šeit
  15. 1 izslēgts 5 virzienu kodēts molex savienotājs šeit/šeit
  16. 1 off 5-way molex tapas šeit
  17. 1 atlaide Winbond SPI Flash (W25Q32FVSIG) šeit
  18. Šeit ir izslēgts 20 mm drošinātāju turētājs + vāciņš
  19. Šeit ir izslēgts 20 mm ātrs 500mA drošinātājs
  20. Šeit ir 2 poliamīda kabeļu blīvslēgi
  21. 1 off Lielbritānijas elektrotīkla spraudnis (BS1363/A) šeit
  22. 1 atlaide Apvienotās Karalistes galvenajai kontaktligzdai (BS1363/A) šeit
  23. 7 off M3 16mm CS neilona skrūves, (ieskaitot 10 uzgriežņus) šeit/šeit
  24. 2 off Zip kaklasaites šeit
  25. 1 off veroboard (0,1 "piķis) šeit
  26. 1 off Dažāda garuma 22swg alvas vara stieple šeit
  27. 1 off 3M White UK tīkla kabelis šeit
  28. Šeit ir pieejamas 10 Molex kontaktligzdas

Sonoff programmētājs

  1. 1 izslēgts LD33CV 3v3 sprieguma regulators šeit
  2. 1 off TO-220 radiators
  3. Šeit ir pieejama 1 radiatora pasta
  4. 1 izslēgts 10uF @16v elektrolītiskais kondensators šeit
  5. 1 off 0,1 keramikas kondensators šeit
  6. 1 poga SPDT šeit
  7. Šeit ir izslēgts 1 rezistors 4K7
  8. 1 izslēgts divvirzienu kodēts molex savienotājs šeit/šeit
  9. 1 izslēgts 3 virzienu kodēts molex savienotājs šeit/šeit
  10. Šeit ir piecas Molex kontaktligzdas
  11. Šeit ir 1 izslēgta 6-virzienu molex ligzda
  12. 1 izslēgta SPST poga šeit
  13. 1 izslēgta 2,1 mm PSU ligzda
  14. 1 off veroboard (0,1 "piķis) šeit
  15. 1 izslēgts no USB uz seriālo adapteri (FTDI)

Kāda programmatūra man ir nepieciešama?

  1. Arduino IDE 1.6.9 šeit
  2. Arduino IDE ir konfigurēts ESP8266 programmēšanai. Skatīt šeit; Arduino IDE iestatīšana ESP8266-01 programmēšanai

Kādi rīki man ir nepieciešami?

  1. Lodāmurs,
  2. Urbis un dažādi uzgaļi (ieskaitot pakāpju urbumu griezēju kabeļu blīvēm un vadības pogu),
  3. Skrūvgrieži (dažādi),
  4. Regulējamas uzgriežņu atslēgas (divas izslēgtas, žokļa platums> 25 mm, kabeļu blīvēm),
  5. Faili (dažādi),
  6. Stingrs netikums,
  7. Siltuma lielgabals,
  8. DMM (vēlams CAT IV).

Kādas prasmes man vajadzīgas?

  1. Laba elektronikas un mājas elektriskās drošības izpratne/dizains/elektroinstalācija utt.,
  2. Zināšanas par Arduino un tā IDE,
  3. Labas ražošanas prasmes (lodēšana, vīlēšana, urbšana utt.),
  4. Nedaudz pacietības,
  5. Zināšanas par jūsu mājas tīklu.

Tēmas, uz kurām attiecas

  • Ievads
  • Ķēdes pārskats
  • Sonoff RetroMods
  • Konstrukcijas un montāžas detaļas
  • Sonoff programmēšanas adapteris
  • Programmatūras sistēmas pārskats
  • Programmatūras pārskats
  • OpenHAB konfigurācija
  • IoT ierīces pārbaude
  • Secinājums
  • Izmantotās atsauces

Sēriju saites

8. daļa: WiFi IoT temperatūras un mitruma sensors. Daļa: 8 IoT, mājas automatizācija

10. daļa: IR tālvadība, izmantojot IoT. Daļa IoT, Mājas automatizācija

1. darbība: shēmas pārskats

Ķēdes pārskats
Ķēdes pārskats
Ķēdes pārskats
Ķēdes pārskats
Ķēdes pārskats
Ķēdes pārskats
Ķēdes pārskats
Ķēdes pārskats

Pārskats

Kā minēts ievadā iepriekš, lai varētu lokāli ieslēgt un izslēgt tīkla kontrolieri, bija nepieciešama Sonoff borta ESP8266 ievade. Lai ieviestu šādu ārēju ieeju, ir jāpārkāpj Sonoff ABS korpuss, un tas rada iespējamu trieciena risku. Lai to pārvarētu, es izmantoju optisko izolāciju tā, lai nebūtu iespējams pakļaut elektrotīklam ārpus tīkla kontroliera sistēmas korpusa.

Tālāk ir aprakstīts optoizolācijas shēma (1. attēlā iepriekš).

Ķēdes detaļas

Optoizolācijas ķēde saņem barošanu tieši no iekārtai pievadītā tīkla. 240 VAC RMS tiek izmantots pakāpju/izolācijas transformatoram TR1, izmantojot J1 a pheonix contact MKDSN2, 5/3-5.08 poliamīda 3-virzienu spaili ar nominālo spriegumu 16A pie 400 V, kas spēj pārvadīt kabeli ar 2,5 mm (kvadrātmetru) CSA un F1 ar 500 mA 20 mm ātrgaitas drošinātājs. 6VAC, kas pieejams TR1 sekundārajos tinumos, ir pilns vilnis, ko izlabo ar diodes tiltu B1.

Šo pilna viļņa izlīdzināto izeju pēc tam stabilizē un regulē ar C1, C2 C3, R3 un IC1 7805L sērijas šunta regulatoru, nodrošinot labu, tīru 5v barošanas sliedi.

Pēc tam 5V sliedi izmanto, lai kontrolētu ieeju OK1 TIL111 optoizolatoram, izmantojot ārēji uzstādītu baltu SPST pogu, kas savienota visā J3. TIL111 izeja ir savienota ar Sonoff GPIO14 ieeju, izmantojot R2 4K7 pull up rezistoru. Tādējādi tiek panākta labāka izolācija nekā 340 V.

2. solis: Sonoff RetroMods

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

Lai integrētu Sonoff 10A ierīci, ir jāveic dažas retrospektīvas izmaiņas.

Pirmais ir pievienot 5 virzienu 0,1 collu piķa savienotāju, kā parādīts 1. attēlā. Tas ļauj piekļūt GPIO14 uz Sonoff, kad aizsargvāks ir nomainīts, kā parādīts 2. un 3. attēlā.

Lai gan tas nav parādīts iepriekš, es arī izvedu sērijveida TX/RX līnijas, lai varētu programmēt uz vietas (skatiet kabeļu vadu SK1..3 1. darbībā iepriekš).

Otra modifikācija ir palielināt SPI Flash ierīces izmēru no noklusējuma 1 MB līdz 4 MB, tas ir, lai nodrošinātu pietiekami daudz vietas IoT tīmekļa servera failu glabāšanai SPIFFS.

Es šeit iegādājos SMD SPI zibspuldzi (W25Q32FVSIG) no ebay

Lai nomainītu zibspuldzi, es uz laiku noņēmu Sonoff LED, kā parādīts 4. attēlā, lai nodrošinātu labāku piekļuvi SMD ierīcei. Lai atkausētu zibspuldzi, es izmantoju siltuma pistoli, kā parādīts 5. attēlā. Pēc tam atkārtoti lodējiet gan 4 MB zibspuldzi, gan LED (6. attēls).

3. solis: konstrukcijas un montāžas detaļas

Konstrukcijas un montāžas detaļas
Konstrukcijas un montāžas detaļas
Konstrukcijas un montāžas detaļas
Konstrukcijas un montāžas detaļas
Konstrukcijas un montāžas detaļas
Konstrukcijas un montāžas detaļas
Konstrukcijas un montāžas detaļas
Konstrukcijas un montāžas detaļas

Es pievienoju tīkla kontrolieri Mulitcomp BM12W ABS kastē (1. attēls iepriekš). Šajā korpusā ir izolēti misiņa M3 ieliktņi, kas nodrošina daudzpusēju piekļuvi iekārtai, neapdraudot stiprinājuma vītnes, lai vajadzības gadījumā varētu nomainīt iekšējo drošinātāju vai laika gaitā veikt iekšēju pārbaudi (to pašu nevar teikt par Sonoff ierīci, faktiski aizver tikai vienu reizi, izmantojot pašvītņotājus).

Galvenais sprieguma samazinājums strāvas padeves kabelim tika panākts, izmantojot M16 neilona/poliamīda 6/6 baltu kabeļa blīvējumu, kas atbalsta kabeli OD Min/Max 5mm/10mm.

Sekundāro spriedzes samazināšanu veica ar vienu rāvējslēdzēju, kas novietots uz kabeļa, ja tiek pielikta pārmērīga slodze un kabeļa blīvslēgs neizdodas, rāvējslēdzējs turēs kabeli vietā.

Lai uzstādītu kabeļu blīvgredzenus un nodrošinātu pietiekami daudz vietas, lai uzstādītu Sonoff un optoizolācijas elektroniku, es noņemu iekšējās PCB stiprinājuma ribas, kā parādīts iepriekš (2. attēls).

Visa elektronika tika droši uzstādīta, izmantojot M3 neilona CS skrūves, lai nodrošinātu izolāciju ar korpusa ārpusi. Optoizolācijas elektronika ir uzstādīta ar 5 stiprinājuma punktiem, lai nodrošinātu labu mehānisko izturību, ja iekārta tiktu nomesta, tādējādi novēršot izolācijas transformatora masas pārrāvumu.

Piegāde iekārtai tika panākta, izmantojot Apvienotās Karalistes standarta krāsu kodētu baltu 3 kodolu PVC izolētu tīkla daudzdzīslu (32/0,2 mm kvadrātmetru) kabeli 1 mm (kvadrātmetru) CSA. ar 7.2 mm OD, kas spēj pārvadāt 10A.

Ierīce tika pievienota Lielbritānijas elektrotīklam (240 VAC RMS), izmantojot standarta 3 kontaktu drošības kontaktdakšu (BS 1363/A). Spraudnis tika sakausēts pie 5A.

Visi elektrotīkla kabeļi optoizolācijas ķēdei tika savienoti, izmantojot pheonix contact MKDSN2, 5/3-5.08 poliamīda spailes ar nominālo spriegumu 16A pie 400 V, kas spēj pārnēsāt 2,5 mm (kvadrātmetru) CSA kabeli, tādējādi nodrošinot plašu jaudu diviem kabeļiem katra pozīcija.

Tīkla kabeļi nebija tinēti, tikai savīti, lai novērstu serdeņu izplūšanu pirms ievietošanas savienotāju blokā. Tīkla kabeļu tinēšana ir bīstama prakse, jo lodēšana laika gaitā “atslābinās”, galu galā izraisot kabeļa zudumu savienotāju blokā.

Piezīme:

  • OD = Ārējais diametrs.
  • VAC = voltu maiņstrāva
  • RMS = saknes vidējais kvadrāts
  • CSA = šķērsgriezuma laukums
  • CS = nogrimis skaitītājs

4. solis: Sonoff programmēšanas adapteris

Sonoff programmēšanas adapteris
Sonoff programmēšanas adapteris
Sonoff programmēšanas adapteris
Sonoff programmēšanas adapteris
Sonoff programmēšanas adapteris
Sonoff programmēšanas adapteris
Sonoff programmēšanas adapteris
Sonoff programmēšanas adapteris

Pārprogrammējot Sonoff 10A, izmantojot Arduino IDE, jāņem vērā divi aspekti;

  1. Arduino IDE konfigurēšana ESP8266 programmēšanai,
  2. Pati aparatūras programmēšana.

Arduino IDE konfigurēšana ESP8266 programmēšanai

Lai konfigurētu savu Ardino IDE, izpildiet šeit sniegtos norādījumus Arduino IDE iestatīšana ESP8266-01 programmēšanai

Aparatūras programmēšana

Tas ir daudzpakāpju process, tāpat kā visos gadījumos ar ESP8266. Šeit Sonoff barošana tiek pievadīta pie plates, izmantojot ārēju stabilizētu 3v3 līdzstrāvas avotu, nevis no tīkla. Lai nosūtītu un saņemtu datus uz Sonoff un no tā, būs nepieciešama USB sērijveida ierīce. Pievienojiet TX un RX, kā parādīts 2. un 4. attēlā.

Programmēšanas soļi (vispārīgi)

  1. Vispirms pārliecinieties, ka Sonofam netiek pievadīta ārēja elektrotīkla strāva,
  2. Nospiediet un turiet Sonoff ierīces pogu. (1. attēls iepriekš, atzīmēta atkārtotas zibspuldzes poga),
  3. Piestipriniet ārējo līdzstrāvas 3v3 barošanu 1. tapai (2. attēls iepriekš),
  4. Atlaidiet pogu Sonoff,
  5. Tagad ierīci var pārprogrammēt parastajā veidā, izmantojot Arduino IDE.

Lai padarītu lietas nedaudz vieglākas, es izveidoju iepriekš minēto programmēšanas ierīci (3. un 4. attēls), kas savienota ar Sonoff, izmantojot kabeļu vadu SK1… 3 (kā aprakstīts šajā pamācības 1. solī). Tas ļāva vieglāk programmēt ESP8266. Tas arī nodrošināja līdzekli GPIO14 kā ievades pārbaudei, izmantojot R1, 4K7 pievilkšanas rezistoru un pogu S1.

Izmantojot iepriekš minēto programmēšanas ierīci (3. un 4. attēls) Programmēšanas soļi ir:

  1. Nospiediet un turiet Sonoff atkārtotas zibspuldzes pogu,
  2. Pulsējiet 3v3 padevi, īslaicīgi nospiežot S2,
  3. Atlaidiet atkārtotas zibspuldzes pogu,
  4. Ierīci tagad var ieprogrammēt.

PIEZĪME - BRĪDINĀJUMS

Nekādā gadījumā Sonoff pārprogrammēšanas darbības laikā elektroenerģiju nedrīkst piegādāt no tīkla

5. darbība: programmatūras sistēmas pārskats

Programmatūras sistēmas pārskats
Programmatūras sistēmas pārskats
Programmatūras sistēmas pārskats
Programmatūras sistēmas pārskats

Šī IoT tīkla kontrollera ierīce lielākoties satur tos pašus sešus galvenos programmatūras komponentus, kas norādīti Instructable WiFi IoT temperatūras un mitruma sensorā. Daļa: 8 IoT, mājas automatizācija un parādīta 1. attēlā iepriekš, ar dažiem pielāgojumiem.

SPIFFS

Šī ir (jaunināta uz 4 MB) iebūvētā SPI zibatmiņas kartotēkas sistēma, un to izmanto šādas informācijas glabāšanai (skat. 2. attēlu);

  • Ikonas un “Tīkla kontrollera konfigurācijas sākumlapa” html: to nodrošina IoT ierīce, ja tā nevar izveidot savienojumu ar jūsu IoT WiFi tīklu (parasti nepareizas drošības informācijas dēļ) un nodrošina lietotājam iespēju attālināti konfigurēt tīkla kontrolieri bez nepieciešamība pārprogrammēt vai augšupielādēt jaunu SPIFFS saturu.
  • Drošības informācija: tajā ir informācija, ko IoT ierīce ieslēdz, lai izveidotu savienojumu ar jūsu IoT WiFi tīklu un MQTT Broker. Informācija, kas tiek iesniegta, izmantojot 'Mains Controller Configuration Home Page', tiek ierakstīta šajā failā ('secvals.txt').

Piezīme. Lai sākotnēji iestatītu ierīci, skatiet šeit visu informāciju par to, kā izmantot SPIFFS ar Arduino IDE.

mDNS serveris

Šī funkcija tiek izmantota, ja IoT ierīcei nav izdevies izveidot savienojumu ar jūsu WiFi tīklu kā WiFi staciju un tā vietā tā ir kļuvusi par WiFi piekļuves punktu, kas ir līdzīgs vietējam WiFi maršrutētājam. Šāda maršrutētāja gadījumā jūs parasti izveidojat savienojumu ar to, ievadot IP adresi, piemēram, 192.168.1.1 (parasti uzdrukāts uz lodziņa piestiprinātas etiķetes), tieši pārlūkprogrammas URL joslā, pēc kuras jūs saņemsiet pieteikšanās lapu, lai ievadītu lietotājvārdu un paroli, lai varētu konfigurēt ierīci. ESP8266 AP režīmā (piekļuves punkta režīms) ierīce pēc noklusējuma norāda IP adresi 192.168.4.1, taču, darbojoties mDNS serverim, pārlūkprogrammas URL joslā ir jāievada tikai cilvēkiem draudzīgs nosaukums “MAINSCON.local”. 'Tīkla kontrollera konfigurācijas sākumlapa'.

MQTT klients

MQTT klients nodrošina visu nepieciešamo funkcionalitāti; izveidojiet savienojumu ar savu IoT tīkla MQTT brokeri, abonējiet izvēlētās tēmas un publicējiet konkrētās tēmas derīgās slodzes. Īsāk sakot, tas nodrošina IoT pamatfunkcijas.

HTTP tīmekļa serveris

Kā minēts iepriekš, ja IoT ierīce nevar izveidot savienojumu ar WiFi tīklu, kura SSID, P/W utt. Ir definēts drošības informācijas failā, kas atrodas SPIFFS, ierīce kļūs par piekļuves punktu. Kad ir izveidots savienojums ar piekļuves punkta nodrošināto WiFi tīklu, HTTP tīmekļa servera klātbūtne ļauj tieši izveidot savienojumu ar ierīci un mainīt tās konfigurāciju, izmantojot HTTP tīmekļa pārlūkprogrammu, kuras mērķis ir nodrošināt tīkla kontroliera konfigurāciju. Mājas lapas tīmekļa lapa, kas tiek glabāta arī SPIFFS formātā.

WiFi stacija

Šī funkcionalitāte dod IoT ierīcei iespēju izveidot savienojumu ar vietējo WiFi tīklu, izmantojot drošības informācijas faila parametrus, bez tā jūsu IoT ierīce nevarēs abonēt/publicēt MQTT brokeri

WiFi piekļuves punkts

Iespēja kļūt par WiFi piekļuves punktu ir līdzeklis, ar kuru IoT ierīce ļauj jums izveidot savienojumu ar to un veikt izmaiņas konfigurācijā, izmantojot WiFi staciju un pārlūkprogrammu (piemēram, Safari Apple iPad ierīcē). Šis piekļuves punkts pārraida SSID = "MAINSCON" + IoT ierīces MAC adreses pēdējos 6 ciparus. Šī slēgtā tīkla parole ir iedomāti nosaukta par PASSWORD.

6. darbība: programmatūras pārskats

Programmatūras pārskats
Programmatūras pārskats
Programmatūras pārskats
Programmatūras pārskats
Programmatūras pārskats
Programmatūras pārskats
Programmatūras pārskats
Programmatūras pārskats

Lai veiksmīgi apkopotu šo avota kodu, jums būs nepieciešamas šādas papildu bibliotēkas;

PubSubClient.h

  • Autors: Niks O'Līrijs
  • Mērķis: Ļauj ierīcei publicēt vai abonēt MQTT tēmas ar noteiktu starpnieku
  • No:

Atlekšana2.h

  • Autors: Tomass O Frederiks
  • Mērķis: ievades slēdža atkāpšanās programmatūrā
  • No:

Koda pārskats

Programmatūra izmanto stāvokļa mašīnu, kā parādīts 1. attēlā (pilna avota kopija, kas norādīta zemāk). Ir šādi 5 galvenie stāvokļi;

  • TAJĀ

    Šis inicializācijas stāvoklis ir pirmais stāvoklis, kas ievadīts pēc ieslēgšanas

  • NOCONFIG

    Šis stāvoklis tiek ievadīts, ja pēc ieslēgšanas tiek konstatēts nederīgs vai trūkstošs fails secvals.txt

  • GAIDA ZR

    Šis stāvoklis ir pārejošs, ievadīts, kamēr nav WiFi tīkla savienojuma

  • GAIDA MQTT

    Šis stāvoklis ir pārejošs, tas tiek ievadīts pēc tam, kad ir izveidots WiFi tīkla savienojums, un, kamēr šajā tīklā nav savienojuma ar MQTT brokeri

  • AKTĪVS

    Tas ir normāls darbības stāvoklis, kas ievadīts, tiklīdz ir izveidots gan WiFi tīkla savienojums, gan MQTT Broker savienojums. Tieši šajā stāvoklī tīkla kontrolieris publicēs MQTT brokerim un saņems komandas, izmantojot abonētās tēmas

Notikumi, kas kontrolē pārejas starp stāvokļiem, ir aprakstīti 1. attēlā iepriekš. Pārejas starp valstīm nosaka arī šādi SecVals parametri;

  • 1. MQTT brokera IP adrese. Punktveida decimālā formā AAA. BBB. CCC. DDD
  • 2. MQTT brokeru osta. Vesela skaitļa formā.
  • Trešais MQTT Broker savienojums mēģina izveidot pirms pārslēgšanās no STA režīma uz AP režīmu. Vesela skaitļa formā.
  • 4. WiFi tīkla SSID. Brīvā formā.
  • Piektā WiFi tīkla parole. Brīvā formā.

Kā minēts iepriekš, ja IoT ierīce nevar izveidot savienojumu ar WiFi staciju ar WiFi tīklu, kura SSID un P/W ir definēts failā secvals.txt, kas tiek glabāts SPIFFS, ierīce kļūs par piekļuves punktu. Kad būs izveidots savienojums ar šo piekļuves punktu, tas kalpos “Tīkla kontrollera konfigurācijas sākumlapai”, kā parādīts 2. attēlā (pārlūkprogrammas URL adreses joslā ievadot “MAINSCON.local” vai 192.168.4.1). Šī mājas lapa ļauj pārkonfigurēt tīkla kontrolieri, izmantojot HTTP pārlūkprogrammu.

MQTT Tēmu nosaukšanas konvencija

Iepriekš 3. attēlā ir aprakstīta MQTT tēmām izmantotā nosaukšanas konvencija, un tā atbilst manā iepriekšējā instrukcijā (šeit 5. darbība) izmantotajam paraugam.

MQTT Tēmas, ko izmanto šī IoT ierīce

Skaidrības labad esmu dokumentējis (4. attēls) tēmas un ar tām saistīto ziņojumu secības, ko šī ierīce publicē/abonē. Attēlā ir attēlota arī mijiedarbība ar balto vadības pogu korpusa ārpusē (lai gan ironiski poga ir parādīta sarkanā krāsā).

Attālā konfigurācijas piekļuve, atrodoties AKTĪVĀ stāvoklī

Kad ir izveidots savienojums ar MQTT brokeri, ir iespējams attālināti pārkonfigurēt ierīces drošības parametrus, izmantojot MQTT tēmu publikācijas. Saistītajam failam secvals.txt ir atklāta tikai rakstīšanas piekļuve.

Lietotāja atkļūdošana

Sāknēšanas secības laikā Sonoff ierīces vadība sniedz šādu atkļūdošanas atgriezenisko saiti, lai gan jāatzīmē, ka, lai to apskatītu, jums būs jānoņem vāks un jāatklāj shēma, tāpēc ir ieteicams to darīt tikai, izstrādājot kodu un darbinot ierīci. ar 3v3 padevi;

  • 1 Īsa zibspuldze: SPIFFS (secvals.txt) nav konfigurācijas faila,
  • 2 Īsi mirgo: IoT ierīce mēģina izveidot savienojumu ar WiFi tīklu,
  • Nepārtraukts apgaismojums: Sonoff IoT ierīce mēģina izveidot savienojumu ar MQTT Broker,
  • Izslēgts: ierīce ir aktīva un savienota ar MQTT Broker.

1. piezīme. Tīkla kontrollera konfigurācijas sākumlapā netiek izmantotas drošas kontaktligzdas, un tāpēc jūsu tīkls ir drošs.

2. piezīme. Lai ieprogrammētu vairākas IoT ierīces, pirms lejupielādes katrā ierīcē MQTT virkne būs jārediģē. Tas ir tāpēc, ka tīkla kontroliera ID numurs ir iestrādāts MQTT tēmas virknē. ti. publicētajā programmatūrā es izvēlējos vērtību 100: 'WFD/MainsCont/100/Relay/Command/1', un manām 2 ierīcēm tie ir attiecīgi numurēti 1 un 2.

  • "WFD/MainsCont/1/Relay/Command/1"
  • "WFD/MainsCont/2/Relay/Command/1"

3. piezīme. Lai iegūtu pilnīgu ieskatu aktīvajā stāvoklī, IoT programmatūra ļauj kontrolēt Sonoff gaismas diodi un publicēt atkārtotas zibspuldzes statusa statusu. Lai gan tiem ir nozīme tikai atkļūdošanas procesā, jo parastās darbības laikā neviens no tiem netiek pakļauts lietotājam.

7. darbība: OpenHAB konfigurācija

OpenHAB konfigurācija
OpenHAB konfigurācija
OpenHAB konfigurācija
OpenHAB konfigurācija
OpenHAB konfigurācija
OpenHAB konfigurācija

Pārbaudes nolūkā es nolēmu izvietot divus tīkla kontrolierus savas mājas dzīvojamā istabā. Šo OpenHAB lapu var sasniegt, izmantojot vietnes galveno lapu, kā parādīts 1. attēlā.

Es mainīju OpenHAB.sitemap konfigurāciju, kas dota iepriekšējā Instructable (šeit), un pievienoju atsevišķus ierakstus 'Mains Controller 1' un 'Mains Controller 2' (2. attēls iepriekš). Es arī pievienoju ierakstus (Dzīvojamās istabas elektrotīkla kont. 1 un 2), lai parādītu RSSI tendences, kas izmērītas divu jauno IoT ierīču uztvērējā (3. attēls).

Visbeidzot, es pievienoju ierakstus failiem.rules un.items, lai ļautu dinamiski sinhronizēt Sonoff stāvokli un atjaunināt/animēt manu slikto mēģinājumu izveidot slēdža grafiku (slēdzis aizveras, kad tas ir aktīvs un atveras, kad tas ir neaktīvs). 2. attēlā sniegts piemērs par MC1 aktīvo un MC2 neaktīvo.

1. piezīme. Ja neesat pārliecināts, kā izmantot OpenHAB, skatiet šeit 'OpenHAB iestatīšana un konfigurēšana. 6. daļa: IoT, mājas automatizācija”

2. piezīme. Modificētās vietnes kartes, noteikumu un vienumu failu, ikonu uc kopija ir parādīta zemāk esošajā zip failā.

3. piezīme. RSSI = saņemtā signāla stipruma indikācija. Šis ir mērījums tam, cik labi IoT ierīce var redzēt jūsu WiFi tīklu.

8. darbība. IoT ierīces pārbaude

Image
Image
IoT ierīces pārbaude
IoT ierīces pārbaude

Kā aprakstīts instrukcijās norādītajā WiFi IoT temperatūras un mitruma sensorā. Daļa: 8 IoT, mājas automatizācija 7. darbība. IoT ierīces sākotnējā pārbaude tika veikta, izmantojot MQTT savienojumu, izmantojot MQTT Spy (kā redzams sistēmas blokshēmā 1. attēlā iepriekš), pārraugot LED izvadi, pogu ievadi (gan Sonoff atkārtotas zibspuldzes poga, gan balto ārējo pogu) un atkļūdojiet trafiku sērijas saskarnē. Tas ļāva man izmantot visas pieejamās abonētās tēmas un pārbaudīt publicētās atbildes. Lai gan tas atkal tika veikts manuāli un bija laikietilpīgs, lai gan tas ļāva 100% aptvert ziņojumus/tēmu publikācijas.

Tā kā galvenā programmatūras stāvokļa mašīna (6. darbība iepriekš) tika mantota no iepriekšējās Instructable (8. daļa), kas nav saprāta pārbaude, programmatūra varētu izveidot savienojumu ar WiFi N/W un MQTT Broker, tika pieņemts, ka tā darbojas pareizi.

Pēc tam tika pabeigta pilna sistēmas līmeņa pārbaude, izmantojot tīkla kontrolieri un IoT infrastruktūru (atkal 1. attēls), šoreiz izmantojot OpenHAB, lai kontrolētu mijiedarbību ar IoT ierīci. IoT aparatūras un fiktīvās slodzes iestatīšana ir redzama 2. attēlā iepriekš.

Video sniedz pilnīgu informāciju par sistēmas testiem un skaidri parāda sinhronizāciju starp OpenHAB ierīcēm (PC/Chrome un iPad/OpenHAB APP) reālā laikā. Tas arī parāda tiešo ziņojumapmaiņu tīkla kontrolieriem, izmantojot MQTTSpy (sīkāku informāciju skatiet šeit. MQTT brokera iestatīšana. 2. daļa: IoT, mājas automatizācija) un OpenHAB astes sistēmas žurnālu no aveņu pi servera, izmantojot PuTTY SSH savienojumu (skatiet šeit detaļas OpenHAB iestatīšana un konfigurēšana. 6. daļa: IoT, mājas automatizācija).

Piezīme. Atkļūdošanas trafiks tika apkopots galīgajai programmatūras laidienai.

9. solis. Secinājums

Vispārīgi

Projektu bija salīdzinoši viegli pabeigt un tas darbojās labi. Iegulto programmatūru bija viegli izgatavot, jo tā bija saīsināta koda versija, ko izmanto šīs sērijas 8. daļas temperatūras un mitruma sensoriem.

Sākotnēji es plānoju iegādāties tikai baltas detaļas tikai to estētiskās kvalitātes dēļ. Es to sasniedzu visos, izņemot vadības pogu, mēģiniet, kā es varēju, es nevarēju iegūt labu/lētu pilnīgi baltu pogu.

Ierīce Sonoff 10A

Zemāk esmu uzskaitījis, pēc manām domām, Sonoff ierīces plusi un mīnusi

Pros

  • Lēts.
  • Labs sabiedrības atbalsts.
  • Var pārprogrammēt, izmantojot Arduino IDE.

Mīnusi

  • Neskaidrs korpuss.
  • Minimālais I/O (izvadīts izmantojamiem savienotājiem).
  • Mierīgajā stāvoklī tas darbojas karsti.
  • Ir tikai 1 MB baita iebūvēta SPI zibspuldze.
  • Vai PITA jāpārprogrammē, kad tas ir pievienots vietā.
  • Integrējot jaunu kodu Sonoff testā, releja slēgšana bija problemātiska, ņemot vērā, ka relejs ir 5v, un Sonoff programmēšanai izmantotais padeve ir 3v3. Releja aktivizēšana ir tikai uztverama auss.

Bažas

  • Tas nepārslēdz neitrālo līniju. Izmanto SPST releju.
  • Nav sapludināts.
  • Slikta kabeļa deformācijas novēršana.
  • PCB nav nostiprināts Sonoff korpusā.

Komentārs par inženiertehnisko dizainu

Ņemot vērā, ka šī IoT ierīce bija jāizmanto, lai pārslēgtu strāvas padevi no Apvienotās Karalistes elektrotīkla (240 VAC RMS), es ievēroju gan labu mehāniskās, gan elektriskās projektēšanas praksi un nodrošināju, ka šoka risks ir samazināts līdz minimumam, nepakļaujot nevienu elektrovadošu materiālu, norādot visas sastāvdaļas, izejas slodze, drošinātāju aizsardzība gan tīkla kontrolierim, gan opto savienotajai apakšsistēmai, laba nepārtraukta zemējuma iekļaušana un optiskā/galvaniskā izolācija.

Iespējamais uzlabojums

Gaidot vēlāk, būtu bijis lietderīgi iekļaut vizuālu norādi, ka tīkla kontrollera izeja bija aktīva (LED vai neona). Lai gan tas nav problēma ikdienas lietošanā, ņemot vērā ierasto praksi pirms apkopes veikšanas izolēt slodzi no barošanas avota, vai vienkārši nospiežot vietējo vadības pogu, tiek pārslēgta izeja, ja lampiņa var iedegties, kad tā ir pievienota.

Noslēguma piezīme

Ja vēlaties redzēt divus ļoti sliktus piemērus, kā rīkoties ar elektrotīklu, skatiet tālāk esošās saites. Viņu Darvina balvas būs amatā ļoti drīz, esmu pilnīgi pārliecināts;

  • Mad Scientist pagarinātājs
  • Kopienas atsauksmes 03 - bažas par enerģijas drošību!

10. darbība. Izmantotās atsauces

Es izmantoju šādus avotus, lai saliktu šo pamācību;

PubSubClient.h

  • Autors: Niks O'Līrijs
  • Mērķis: Ļauj ierīcei publicēt vai abonēt MQTT tēmas ar noteiktu starpnieku
  • No:

Atlekšana2.h

  • Autors: Tomass O Frederiks
  • Mērķis: ievades slēdža atkāpšanās programmatūrā
  • No:

SPIFFS

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

Sonoff zibspuldzes jaunināšana

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

Sonoff shēmas shēma

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

USB UART modulis (pazīstams arī kā 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

Darvina balvas (viegls reljefs)

https://www.darwinawards.com/

TIL111 Opto-izolatora datu lapa

Ieteicams: