Kazalo:
- 1. korak: Kaj je MQTT?
- 2. korak: Namestitev posrednika MQTT na Raspberry Pi
- 3. korak: Povežite IOT Cricket z RaspberryPi prek MQTT
- 4. korak: Preglejte sporočila MQTT
- 5. korak: Povzetek
- 6. korak: O nas
Video: Domači avtomatizacijski sistem WiFi z nizko porabo energije: 6 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:02
V tem projektu vam pokažemo, kako lahko v nekaj korakih zgradite osnovni lokalni avtomatizacijski sistem. Uporabili bomo Raspberry Pi, ki bo deloval kot osrednja naprava WiFi. Medtem ko bomo za končna vozlišča uporabili IOT Cricket za izdelavo naprav WiFi z baterijskim napajanjem, npr. temperaturni senzor in ga priključite na RPi, ne da bi napisali eno vrstico kode.
Naš sistem bo temeljil na komunikacijskem protokolu MQTT, ki je zelo razširjen v večini sistemov za avtomatizacijo doma. Za nastavitev izberemo posrednika Mosquitto MQTT (strežnik) in ga namestimo na Raspberry Pi (naše osrednje vozlišče).
IOT Cricket ima tudi podporo za protokole HTTP (S) in MQTT. Konfiguriramo ga tako, da uporablja MQTT za neposredno komunikacijo z našim posrednikom RPi MQTT.
Ta projekt lahko ustvarijo ustvarjalci na vseh ravneh znanja. Morda bo potrebno nekaj osnovnega spajkanja, vendar ne zahteva kodiranja ali programiranja. Na koncu tega projekta boste dobili trdno predstavo, kako lahko preprosto zgradite svoj sistem in ga hitro razširite z dodajanjem lastnih končnih vozlišč IOT v sistem.
Zaloge:
- Raspberry Pi (za ta projekt smo uporabili verzijo 3)
- IOT modul za kriket WiFi
- Nosilec baterije 2xAAA
- 2xAAA baterije
1. korak: Kaj je MQTT?
Protokol MQTT zagotavlja lahek način pošiljanja sporočil z uporabo modela objave/naročnine. Zaradi tega je primeren za pošiljanje sporočil Internet of Things, kot so tipala z nizko porabo energije ali mobilne naprave, kot so telefoni, vgrajeni računalniki ali mikrokrmilniki. (vir: mosquitto.org)
Uporabljamo lahko toliko naprav, kot se želimo naročiti na teme in poslušati, kako prispejo sporočila. Če nekatere naprave objavijo sporočilo na to temo, vse naprave, ki so naročene na to temo, to sporočilo prejmejo v trenutku. Tema je lahko poljuben poljubni niz, ki je običajno združen z / znaki, kar omogoča ustvarjanje hierarhičnih tem. Najpogostejša uporaba MQTT je imeti en osrednji strežnik, na katerega se lahko naprave naročijo in objavijo sporočila. Omogoča vso komunikacijo med napravami, povezanimi s tem strežnikom. V tem projektu bomo uporabljali RPi kot naš osrednji posrednik MQTT, vse druge naprave pa bodo pošiljale sporočila prek tega posrednika. Najboljši način, da se o tem naučimo, je, če to naredimo sami. Na internetu je na voljo veliko virov na MQTT. Za ta projekt pa bi morali biti v redu z osnovnim uvodom, ki smo ga podali zgoraj.
2. korak: Namestitev posrednika MQTT na Raspberry Pi
Za ta projekt uporabljamo odprtokodnega posrednika Mosquitto MQTT. Je lahek in je primeren za uporabo na vseh napravah, od enosmernih računalnikov z nizko porabo energije do polnih strežnikov.
Preden začnemo z nameščanjem, je dobro, da najprej posodobite sistemske komponente:
$ sudo apt-get update $ sudo apt-get upgrade
Namestite posrednika Mosquitto. Odprite terminal in vnesite naslednji ukaz:
$ sudo apt -get install mosquitto -y
Konfigurirajte posrednika Mosquitto. Urejanje konfiguracijske datoteke:
$ sudo vi /etc/mosquitto/mosquitto.conf
in na vrh dodajte naslednje vrstice:
vrata 1883allow_anonymous res
Znova zaženite RPi, da uporabite spremembe:
$ sudo ponovni zagon
To je to! Naš posrednik MQTT zdaj deluje!
OPOMBA: zaradi poenostavitve tega projekta ne ustvarjamo računov. Tako se lahko vsak v našem lokalnem omrežju poveže s tem posrednikom MQTT brez poverilnic. Če želite dodati preverjanje pristnosti uporabnika in ga narediti bolj varnega, je na internetu veliko vaj, kako to storiti.
Zdaj moramo samo pridobiti naslov IP, da lahko posredujemo sporočila našemu posredniku Mosquitto iz drugih naprav v omrežju:
Pridobite naslov IP:
$ ime gostitelja -I
vaš_RPi_IP_naslov (npr. 192.168.1.10)
3. korak: Povežite IOT Cricket z RaspberryPi prek MQTT
V tem projektu uporabljamo modul IOT Cricket WiFi za preprost senzor, ki vsakih 30 sekund v sistem sporoči temperaturo. Delal bo na baterijo, tako da ga lahko prilepimo kamor koli doma ali na vrt. Kasneje lahko uporabite IOT Cricket za izdelavo različnih senzorjev na baterije, alarmov, gumbov, stikal in jih tudi povežete z našim posrednikom RPi MQTT.
V prvem koraku priključite baterije v kriket.
Kriket ima vgrajen temperaturni senzor. Samo konfigurirati ga moramo tako, da pošlje vrednost temperature našemu posredniku MQTT z nastavitvijo naslova IP RPi. Če želite to narediti, odprite konfiguracijsko ploščo Cricket (glejte korake tukaj) in uporabite naslednje nastavitve (kot je prikazano na spodnji sliki, prosim naslov IP v polju "url" prilagodite svojemu RPi)
Zdaj lahko zapustimo konfiguracijski način. Naprava je pripravljena! Cricket že vsakih 30 sekund pošilja podatke našemu posredniku MQTT.
4. korak: Preglejte sporočila MQTT
Za ogled / prejemanje sporočil, poslanih našemu posredniku MQTT, lahko uporabimo različna orodja.
Najlažje je orodje ukazne vrstice mosquitto_sub. Lahko ga namestimo na kateri koli računalnik v našem omrežju ali na RPi s tem ukazom:
$ sudo apt-get install mosquitto-clients -y
Zdaj lahko izvedemo naslednji ukaz, da poslušamo VSE teme in sporočila, poslana prek posrednika MQTT:
$ mosquitto_sub -v -h vaš_RPi_IP_naslov -p 1883 -t '#'
…/59A98F494C/ime_prevoznika/59_98F494C/hw_c4
Zgoraj je izhodni primer tega, kar IOT Cricket pošlje našemu posredniku. Med drugimi podatki lahko vidimo temperaturo:
/59A98F494C/temp 26,0
Lepota MQTT je v tem, da nam omogoča, da se naročimo samo na teme, ki nas zanimajo. Če želimo prejemati samo temperaturo, se lahko naročimo na temo /59A98F494C /temp z naslednjim ukazom:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
5. korak: Povzetek
V tem projektu smo pokazali bistveno strojno in programsko opremo za začetek gradnje nizkoenergijskih, energetsko učinkovitih sistemov za avtomatizacijo doma na osnovi WiFi. MQTT je bistvo za nadgradnjo bolj izpopolnjenih sistemov.
Ekosistem programske opreme in storitev, ki jih je mogoče integrirati z MQTT, je OGROMEN! Obstaja veliko odličnih sistemov, kot so Home Assistant, Node RED, Grafana itd., Ki vam omogočajo, da ustvarite odlično uporabniško izkušnjo svojega sistema. Ne samo, da lahko preprosto natisnemo temperaturo, ampak imamo lahko tudi odlične nadzorne plošče, ki vizualizirajo podatke in upravljajo vaše naprave.
Ker imamo vzpostavljeno to osnovno sistemsko infrastrukturo, je nebo naša meja, katere druge naprave WiFi lahko zgradimo z moduli IOT Cricket in jih dodamo v sistem avtomatizacije doma.
Hvala, ker ste prišli sem. Upamo, da ste uživali v tej vadnici!
Ekipa Things On Edge
6. korak: O nas
Things On Edge je podjetje s sedežem v Cambridgeu v Veliki Britaniji. Oblikujemo Wi-Fi modul za kriket z izredno nizko baterijo, ki vam omogoča, da dobesedno v nekaj minutah povežete različne elektronske naprave s pametnimi telefoni ali drugimi internetnimi storitvami. Ne zahteva programiranja in kodiranja. Omogoča vam, da svoje naprave vključite v ogromne ekosistemske storitve IOT prek apisov MQTT in
Priporočena:
Enostaven BLE z zelo nizko porabo energije v Arduinu, 2. del - Nadzor temperature/vlažnosti - Rev 3: 7 korakov
Enostaven BLE z zelo nizko porabo energije v Arduinu, 2. del - Nadzor temperature/vlažnosti - Rev 3: Posodobitev: 23. november 2020 - Prva zamenjava 2 x AAA baterij od 15. januarja 2019, tj. 22 mesecev za 2xAAA alkalno Posodobitev: 7. april 2019 - Rev 3 od lp_BLE_TempHumidity, doda datumske/časovne ploskve z uporabo pfodApp V3.0.362+in samodejno dušenje
Določite povprečno trenutno porabo naprave z nizko porabo energije: 4 koraki
Določite povprečno trenutno porabo naprave z motnjami pri nizki porabi energije: Uvod Zaradi radovednosti sem hotel vedeti, kako dolgo lahko baterije zdržijo v mojem daljinskem senzorju temperature. Za serijo sta potrebni dve AA celici, vendar ni v pomoč, če postavite ampermeter v vrsto in opazujete zaslon, ker je poraba energije
Enostaven BLE z nizko porabo energije v Arduinu, 3. del - zamenjava Nano V2 - koraki 3: 7 (s slikami)
Enostavno BLE z nizko porabo energije v Arduinu, 3. del - Zamenjava Nano V2 - Rev. 3: Posodobitev: 7. april 2019 - 3. rev. Lp_BLE_TempHumidity, doda datumske/časovne ploskve z uporabo pfodApp V3.0.362+in samodejno dušenje pri pošiljanju podatkov Posodobitev: 24. marec 2019 - 2. revija lp_BLE_TempHumidity, dodaja več možnosti ploskve in i2c_ClearBus, dodaja GT832E_
Vremenska postaja z nizko porabo energije: 6 korakov (s slikami)
Vremenska postaja z nizko porabo energije: Zdaj v svoji tretji različici, ki je bila preizkušena že več kot dve leti, se moja vremenska postaja nadgrajuje za boljše delovanje pri nizki porabi energije in zanesljivost prenosa podatkov. Poraba energije - v drugih mesecih razen decembra in januarja ni problem,
LED POVstick z nizko porabo energije Bluetooth: 10 korakov (s slikami)
LED POVstick z nizko porabo energije Bluetooth: Ta navodila vam pokažejo, kako sestaviti palico svetlobnega pisca z RGB LED, ki jo lahko upravljate prek BLE iz telefona! Zdaj, ko se začne temna sezona in morate posneti fotografije z dolgo osvetlitvijo: s to palico lahko svoj podpis vpišete v