Turinys:

Itin mažos galios „WiFi“namų automatizavimo sistema: 6 žingsniai (su nuotraukomis)
Itin mažos galios „WiFi“namų automatizavimo sistema: 6 žingsniai (su nuotraukomis)

Video: Itin mažos galios „WiFi“namų automatizavimo sistema: 6 žingsniai (su nuotraukomis)

Video: Itin mažos galios „WiFi“namų automatizavimo sistema: 6 žingsniai (su nuotraukomis)
Video: Moes ZigeBee išmanusis jutiklinis jungiklis be nulinės linijos 2024, Lapkritis
Anonim
Itin mažos galios „WiFi“namų automatikos sistema
Itin mažos galios „WiFi“namų automatikos sistema
Itin mažos galios „WiFi“namų automatikos sistema
Itin mažos galios „WiFi“namų automatikos sistema

Š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

Prijunkite „IOT Cricket“prie „RaspberryPi“per MQTT
Prijunkite „IOT Cricket“prie „RaspberryPi“per MQTT
Prijunkite „IOT Cricket“prie „RaspberryPi“per MQTT
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

Patikrinkite MQTT pranešimus
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

Santrauka
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: