Turinys:
- 1 žingsnis: Kas yra MQTT?
- 2 žingsnis: „MQTT Broker“diegimas „Raspberry Pi“
- 3 veiksmas: prijunkite „IOT Cricket“prie „RaspberryPi“per MQTT
- 4 žingsnis: patikrinkite MQTT pranešimus
- 5 žingsnis: santrauka
- 6 žingsnis: Apie mus
Video: Itin mažos galios „WiFi“namų automatizavimo sistema: 6 žingsniai (su nuotraukomis)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:44
Šiame projekte mes parodome, kaip per kelis veiksmus galite sukurti pagrindinę vietinę namų automatikos sistemą. Mes naudosime „Raspberry Pi“, kuris veiks kaip centrinis „WiFi“įrenginys. Kadangi galiniams mazgams naudosime „IOT Cricket“, kad sukurtume baterijomis maitinamus „WiFi“įrenginius, pvz. temperatūros jutiklį ir prijunkite jį prie RPi nerašydami nė vienos kodo eilutės.
Mūsų sistema bus pagrįsta MQTT ryšio protokolu, kuris yra labai pritaikytas daugelyje namų automatikos sistemų. Norėdami jį nustatyti, mes pasirenkame „Mosquitto MQTT“tarpininką (serverį) ir įdiegiame jį į „Raspberry Pi“(mūsų centrinį centrą).
„IOT Cricket“taip pat palaiko HTTP (S) ir MQTT protokolus. Mes sukonfigūruojame jį naudoti MQTT, kad galėtų tiesiogiai bendrauti su mūsų RPi MQTT brokeriu.
Šį projektą gali įgyvendinti visų lygių kūrėjai. Tam gali prireikti pagrindinio litavimo, tačiau nereikia kodavimo ar programavimo. Šio projekto pabaigoje gausite tvirtą idėją, kaip galite lengvai sukurti savo sistemą ir greitai ją išplėsti, pridėdami prie sistemos savo IOT galinius mazgus.
Priedai:
- Raspberry Pi (šiam projektui naudojome 3 versiją)
- „IOT Cricket WiFi“modulis
- 2xAAA baterijos laikiklis
- 2xAAA baterijos
1 žingsnis: Kas yra MQTT?
MQTT protokolas suteikia lengvą pranešimų siuntimo metodą, naudojant paskelbimo/prenumeratos modelį. Dėl to jis tinka daiktų interneto pranešimams, pvz., Mažos galios jutikliams ar mobiliesiems įrenginiams, tokiems kaip telefonai, įterptieji kompiuteriai ar mikrovaldikliai. (šaltinis: mosquitto.org)
Galime naudoti tiek įrenginių, kiek norime užsiprenumeruoti temas ir klausytis pranešimų. Jei kai kurie įrenginiai paskelbia pranešimą šia tema, tada visi įrenginiai, užsiprenumeravę šią temą, tą pranešimą gauna akimirksniu. Tema gali būti bet kokia savavališka eilutė, paprastai sujungta su / simboliais, kad būtų galima kurti hierarchines temas. Tipiškiausias MQTT naudojimas yra turėti vieną centrinį serverį, kuriame įrenginiai gali užsiprenumeruoti ir skelbti pranešimus. Tai palengvina bet kokį ryšį tarp įrenginių, prijungtų prie to serverio. Šiame projekte mes naudosime RPi kaip pagrindinį MQTT tarpininką, o visi kiti įrenginiai siųs pranešimus per šį tarpininką. Akivaizdu, kad geriausias būdas tai sužinoti yra tai padaryti patiems. Internete yra daug išteklių MQTT. Tačiau šiam projektui turėtumėte gerai susipažinti su pagrindine įžanga, kurią mes pateikėme aukščiau.
2 žingsnis: „MQTT Broker“diegimas „Raspberry Pi“
Šiam projektui naudojame atviro kodo „Mosquitto MQTT“brokerį. Jis yra lengvas ir tinkamas naudoti visuose įrenginiuose - nuo mažos galios vienos plokštės kompiuterių iki pilnų serverių.
Prieš pradedant diegti, geriausia atnaujinti sistemos komponentus:
$ sudo apt-get update $ sudo apt-get upgrade
Įdiekite „Mosquitto“brokerį. Atidarykite terminalą ir įveskite šią komandą:
$ sudo apt -get install mosquitto -y
Konfigūruokite „Mosquitto“brokerį. Redaguoti konfigūracijos failą:
$ sudo vi /etc/mosquitto/mosquitto.conf
ir viršuje pridėkite šias eilutes:
port 1883allow_anonymous true
Norėdami pritaikyti pakeitimus, iš naujo paleiskite RPi:
$ sudo perkraukite
Viskas! Mūsų MQTT brokeris jau veikia!
PASTABA: dėl šio projekto paprastumo mes nesukuriame paskyrų. Taigi kiekvienas iš mūsų vietinio tinklo gali prisijungti prie šio MQTT brokerio be įgaliojimų. Jei norite pridėti vartotojo autentifikavimą ir padaryti jį saugesnį, internete yra daug vadovėlių, kaip tai padaryti.
Dabar mums tereikia gauti IP adresą, kad galėtume siųsti pranešimus „Mosquitto“brokeriui iš kitų tinklo įrenginių:
Gaukite IP adresą:
$ hostname -I
your_RPi_IP_address (pvz., 192.168.1.10)
3 veiksmas: prijunkite „IOT Cricket“prie „RaspberryPi“per MQTT
Šiame projekte mes naudojame „IOT Cricket WiFi“modulį paprastam jutikliui, kuris kas 30 sekundžių praneša mūsų sistemai apie temperatūrą. Jis veiks iš baterijos, kad galėtume jį klijuoti bet kur namuose ar sode. Vėliau galite naudoti „IOT Cricket“, kad sukurtumėte įvairius baterijomis maitinamus jutiklius, aliarmus, mygtukus, jungiklius ir iš dėžutės prijungtumėte juos prie mūsų RPi MQTT brokerio.
Pirmajame etape prijunkite baterijas prie „Cricket“.
Kriketas yra su įmontuotu temperatūros jutikliu. Mums tereikia sukonfigūruoti, kad ji nusiųstų temperatūros vertę mūsų MQTT brokeriui, nustatydama RPi IP adresą. Norėdami tai padaryti, atidarykite „Cricket“konfigūracijos skydelį (žr. Čia pateiktus veiksmus) ir pritaikykite šiuos nustatymus (kaip parodyta paveikslėlyje žemiau) koreguoti IP adresą laukelyje „url“pagal savo RPi)
Dabar galime išeiti iš konfigūracijos režimo. Įrenginys paruoštas! „Cricket“jau siunčia duomenis mūsų MQTT brokeriui kas 30 sekundžių.
4 žingsnis: patikrinkite MQTT pranešimus
Norėdami peržiūrėti / gauti pranešimus, išsiųstus mūsų MQTT brokeriui, galime naudoti įvairius įrankius.
Lengviausias gali būti komandinės eilutės įrankis mosquitto_sub. Mes galime ją įdiegti bet kuriame mūsų tinklo kompiuteryje arba RPi naudodami šią komandą:
$ sudo apt-get install mosquitto-customers-y
Dabar galime vykdyti šią komandą, kad išklausytume VISAS temas ir pranešimus, siunčiamus per mūsų MQTT brokerį:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / DEVICE_NAME MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / temperatūros 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
Aukščiau pateiktas pavyzdys to, ką „IOT Cricket“siunčia mūsų brokeriui. Tarp kitų duomenų, kuriuos matome, yra temperatūra:
/59A98F494C/temperatūra 26.0
MQTT grožis yra tas, kad jis leidžia mums užsiprenumeruoti tik tas temas, kurios mus domina. Jei norime gauti tik temperatūrą, galime užsiprenumeruoti /59A98F494C /temp temą naudodami šią komandą:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
5 žingsnis: santrauka
Šiame projekte parodėme esminę techninę ir programinę įrangą, skirtą pradėti kurti mažai energijos naudojančias, energiją taupančias namų automatizavimo sistemas, pagrįstas „WiFi“. MQTT yra esmė, kuria remiamasi kuriant sudėtingesnes sistemas.
Programinės įrangos ir paslaugų, kurias galima integruoti į MQTT, ekosistema yra didžiulė! Yra daug puikių sistemų, tokių kaip „Home Assistant“, „Node RED“, „Grafana“ir kt., Kad galėtumėte sukurti puikią savo sistemos naudotojo patirtį. Mes galime ne tik paprastu būdu išspausdinti tam tikrą temperatūrą, bet ir turėti puikius prietaisų skydelius, vaizduojančius duomenis ir valdančius jūsų įrenginius.
Dabar, kai turime šią pagrindinę sistemos infrastruktūrą, dangus yra mūsų riba, kokius kitus „WiFi“įrenginius galime sukurti naudodami „IOT Cricket“modulius ir pridėti prie mūsų namų automatikos sistemos.
Ačiū, kad pakilote čia. Tikimės, kad jums patiko ši pamoka!
„Things On Edge“komanda
6 žingsnis: Apie mus
„Things On Edge“yra kompanija, įsikūrusi Kembridže, JK. Sukuriame itin mažos baterijos „Cricket Wi-Fi“modulį, kad pažodžiui per kelias minutes galėtumėte prijungti įvairius elektroninius įrenginius prie išmaniųjų telefonų ar kitų interneto paslaugų. Tam nereikia jokio programavimo ir kodavimo. Tai leidžia integruoti savo įrenginius į didžiąsias IOT ekosistemos paslaugas per MQTT ir HTTP apis.
Rekomenduojamas:
Pasidaryk pats įsilaužimas į savo namų automatizavimo sistemą: 7 žingsniai (su nuotraukomis)
„Pasidaryk pats“įsilaužimas į savo namų automatizavimo sistemą: namų automatizavimo sistema turėtų turėti galimybę įjungti/išjungti prietaisus, tokius kaip žibintai, ventiliatoriai, pramogų sistemos ir kt. Belaidė, tačiau nepriklausoma nuo interneto sistema, bet svarbiausia - pasidaryk pats ir atvira -šaltinis, nes noriu suprasti
Itin mažos galios, didelio stiprumo vamzdžių stiprintuvas: 13 žingsnių (su nuotraukomis)
Itin mažos galios, didelio stiprumo vamzdžių stiprintuvas: Tokiems miegamojo rokeriams, kaip aš, nėra nieko blogiau už skundus dėl triukšmo. Kita vertus, gaila turėti 50 W stiprintuvą, prijungtą prie apkrovos, kuri beveik viską išsklaido karštyje. Todėl aš bandžiau sukurti didelės naudos pirminį stiprintuvą, pagrįstą šeima
Itin mažos galios rūsio potvynio aliarmas su ESP8266: 3 žingsniai
Itin mažos galios rūsio potvynio aliarmas su ESP8266: Sveiki, sveiki atvykę į mano pirmą pamokomą pamoką. Mano namo rūsys kas kelerius metus užtvindomas dėl įvairių priežasčių, pvz., Smarkios vasaros perkūnijos, aukšto požeminio vandens ar net sprogus vamzdžiui. Nors tai nėra graži vieta, bet mano centrinio šildymo b
Galinga autonominė namų automatizavimo sistema - „Pi“, „Sonoff“, ESP8266 ir „Node -Red“: 9 žingsniai (su nuotraukomis)
Galinga autonominė namų automatizavimo sistema - „Pi“, „Sonoff“, ESP8266 ir „Node -Red“: šis vadovas turėtų jus nukreipti į pirmąją bazę, kurioje galite įjungti/išjungti šviesą ar prietaisą naudodami bet kurį įrenginį, kuris gali prisijungti prie jūsų vietinio tinklo. puiki tinkinama žiniatinklio sąsaja. Funkcijų išplėtimo/ pridėjimo galimybės yra didžiulės, įskaitant
„Arduino“itin mažos galios oro stotis: 5 žingsniai
„Arduino“itin mažos galios oro stotis: Šis vadovas parodys, kaip sukurti itin mažos galios orų stotį naudojant „arduino nano“, „bme 280“ir radijo modulį „rf433“, kuris truks apie 1,5–2 metus naudojant „2 LiPo 18650“ir Norėdami jį išplėsti, pridėkite daugiau jutiklių ir saulės energijos