Turinys:
- 1 žingsnis: grandinės apžvalga
- 2 žingsnis: „Sonoff RetroMods“
- 3 žingsnis: konstrukcijos ir surinkimo detalės
- 4 žingsnis: „Sonoff“programavimo adapteris
- 5 veiksmas: programinės įrangos sistemos apžvalga
- 6 veiksmas: programinės įrangos apžvalga
- 7 veiksmas: „OpenHAB“konfigūracija
- 8 veiksmas: išbandykite savo „IoT“įrenginį
- 9 žingsnis: Išvada
- 10 veiksmas: naudojamos nuorodos
Video: „IoT“tinklo valdiklis. 9 dalis. Daiktų internetas, namų automatika: 10 žingsnių (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:49
Atsisakymas
PERSKAITYKITE PIRMĄ
Šioje instrukcijoje išsamiai aprašomas projektas, kuriame naudojama elektros energija (šiuo atveju JK 240 VAC RMS), nors buvo stengiamasi naudoti saugią praktiką ir gerus projektavimo principus, dirbant su šiomis maitinimo įtampomis visada kyla mirtino elektros smūgio pavojus. kurių autorius negali prisiimti jokios atsakomybės, jei stebint jo turinį įvyksta asmens sužalojimas ar turtinė žala. Todėl jūs kuriate šį projektą savo rizika.
Preambulė
Šis 9 -asis namų automatikos serijos straipsnis dokumentuoja, kaip sukurti ir integruoti „Sonoff 10A IoT“tinklo valdiklį į esamą namų automatikos sistemą, įskaitant visas būtinas programinės įrangos funkcijas, kad būtų galima sėkmingai įdiegti buitinėje aplinkoje.
Įvadas
Kaip minėta aukščiau, šioje instrukcijoje išsamiai aprašoma, kaip sukurti ir integruoti IoT tinklo valdiklį naudojant „iToff“„Sonoff 10A“. Pats prietaisas yra nurodytas kaip 10 amperų @ 90 ~ 250 VAC, tačiau šis įgyvendinimas sumažina jį iki 5 amperų per lydytąjį kištuką, kuris užtikrina vietinį JK 240 VAC RMS tiekimą.
Projektavimo metodika sklandžiai integruojama į MQTT/OpenHAB pagrįstą IoT tinklą, išsamiai aprašytą šioje serijoje apie namų automatikos kūrimą naudojant pakartotinai naudojamą kodą, paimtą iš čia. Jis taip pat gali atlaikyti bet kokio IoT tinklo elemento praradimą ir yra visiškai valdomas atskirai. Esant autonominiam režimui, prietaisas valdomas paprasčiausiai paspaudus valdymo mygtuką, esantį korpuso viršuje, kuris perjungia tolesnį tiekimą.
Norėdami įjungti šį vietinį „Sonoff“įrenginio valdymą, GPIO14 išimamas iš dėklo ir naudojamas kaip trigerio įvestis. Siekiant užtikrinti saugumą, ši įvestis tiekiama per optinio jungimo grandinę ir laikoma plastikiniame korpuse taip, kad operatorius niekada nebūtų veikiamas elektros tinklo įtampos.
Galiausiai prozoje taip pat aprašoma, kaip perprogramuoti ESP8266 įrenginį „Sonoff 10A“naudojant „Arduino IDE“, ir pateikiama išsami informacija apie įrenginį, kurį galima naudoti norint patikimai užprogramuoti tikslinį kodą.
Kokių dalių man reikia?
„Sonoff“tinklo valdiklis
- 1 nuolaida Sonoff 10A čia
- 1 išjungtas 7805L 5v įtampos reguliatorius
- 1 išjungtas 240/6VAC 1.5VA transformatorius čia
- 2 išjungti 0,1 keraminius kondensatorius
- 1 nuolaida 1000uF @25v elektrolitinis kondensatorius čia
- 1 išjungti 2W01 tilto lygintuvą čia
- Čia yra 2 išjungti 4K7 rezistoriai
- Čia yra 1 išjungtas 330R rezistorius
- 1 išjungimo SPST mygtukas čia
- 1 nuolaida „Mulitcomp BM12W ABS“korpusui čia
- 1 nuolaida TIL111 opto-coupler čia
- Čia yra 1 išjungtas 3 krypčių gnybtų blokas
- 1 išjungta 2 krypčių koduota „Molex“jungtis čia/čia
- 1 išjungta 3 krypčių koduota „Molex“jungtis čia/čia
- 1 išjungta 5 krypčių koduota „Molex“jungtis čia/čia
- Čia yra 1 išjungtas 5 krypčių molex kaištis
- 1 nuolaida „Winbond SPI Flash“(W25Q32FVSIG) čia
- Čia yra 1 išjungtas 20 mm saugiklio laikiklis + dangtelis
- Čia yra 1 išjungtas 20 mm greitas 500 mA saugiklis
- 2 išjungti poliamido kabelių sandarikliai
- 1 išjungtas JK maitinimo kištukas (BS1363/A) čia
- 1 nuolaida JK pagrindiniam lizdui (BS1363/A) čia
- 7 M3 16 mm CS nailoniniai varžtai (įskaitant 10 veržlių) čia/čia
- 2 „Zip“kaklaraiščiai čia
- 1 išjungta veroboard (0,1 "žingsnis) čia
- 1 nuolaida Čia įvairaus ilgio 22swg alavuota varinė viela
- Čia yra 1 išjungtas 3M White UK maitinimo kabelis
- Čia yra 10 „Molex“lizdų gofruotųjų elementų
„Sonoff“programuotojas
- 1 išjungtas LD33CV 3v3 įtampos reguliatorius
- 1 nuolaida TO-220 radiatoriui čia
- 1 nuolaida Šildytuvo pasta čia
- 1 išjungtas 10uF @16v elektrolitinis kondensatorius čia
- 1 išjungtas 0,1 keraminis kondensatorius
- 1 išjungti SPDT mygtuką čia
- Čia yra 1 išjungtas 4K7 rezistorius
- 1 išjungta 2 krypčių koduota „Molex“jungtis čia/čia
- 1 išjungta 3 krypčių koduota „Molex“jungtis čia/čia
- Čia yra 5 „Molex“lizdų gofruotės
- 1 išjungtas 6 krypčių molex lizdas
- 1 išjungimo SPST mygtukas čia
- 1 išjungtas 2,1 mm PSU lizdas
- 1 išjungta veroboard (0,1 "žingsnis) čia
- 1 išjungtas USB į nuoseklųjį adapterį (FTDI)
Kokios programinės įrangos man reikia?
- „Arduino IDE 1.6.9“čia
- „Arduino IDE“sukonfigūruotas programuoti ESP8266. Pažiūrėk čia; „Arduino IDE“nustatymas programuoti ESP8266-01
Kokių įrankių man reikia?
- Lituoklis,
- Gręžtuvas ir įvairūs antgaliai (įskaitant pakopinį skylių pjoviklį kabelių sandarikliams ir valdymo mygtuką),
- Atsuktuvai (įvairūs),
- Reguliuojami veržliarakčiai (du išjungti, žandikaulio plotis> 25 mm, kabelių movoms),
- Failai (įvairūs),
- Tvirta yda,
- Šilumos pistoletas,
- DMM (pageidautina CAT IV).
Kokių įgūdžių man reikia?
- Geras elektronikos ir namų elektros saugos supratimas/dizainas/laidai ir tt,
- Žinios apie Arduino ir jo IDE,
- Geri gamybos įgūdžiai (litavimas, dildymas, gręžimas ir kt.),
- Šiek tiek kantrybės,
- Tam tikras jūsų namų tinklo supratimas.
Aptartos temos
- Įvadas
- Grandinės apžvalga
- „Sonoff RetroMods“
- Konstrukcijos ir surinkimo detalės
- „Sonoff“programavimo adapteris
- Programinės įrangos sistemos apžvalga
- Programinės įrangos apžvalga
- „OpenHAB“konfigūracija
- „IoT“įrenginio bandymas
- Išvada
- Naudotos nuorodos
Serijų nuorodos
Į 8 dalį: „WiFi“interneto temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatika
Į 10 dalį: IR nuotolinis valdymas per IoT. 10 dalis Daiktų internetas, namų automatika
1 žingsnis: grandinės apžvalga
Apžvalga
Kaip minėta aukščiau esančiame įvade, norint įjungti ir išjungti maitinimo tinklo valdiklį vietoje, reikia įvesties į įmontuotą „Sonoff“ESP8266. Norint įvesti tokį išorinį įvestį, reikia pažeisti „Sonoff“ABS korpusą, todėl kyla galimo smūgio pavojus. Norėdami tai įveikti, aš naudojau optinę izoliaciją, kad nebūtų galimybės patekti į elektros tinklą už tinklo valdiklio sistemos korpuso ribų.
Toliau pateikiamas optinės izoliacijos grandinės aprašymas (1 paveikslėlyje aukščiau).
Grandinės informacija
Optinio izoliacijos grandinė gauna maitinimą tiesiai iš įrenginio maitinimo tinklo. 240 VAC RMS yra taikomas pakopiniam/izoliaciniam transformatoriui TR1 per J1 a „Pheonix“kontaktą MKDSN2, 5/3-5.08 poliamido 3 krypčių gnybtas, kurio įtampa yra 16A esant 400 V įtampai, galinti perkelti 2,5 mm (kv.) CSA kabelį ir F1-500 mA 20 mm greito pūtimo saugiklis. 6VAC, esanti antrinėse TR1 apvijose, yra visa banga, ištaisyta diodiniu tiltu B1.
Ši visos bangos ištaisyta išvestis tada stabilizuojama ir reguliuojama C1, C2 C3, R3 ir IC1 7805L serijos šunto reguliatoriumi, užtikrinančiu gerą, švarų 5 V maitinimo bėgelį.
Tada 5 V bėgelis naudojamas valdyti įvestį į OK1 TIL111 optinį izoliatorių per išoriškai sumontuotą baltą SPST mygtuką, prijungtą prie J3. „TIL111“išėjimas yra prijungtas prie „Sonoff GPIO14“įvesties per R2 ir 4K7 traukimo rezistorių. Taigi pasiekiama geresnė izoliacija nei 340 V (ty didžiausia įtampa = (240 VAC*sqroot (2))).
2 žingsnis: „Sonoff RetroMods“
Norint integruoti „Sonoff 10A“įrenginį, būtina atlikti retrospektyvius pakeitimus.
Pirmasis yra pridėti 5 krypčių 0,1 "žingsnio molex jungtį, kaip parodyta 1 paveiksle. Tai leidžia pasiekti" Sonoff "GPIO14, kai apsauginis dangtelis yra pakeistas, kaip parodyta 2 ir 3 paveikslėliuose aukščiau.
Nors neparodyta aukščiau, aš taip pat išvedžiau serijines TX/RX linijas, kad galėčiau programuoti vietoje (žr. Kabelio laidus SK1..3 1 žingsnyje aukščiau).
Antrasis pakeitimas yra padidinti SPI „Flash“įrenginio dydį nuo numatytojo 1 MB iki 4 MB, kad būtų pakankamai vietos daiktų interneto žiniatinklio serverio failams laikyti SPIFFS.
Aš nusipirkau „SMD SPI flash“įrenginį (W25Q32FVSIG) iš „Ebay“čia
Norėdami pakeisti blykstę, laikinai pašalinau „Sonoff“šviesos diodą, kaip parodyta 4 paveiksle, kad būtų lengviau pasiekti SMD įrenginį. Norėdami išlydyti blykstę, naudoju šilumos pistoletą, kaip parodyta 5 paveikslėlyje aukščiau. Tada iš naujo lituokite atitinkamai 4 MB blykstę ir šviesos diodą (6 pav.).
3 žingsnis: konstrukcijos ir surinkimo detalės
Maitinimo tinklo valdiklį įdėjau į „Mulitcomp BM12W ABS“dėžutę (1 pav. Aukščiau). Šiame korpuse yra izoliuoti žalvariniai M3 įdėklai, leidžiantys daugkartinio priėjimo prie įrenginio nepažeidžiant tvirtinimo sriegių, kad prireikus būtų galima pakeisti vidinį saugiklį arba laikui bėgant atlikti vidinį patikrinimą (to negalima pasakyti apie „Sonoff“įrenginį, kuris iš tikrųjų uždaromas tik vieną kartą naudojant savisriegius).
Pagrindinis maitinimo kabelio įtempimo mažinimas buvo pasiektas naudojant M16 nailono/poliamido 6/6 baltą kabelio sandariklį, palaikantį kabelį OD Min/Max 5mm/10mm.
Antrinis įtempimas buvo pašalintas per vieną užtrauktuką, pritvirtintą ant kabelio, jei būtų pernelyg įtempta, o kabelio sandariklis sugestų, užtrauktukas pritvirtins kabelį vietoje.
Kad tilptų kabelių įvorės ir būtų pakankamai vietos montuoti „Sonoff“ir optoizoliacinę elektroniką, aš pašalinau vidines PCB tvirtinimo briaunas, kaip parodyta aukščiau (2 pav.).
Visa elektronika buvo tvirtai pritvirtinta naudojant M3 nailoninius CS varžtus, kad būtų užtikrinta izoliacija nuo korpuso išorės. Optoizoliacinė elektronika yra sumontuota su 5 tvirtinimo taškais, kad būtų užtikrintas patikimas mechaninis stiprumas, jei įrenginys būtų numestas, taip neleidžiant izoliacijos transformatoriaus masės sulaužyti plokštės grandinės.
Įrenginys buvo tiekiamas naudojant JK standartinę spalvotą baltos spalvos 3 gyslų PVC izoliuotą maitinimo tinklą iš kelių gyslų (32/0,2 mm kv) kabelio 1 mm (kv.) CSA. kurių OD yra 7,2 mm, galintis nešti 10A.
Prietaisas buvo prijungtas prie JK tinklo (240 VAC RMS) per standartinį 3 kontaktų apsauginį kištuką (BS 1363/A). Kištukas buvo prijungtas prie 5A.
Visi maitinimo kabeliai prie optinės izoliacijos grandinės buvo prijungti per „Pheonix“kontaktinį MKDSN2, 5/3-5.08 poliamido gnybtus, kurių įtampa yra 16A esant 400 V įtampai, galinčius pernešti 2,5 mm (kv. kiekviena pozicija.
Maitinimo kabeliai nebuvo skardinti, tik susukti, kad būtų išvengta šerdžių išsiliejimo prieš įkišant į jungčių bloką. Tinklo kabelių skardinimas yra pavojinga praktika, nes lydmetalis laikui bėgant „atsipalaiduoja“, todėl kabelis netenka jungties bloko.
Pastaba:
- OD = išorinis skersmuo.
- VAC = voltų kintamoji srovė
- RMS = šaknies vidurkis
- CSA = skerspjūvio plotas
- CS = nuskendęs skaitiklis
4 žingsnis: „Sonoff“programavimo adapteris
Perprogramuojant „Sonoff 10A“per „Arduino IDE“reikia atsižvelgti į du aspektus;
- „Arduino IDE“konfigūravimas programuoti ESP8266,
- Pats aparatinės įrangos programavimas.
„Arduino IDE“konfigūravimas programuoti ESP8266
Norėdami sukonfigūruoti „Ardino IDE“, vadovaukitės čia pateiktomis instrukcijomis „Arduino IDE“nustatymas programuoti ESP8266-01
Techninės įrangos programavimas
Tai yra daugiapakopis procesas, kaip ir visais atvejais naudojant ESP8266. Čia „Sonoff“maitinimas į plokštę tiekiamas per išorinį stabilizuotą 3v3 nuolatinės srovės šaltinį, o ne iš maitinimo tinklo. Norint siųsti ir gauti duomenis į „Sonoff“ir iš jo, reikės USB į nuoseklųjį įrenginį. Prijunkite TX ir RX, kaip parodyta 2 ir 4 paveikslėliuose.
Programavimo veiksmai (bendrieji)
- Pirmiausia įsitikinkite, kad „Sonoff“nėra prijungtas prie išorinio maitinimo šaltinio,
- Paspauskite ir palaikykite „Sonoff“įrenginio mygtuką. (1 pav. aukščiau, pažymėtas pakartotinio blykstės mygtukas),
- Prie 1 kaiščio uždėkite išorinį DC 3v3 maitinimą (2 pav. Aukščiau),
- Atleiskite Sonoff mygtuką,
- Dabar prietaisą galima perprogramuoti įprastu būdu per „Arduino IDE“.
Kad viskas būtų šiek tiek lengviau, sukūriau aukščiau esantį programavimo įrenginį (3 ir 4 paveikslai), kuris buvo sujungtas su „Sonoff“per laidus SK1… 3 (kaip aprašyta šiame instrukciniame 1 veiksme). Tai leido lengviau programuoti ESP8266. Ji taip pat suteikė galimybę išbandyti GPIO14 kaip įvestį naudojant R1, 4K7 ištraukiamąjį rezistorių ir mygtuką S1.
Naudodami aukščiau esantį programavimo įrenginį (3 ir 4 nuotraukos) Programavimo žingsniai yra
- Paspauskite ir palaikykite „Sonoff“pakartotinio blykstės mygtuką,
- Impulsuokite 3v3 maitinimą akimirksniu paspausdami S2,
- Atleiskite pakartotinio blykstės mygtuką,
- Prietaisą dabar galima užprogramuoti.
PASTABA - ĮSPĖJIMAS
Jokiomis aplinkybėmis „Sonoff“perprogramavimo metu maitinimas neturėtų būti tiekiamas iš elektros tinklo
5 veiksmas: programinės įrangos sistemos apžvalga
Šiame „IoT“tinklo valdiklio įrenginyje dažniausiai yra tie patys šeši pagrindiniai programinės įrangos komponentai, kaip ir „Instructable WiFi IoT“temperatūros ir drėgmės jutiklyje. Dalis: 8 daiktų internetas, namų automatizavimas ir parodyta 1 paveiksle aukščiau, šiek tiek pritaikant.
SPIFFS
Tai yra (atnaujinta iki 4 MB) integruota SPI „Flash Filing“sistema ir naudojama šiai informacijai saugoti (žr. 2 pav. Aukščiau);
- Piktogramos ir „Pagrindinio valdiklio konfigūracijos pagrindinis puslapis“html: aptarnaujamas „IoT“įrenginio, kai jis negali prisijungti prie jūsų „IoT WiFi“tinklo (dažniausiai dėl neteisingos saugos informacijos) ir suteikia vartotojui galimybę nuotoliniu būdu konfigūruoti tinklo valdiklį be poreikis perprogramuoti arba įkelti naują SPIFFS turinį.
- Saugos informacija: joje saugoma informacija, kurią įjungus „IoT“įrenginys prisijungia prie jūsų „IoT WiFi“tinklo ir „MQTT Broker“. Informacija, pateikta per „Mains Controller Configuration Home Page“, yra įrašoma į šį failą („secvals.txt“).
Pastaba: Norėdami iš pradžių nustatyti įrenginį, čia rasite išsamios informacijos apie tai, kaip naudoti SPIFFS su „Arduino IDE“.
mDNS serveris
Ši funkcija naudojama, kai „IoT“įrenginiui nepavyksta prisijungti prie „WiFi“tinklo kaip „WiFi“stoties, o jis tapo „WiFi“prieigos tašku, panašiu į vietinį „WiFi“maršrutizatorių. Tokio maršrutizatoriaus atveju paprastai prie jo prisijungtumėte įvesdami panašaus 192.168.1.1 IP adresą (paprastai atspausdintą ant etiketės, pritvirtintos prie dėžutės) tiesiai į naršyklės URL juostą, į kurią gausite prisijungimo puslapį vartotojo vardą ir slaptažodį, kad galėtumėte konfigūruoti įrenginį. Jei ESP8266 veikia AP režimu (prieigos taško režimu), numatytasis įrenginio IP adresas yra 192.168.4.1, tačiau, kai veikia mDNS serveris, naršyklės URL juostoje turite įvesti tik žmonėms draugišką pavadinimą „MAINSCON.local“, kad pamatytumėte „Pagrindinis tinklo valdiklio konfigūracijos puslapis“.
MQTT klientas
MQTT klientas suteikia visas reikalingas funkcijas; prisijunkite prie savo IoT tinklo MQTT brokerio, užsiprenumeruokite pasirinktas temas ir paskelbkite naudingus krovinius tam tikrai temai. Trumpai tariant, jame numatytos pagrindinės daiktų interneto funkcijos.
HTTP žiniatinklio serveris
Kaip minėta aukščiau, jei „IoT“įrenginys negali prisijungti prie „WiFi“tinklo, kurio SSID, P/W ir tt yra apibrėžti saugos informacijos faile, esančiame SPIFFS, įrenginys taps prieigos tašku. Prisijungus prie „WiFi“tinklo, kurį teikia prieigos taškas, HTTP žiniatinklio serveris leidžia tiesiogiai prisijungti prie įrenginio ir pakeisti jo konfigūraciją naudojant HTTP žiniatinklio naršyklę, kurios tikslas yra aptarnauti pagrindinio valdiklio konfigūraciją Pagrindinis puslapis “tinklalapis, kuris taip pat saugomas SPIFFS formatu.
WiFi stotis
Ši funkcija suteikia „IoT“įrenginiui galimybę prisijungti prie vietinio „WiFi“tinklo naudojant saugos informacijos failo parametrus, be to jūsų „IoT“įrenginys negalės užsiprenumeruoti/paskelbti „MQTT Broker“
„WiFi“prieigos taškas
Galimybė tapti „WiFi“prieigos tašku yra priemonė, kuria „IoT“įrenginys leidžia prisijungti prie jo ir keisti konfigūraciją per „WiFi“stotį ir naršyklę (pvz., „Safari“„Apple iPad“). Šis prieigos taškas transliuoja SSID = "MAINSCON" + paskutinius 6 IoT įrenginio MAC adreso skaitmenis. Šio uždaro tinklo slaptažodis išgalvotai pavadintas „PASSWORD“.
6 veiksmas: programinės įrangos apžvalga
Norėdami sėkmingai sukompiliuoti šį šaltinio kodą, jums reikės šių papildomų bibliotekų;
PubSubClient.h
- Autorius: Nickas O'Leary
- Tikslas: leidžia įrenginiui skelbti arba užsisakyti MQTT temas su tam tikru tarpininku
- Iš:
Atšokti2.h
- Autorius: Thomas O Fredericks
- Tikslas: programinės įrangos įvesties jungiklis neveikia
- Iš:
Kodo apžvalga
Programinė įranga naudoja būsenos mašiną, kaip parodyta 1 paveiksle aukščiau (visa šaltinio kopija pateikta žemiau). Yra 5 pagrindinės būsenos:
-
INIT
Ši inicijavimo būsena yra pirmoji būsena, įvesta po maitinimo įjungimo
-
NOCONFIG
Ši būsena įvedama, jei įjungus aptinkamas netinkamas arba trūkstamas failas secvals.txt
-
LAUKIA NW
Ši būsena yra laikina, įvesta, kol nėra „WiFi“tinklo ryšio
-
LAUKIA MQTT
Ši būsena yra laikina, įvesta užmezgus „WiFi“tinklo ryšį ir kol nėra ryšio su „MQTT“tarpininku tame tinkle
-
AKTYVUS
Tai yra įprasta veikimo būsena, įvesta sukūrus ir „WiFi“tinklo ryšį, ir „MQTT Broker“ryšį. Būtent šios būsenos metu tinklo valdiklis paskelbs „MQTT Broker“ir gaus komandas per prenumeruojamas temas
Įvykiai, kontroliuojantys perėjimus tarp būsenų, aprašyti aukščiau esančiame 1 paveiksle. Perėjimus tarp būsenų taip pat reglamentuoja šie „SecVals“parametrai;
- 1 -asis MQTT brokerio IP adresas. Taškinėje dešimtainėje formoje AAA. BBB. CCC. DDD
- 2 -asis MQTT tarpininkų uostas. Sveiko skaičiaus forma.
- Trečiasis „MQTT Broker“ryšys bando prisijungti prieš pereinant iš STA režimo į AP režimą. Sveiko skaičiaus forma.
- 4 -asis „WiFi“tinklo SSID. Laisvos formos tekstu.
- 5 -asis „WiFi“tinklo slaptažodis. Laisvos formos tekstu.
Kaip minėta aukščiau, jei „IoT“įrenginys negali prisijungti kaip „WiFi“stotis prie „WiFi“tinklo, kurio SSID ir P/W yra apibrėžti SPIFFS esančiame secvals.txt, įrenginys taps prieigos tašku. Prisijungęs prie šio prieigos taško, jis pateiks „Tinklo valdiklio konfigūracijos pagrindinį puslapį“, kaip parodyta aukščiau 2 paveiksle (į naršyklės URL adreso juostą įvedant „MAINSCON.local“arba 192.168.4.1). Šis pagrindinis puslapis leidžia perkonfigūruoti tinklo valdiklį per HTTP naršyklę.
MQTT Temos pavadinimo konvencija
Aukščiau pateiktame 3 paveiksle aprašyta pavadinimo sutartis, naudojama MQTT temoms, ir ji atitinka ankstesniame „Instructable“(čia 5 veiksmas) modelį.
MQTT temos, naudojamos šiame daiktų interneto įrenginyje
Aiškumo dėlei užfiksavau (4 pav.) Temas ir susijusias pranešimų sekas, kurias šis įrenginys skelbia/prenumeruoja. Paveikslėlyje taip pat pavaizduota sąveika su baltu valdymo mygtuku korpuso išorėje (nors ironiškai mygtukas rodomas raudonai).
Nuotolinė konfigūracijos prieiga būdama AKTYVUS
Prisijungus prie „MQTT Broker“, galima nuotoliniu būdu iš naujo konfigūruoti įrenginio saugos parametrus per MQTT teminius leidinius. Susijęs failas secvals.txt turi tik rašymo prieigą.
Naudotojo derinimas
Įkrovos seanso metu „Sonoff“įrenginio šviesos diodas pateikia šiuos atsiliepimus apie derinimą, nors reikia pažymėti, kad norėdami tai pamatyti, turėsite nuimti dangtelį ir atskleisti grandinę, todėl patartina tai daryti tik kuriant kodą ir maitinant įrenginį su 3v3 maitinimu;
- 1 Trumpa blykstė: nėra konfigūracijos failo, esančio SPIFFS (secvals.txt),
- 2 trumpi mirksėjimai: „IoT“įrenginys bando prisijungti prie „WiFi“tinklo,
- Nuolatinis apšvietimas: „Sonoff IoT“įrenginys bando prisijungti prie „MQTT Broker“,
- Išjungta: įrenginys aktyvus ir prijungtas prie „MQTT Broker“.
1 pastaba: „Tinklo valdiklio konfigūracijos pagrindiniame puslapyje“nenaudojami saugūs lizdai, todėl jūsų tinklas yra saugus.
2 pastaba: norint užprogramuoti kelis daiktų interneto įrenginius, prieš atsisiunčiant į kiekvieną įrenginį reikės redaguoti MQTT eilutę. Taip yra todėl, kad tinklo valdiklio ID numeris buvo įterptas į MQTT temos eilutę. t.y. paskelbtoje programinėje įrangoje pasirinkau 100 reikšmę: „WFD/MainsCont/100/Relay/Command/1“, o 2 įrenginiams jie yra atitinkamai sunumeruoti 1 ir 2.
- „WFD/MainsCont/1/Relay/Command/1“
- „WFD/MainsCont/2/Relay/Command/1“
3 pastaba. Siekiant išsamumo, esant aktyviai būsenai, daiktų interneto programinė įranga leidžia valdyti „Sonoff“šviesos diodą ir skelbti pakartotinio blykstės mygtuko būseną. Nors jie yra vertingi tik derinimo proceso metu, nes nė vienas iš jų nėra veikiamas vartotojo įprasto veikimo metu.
7 veiksmas: „OpenHAB“konfigūracija
Bandymų tikslais nusprendžiau savo namų „gyvenamajame kambaryje“sumontuoti du tinklo valdiklius. Šį „OpenHAB“puslapį galima pasiekti per pagrindinį svetainės puslapį, kaip parodyta 1 paveiksle.
Aš pakeičiau „OpenHAB.sitemap“konfigūraciją, pateiktą ankstesniame „Instructable“(čia), ir pridėjau atskirus „Mains Controller 1“ir „Mains Controller 2“įrašus (2 pav. Aukščiau). Taip pat pridėjau įrašų („Living Room Mains Cont. 1 & 2“), kad būtų rodomos dviejų naujų daiktų interneto įrenginių imtuvo RSSI tendencijos (3 pav.).
Galiausiai pridėjau įrašų prie.rules ir.items failų, kad būtų galima dinamiškai sinchronizuoti „Sonoff“būseną ir atnaujinti/pagyvinti mano prastą bandymą perjungti grafiką (jungiklis uždaromas, kai aktyvus, ir atidaromas, kai neaktyvus). 2 paveiksle pateikiamas MC1 aktyvaus ir MC2 neaktyvaus pavyzdys.
1 pastaba: Jei nesate tikri, kaip naudoti „OpenHAB“, skaitykite čia „OpenHAB nustatymas ir konfigūravimas“. 6 dalis. Daiktų internetas, namų automatika “
2 pastaba: Žemiau esančiame ZIP faile pateikiama pakeistos svetainės schemos, taisyklių ir elementų failų, piktogramų ir kt. Kopija.
3 pastaba: RSSI = gauto signalo stiprumo indikacija. Tai yra matas, kaip „IoT“įrenginys gali matyti jūsų „WiFi“tinklą.
8 veiksmas: išbandykite savo „IoT“įrenginį
Kaip aprašyta instrukciniame „WiFi IoT“temperatūros ir drėgmės jutiklyje. 8 dalis. IoT, namų automatizavimas 7 veiksmas, pradinis daiktų interneto įrenginio bandymas buvo atliktas naudojant MQTT ryšį per „MQTT Spy“(kaip parodyta aukščiau esančioje 1 schemoje) baltas išorinis mygtukas) ir derinkite srautą serijinėje sąsajoje. Tai leido man pasinaudoti visomis turimomis prenumeruojamomis temomis ir patikrinti paskelbtus atsakymus. Nors vėlgi, tai buvo atlikta rankiniu būdu ir užima daug laiko, nors tai leido 100% aprėpti pranešimus/teminius leidinius.
Kadangi pagrindinė programinės įrangos būsenos mašina (6 veiksmas aukščiau) buvo paveldėta iš ankstesnio „Instructable“(8 dalis), išskyrus protingumo tikrinimą, programinė įranga galėjo prisijungti prie „WiFi N/W“ir „MQTT Broker“, manoma, kad tai veikia tinkamai.
Tada buvo atliktas visas sistemos lygio bandymas naudojant tinklo valdiklį ir daiktų interneto infrastruktūrą (vėl 1 pav.), Šį kartą naudojant „OpenHAB“sąveikai su „IoT“įrenginiu valdyti. „IoT“aparatinės įrangos ir netikros apkrovos nustatymą galima pamatyti 2 paveikslėlyje aukščiau.
Vaizdo įraše pateikiama išsami informacija apie sistemos testus ir aiškiai parodyta sinchronizacija tarp „OpenHAB“įrenginių (kompiuteris/„Chrome“ir „iPad“/„OpenHAB APP“) realiuoju laiku. Jame taip pat rodomi tiesioginiai pranešimai į tinklo valdiklius naudojant MQTTSpy (daugiau informacijos rasite čia. MQTT brokerio nustatymas. 2 dalis: Daiktų internetas, namų automatizavimas) ir „OpenHAB“sistemos žurnalas iš aviečių pi serverio per PuTTY SSH ryšį (toliau žr. Čia išsami informacija „OpenHAB“nustatymas ir konfigūravimas. 6 dalis: Daiktų internetas, namų automatizavimas).
Pastaba: derinimo srautas buvo surinktas galutiniam programinės įrangos leidimui.
9 žingsnis: Išvada
Generolas
Projektas buvo gana lengvai užbaigtas ir gerai veikė. Įterptąją programinę įrangą buvo paprasta sukurti, nes ji buvo sumažinta kodo versija, naudojama šios serijos 8 dalies temperatūros ir drėgmės jutikliams.
Iš pradžių ketinau įsigyti tik baltų komponentų vien dėl jų estetinės kokybės. Aš tai pasiekiau visais, išskyrus valdymo mygtuką, pabandykite kaip galėjau, nesugebėjau gauti gero/pigaus visiškai balto mygtuko.
„Sonoff 10A“įrenginys
Žemiau išvardijau, kas, mano manymu, buvo pagrįsti „Sonoff“įrenginio pliusai ir minusai
Argumentai "už"
- Pigu.
- Gera bendruomenės parama.
- Galima perprogramuoti per „Arduino IDE“.
Minusai
- Trapus gaubtas.
- Minimalus įvestis/išvestis (išvedama į tinkamas jungtis).
- Ramiai veikia.
- Bute yra tik 1 MB baito SPI blykstė.
- Ar PITA turi būti perprogramuota, kai prijungta vietoje.
- Įtraukiant naują kodą į „Sonoff“bandymus, relės uždarymas buvo problemiškas, nes relė yra 5v, o „Sonoff“programavimui tiekiamas tiekimas yra 3v3. Relės įjungimas yra tik juntamas ausiai.
Susirūpinimas
- Jis nekeičia neutralios linijos. Naudoja SPST relę.
- Nėra sulydytas.
- Prastas kabelio įtempimo mažinimas.
- PCB nėra apsaugotas Sonoff gaubte.
Komentuokite inžinerinį dizainą
Atsižvelgiant į tai, kad šis daiktų interneto įrenginys turėjo būti naudojamas JK elektros tinklui perjungti (240 VAC RMS), laikiausi geros mechaninės ir elektrinės projektavimo praktikos ir užtikrinau, kad smūgio rizika būtų sumažinta, neatskleidžiant jokių elektrai laidžių medžiagų, nurodant visus komponentus, išėjimo apkrova, saugiklių apsauga tiek maitinimo tinklo valdikliui, tiek opto jungties posistemiui, geras nenutrūkstamas įžeminimas ir optinė/galvaninė izoliacija.
Galimas patobulinimas
Žvelgiant į priekį, būtų buvę naudinga įtraukti vaizdinį indikatorių, kad maitinimo tinklo valdiklio išėjimas buvo aktyvus (LED arba neoninis). Nors tai nėra kasdienio naudojimo problema, atsižvelgiant į įprastą praktiką, prieš atliekant bet kokią techninę priežiūrą, reikia atskirti apkrovą nuo maitinimo šaltinio arba tiesiog paspaudus vietinį valdymo mygtuką, išjungiama išvestis, jei lemputė gali užsidegti, kai yra prijungta.
Galutinė pastaba
Jei norite pamatyti du labai prastus pavyzdžius, kaip elgtis su elektros tinklu, peržiūrėkite toliau pateiktas nuorodas. Esu tikras, kad jų Darvino apdovanojimai bus paskelbti labai greitai;
- „Mad Scientist“prailginimo laidas
- Bendruomenės atsiliepimai 03 - Energijos saugos problemos!
10 veiksmas: naudojamos nuorodos
Aš naudoju šiuos šaltinius, kad sujungčiau šią instrukciją;
PubSubClient.h
- Autorius: Nickas O'Leary
- Tikslas: leidžia įrenginiui skelbti arba užsisakyti MQTT temas su tam tikru tarpininku
- Iš:
Atšokti2.h
- Autorius: Thomas O Fredericks
- Tikslas: programinės įrangos įvesties jungiklis neveikia
- Iš:
SPIFFS
https://esp8266.github.io/Arduino/versions/2.0.0/do…
„Sonoff“blykstės atnaujinimas
- https://www.andremiller.net/content/upgrading-sonof…
- https://tech.scargill.net/32mb-esp01/
- https://www.andremiller.net/content/upgrading-sonof…
Sonoff grandinės schema
https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf
USB UART modulis (dar žinomas kaip 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
Darvino apdovanojimai (lengvas reljefas)
https://www.darwinawards.com/
TIL111 Opto-izoliatoriaus duomenų lapas
Rekomenduojamas:
Kalbanti automatika -- Garsas iš „Arduino“-- Balso valdoma automatika -- HC - 05 „Bluetooth“modulis: 9 žingsniai (su paveikslėliais)
Kalbanti automatika || Garsas iš „Arduino“|| Balso valdoma automatika || HC - 05 „Bluetooth“modulis: …………………………. Prenumeruokite mano „YouTube“kanalą, kad gautumėte daugiau vaizdo įrašų …. …. Šiame vaizdo įraše mes sukūrėme kalbančią automatiką. Kai išsiųsite balso komandą per mobilųjį telefoną, ji įjungs namų įrenginius ir siųs atsiliepimus
Kaip padaryti daiktų internetu pagrįstą namų automatizavimą naudojant „NodeMCU“jutiklių valdymo relę: 14 žingsnių (su paveikslėliais)
Kaip padaryti namų automatizuotą daiktų internetu naudojant „NodeMCU“jutiklių valdymo relę: Šiame IoT pagrįstame projekte aš sukūriau namų automatizavimą su „Blynk“ir „NodeMCU“valdymo relės moduliu su grįžtamuoju ryšiu realiuoju laiku. Rankiniu režimu šį relės modulį galima valdyti iš mobiliojo telefono ar išmaniojo telefono ir rankinio jungiklio. Automatiniu režimu šis kvapas
Daiktų internetas-„Ubidots“-ESP32+didelio nuotolio belaidis vibracijos ir temperatūros jutiklis: 7 žingsniai
„IoT“„Ubidots“-ESP32+tolimojo nuotolio belaidžio vibracijos ir temperatūros jutiklis: vibracija iš tikrųjų yra mašinų ir komponentų, esančių motorizuotuose įtaisuose, judėjimas pirmyn ir atgal. Pramonės sistemos vibracija gali būti vargo simptomas ar motyvas arba gali būti siejama su kasdieniu darbu. Pavyzdžiui, osci
Retro kalbos sintezė. Dalis: 12 daiktų internetas, namų automatika: 12 žingsnių (su paveikslėliais)
Retro kalbos sintezė. Dalis: 12 daiktų internetas, namų automatika: Šis straipsnis yra 12 -asis iš namų automatikos instrukcijų serijos, dokumentuojančių, kaip sukurti ir integruoti „IoT Retro Speech Synthesis Device“į esamą namų automatikos sistemą, įskaitant visas būtinas programinės įrangos funkcijas, leidžiančias
„WiFi IoT“temperatūros ir drėgmės jutiklis. Dalis: 8 daiktų internetas, namų automatizavimas: 9 žingsniai
„WiFi IoT“temperatūros ir drėgmės jutiklis. 8 straipsnis. Daiktų internetas, namų automatizavimas: įžanga 4 dalis. Daiktų internetas, namų automatizavimas, įskaitant visas būtinas programinės įrangos funkcijas, kad būtų galima sėkmingai