Sisukord:
- Samm: mis on MQTT?
- 2. samm: MQTT Brokeri installimine Raspberry Pi -le
- Samm: ühendage IOT Cricket RaspberryPi -ga üle MQTT
- Samm: kontrollige MQTT -sõnumeid
- Samm: kokkuvõte
- 6. samm: meie kohta
Video: Väga väikese energiatarbega WiFi koduautomaatikasüsteem: 6 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
Selles projektis näitame, kuidas saate mõne sammuga luua kohaliku kohaliku koduautomaatika põhisüsteemi. Kasutame Raspberry Pi, mis toimib keskse WiFi -seadmena. Lõppsõlmede puhul kasutame IOT Cricketit akutoitega WiFi -seadmete valmistamiseks, nt temperatuuriandur ja ühendage see RPi -ga, kirjutamata ühtki koodirida.
Meie süsteem põhineb MQTT kommunikatsiooniprotokollil, mis on enamikus koduautomaatikasüsteemides tohutult kasutusele võetud. Selle seadistamiseks valime Mosquitto MQTT maakleri (serveri) ja installime selle Raspberry Pi (meie keskkeskus).
IOT Cricketil on ka HTTP (S) ja MQTT protokollide tugi. Seadistame selle kasutama MQTT -d, et suhelda otse meie RPi MQTT maakleriga.
Seda projekti saavad ellu viia kõik oskuste taseme tegijad. See võib vajada põhilist jootmist, kuid ei vaja kodeerimist ega programmeerimist. Selle projekti lõpus saate kindla ettekujutuse sellest, kuidas saate oma süsteemi hõlpsalt üles ehitada ja kiiresti laiendada, lisades süsteemile oma IOT -lõppsõlmed.
Tarvikud:
- Vaarika Pi (selle projekti jaoks kasutasime 3. versiooni)
- IOT Cricket WiFi moodul
- 2xAAA patareihoidik
- 2xAAA patareid
Samm: mis on MQTT?
MQTT protokoll pakub lihtsat meetodit sõnumite edastamiseks, kasutades avaldamis-/tellimismudelit. Seetõttu sobib see asjade Interneti -sõnumite saatmiseks, näiteks väikese energiatarbega andurid või mobiilseadmed, nagu telefonid, sisseehitatud arvutid või mikrokontrollerid. (allikas: mosquitto.org)
Saame kasutada nii palju seadmeid, kui soovime teemasid tellida ja sõnumeid saabuda. Kui mõned seadmed avaldavad sellel teemal sõnumi, saavad kõik selle teema tellinud seadmed selle sõnumi kohe. Teemaks võib olla mis tahes suvaline string, mis on tavaliselt seotud / tähemärkidega, et luua hierarhilisi teemasid. MQTT kõige tavalisem kasutusviis on ühe keskserveri olemasolu, millele seadmed saavad sõnumeid tellida ja avaldada. See hõlbustab igasugust suhtlust selle serveriga ühendatud seadmete vahel. Selles projektis kasutame RPi -d meie keskse MQTT maaklerina ja kõik teised seadmed saadavad selle vahendaja kaudu sõnumeid. Parim viis selle tundmaõppimiseks on ilmselgelt seda ise tehes. Internetis on MQTT -l palju ressursse. Selle projekti jaoks peaksite siiski olema rahul põhitutvusega, mille me eespool pakkusime.
2. samm: MQTT Brokeri installimine Raspberry Pi -le
Selle projekti jaoks kasutame avatud lähtekoodiga Mosquitto MQTT maaklerit. See on kerge ja sobib kasutamiseks kõikides seadmetes, alates väikese võimsusega üheplaatarvutitest kuni täisserveriteni.
Enne installimise alustamist on hea tava esmalt süsteemi komponente värskendada.
$ sudo apt-get update $ sudo apt-get upgrade
Installige Mosquitto maakler. Avage terminal ja tippige järgmine käsk:
$ sudo apt -get install mosquitto -y
Seadistage Mosquitto maakler. Muuda konfiguratsioonifaili:
$ sudo vi /etc/mosquitto/mosquitto.conf
ja lisage ülaossa järgmised read:
port 1883allow_anonymous true
Muudatuste rakendamiseks taaskäivitage RPi:
$ sudo taaskäivitamine
See on kõik! Meie MQTT maakler on nüüd töökorras!
MÄRKUS: selle projekti lihtsuse huvides me kontosid ei loo. Nii et igaüks meie kohalikus võrgus saab selle MQTT maakleriga ühenduse luua ilma mandaadita. Kui soovite lisada kasutaja autentimise ja muuta selle turvalisemaks, on Internetis palju õpetusi, kuidas seda teha.
Nüüd peame lihtsalt hankima IP -aadressi, et saaksime oma Mosquitto maaklerile sõnumeid saata teistest võrgu seadmetest:
Hankige IP -aadress:
$ hostname -I
teie_RPi_IP_aadress (nt 192.168.1.10)
Samm: ühendage IOT Cricket RaspberryPi -ga üle MQTT
Selles projektis kasutame IOT Cricket WiFi moodulit lihtsa anduri jaoks, mis annab meie süsteemile iga 30 sekundi järel temperatuuri. See töötab patareiga, nii et saame selle kodus või aias kõikjale kleepida. Hiljem saate IOT Cricketi abil ehitada erinevaid patareitoitega andureid, alarme, nuppe, lüliteid ja ühendada need ka meie RPi MQTT maakleriga.
Esimese sammuna ühendage akud Cricketiga.
Kriketil on sisseehitatud temperatuuriandur. Peame selle lihtsalt konfigureerima, et saata temperatuuriväärtus meie MQTT maaklerile, määrates RPi IP -aadressi. Selleks avage Cricketi konfiguratsioonipaneel (vt siin toodud juhiseid) ja rakendage järgmised sätted (nagu on näidatud alloleval pildil, palun) kohandage kasti "url" IP -aadress oma RPi -ga)
Nüüd saame konfiguratsioonirežiimist väljuda. Seade on valmis! Kriket saadab juba meie MQTT maaklerile andmeid iga 30 sekundi järel.
Samm: kontrollige MQTT -sõnumeid
Meie MQTT maaklerile saadetud sõnumite vaatamiseks / vastuvõtmiseks saame kasutada erinevaid tööriistu.
Lihtsaim võib olla käsurea tööriist mosquitto_sub. Selle käsuga saame selle installida kas oma võrgu mis tahes arvutisse või RPi -sse:
$ sudo apt-get install mosquitto-clients -y
Nüüd saame täita järgmise käsu, et kuulata KÕIKI meie MQTT maakleri kaudu saadetud teemasid ja sõnumeid:
$ mosquitto_sub -v -h your_RPi_IP_address -p 1883 -t '#'
… / 59A98F494C / seadme_nimi MyTemperatureDev / 59A98F494C / device_sn 59A98F494C / 59A98F494C / hwc_wake_up 3794 / 59A98F494C / hwc_wifi_enabled 3763 / 59A98F494C / hwc_message_sent 3664 / 59A98F494C / temp 26,0 / 59A98F494C / io1_wake_up 0 / 59A98F494C / rtc_wake_up 1 …
Ülaltoodud on väljundnäide selle kohta, mida IOT Cricket meie maaklerile saadab. Muude andmete hulgas on temperatuur:
/59A98F494C/temp 26,0
MQTT ilu seisneb selles, et see võimaldab meil tellida ainult neid teemasid, mis meid huvitavad. Kui soovime saada ainult temperatuuri, saame tellida teema /59A98F494C /temp, kasutades järgmist käsku:
$ mosquitto_sub -h your_RPi_IP_address -t '/59A98F494C/temp'
…26.126.527.227.6…
Samm: kokkuvõte
Oleme selles projektis näidanud olulist riist- ja tarkvara, et alustada väikese võimsusega, energiatõhusate WiFi -põhiste koduautomaatikasüsteemide ehitamist. MQTT on olemus, millele tugineda keerukamate süsteemide jaoks.
Tarkvara ja teenuste ökosüsteem, mida saab MQTT -ga integreerida, on SUUR! Seal on palju suurepäraseid süsteeme, nagu Home Assistant, Node RED, Grafana jne, mis võimaldavad teil välja pakkuda oma süsteemi suurepärase kasutajakogemuse. Me ei saa mitte ainult lihtsat temperatuuri välja printida, vaid ka suurepärased armatuurlauad, mis visualiseerivad andmeid ja haldavad teie seadmeid.
Nüüd, kui meil on see põhiline süsteemi infrastruktuur paigas, on taevas meie piir, milliseid muid WiFi -seadmeid saame IOT Cricket moodulite abil ehitada ja oma koduautomaatikasüsteemi lisada.
Aitäh, et siia jõudsite. Loodame, et teile meeldis see õpetus!
Things On Edge meeskond
6. samm: meie kohta
Things On Edge on Ühendkuningriigis Cambridge'is asuv ettevõte. Disainime ülikerge patareitoitega Cricket Wi-Fi mooduli, mis võimaldab teil ühendada nutitelefonide või muude Interneti-teenustega sõna otseses mõttes minutite jooksul erinevaid elektroonilisi seadmeid. See ei vaja programmeerimist ega kodeerimist. See võimaldab teil oma seadmed integreerida tohututesse IOT ökosüsteemi teenustesse MQTT ja HTTP apis kaudu.
Soovitan:
Lihtne väga väikese võimsusega BLE Arduino 2. osas - Temperatuuri/niiskuse monitor - Rev 3: 7 sammu
Lihtne väga väikese võimsusega BLE Arduino 2. osas - temperatuuri/niiskuse monitor - 3. versioon: värskendus: 23. november 2020 - 2 x AAA patarei esmakordne vahetamine alates 15. jaanuarist 2019, st 22 kuud 2xAAA leelisel Uuendamine: 7. aprill 2019 - versioon 3 lp_BLE_TempHumidity, lisab kuupäeva/kellaaja graafikud, kasutades pfodApp V3.0.362+, ja automaatse drosseliga
Lihtne väga väikese võimsusega BLE Arduino 3. osas - Nano V2 asendamine - 3. versioon: 7 sammu (piltidega)
Lihtne väga väikese energiatarbega BLE Arduino 3. osas - Nano V2 asendamine - 3. versioon: värskendus: 7. aprill 2019 - lp_BLE_TempHumidity versioon 3, lisab kuupäeva/kellaaja graafikud, kasutades pfodApp V3.0.362+, ja automaatne drosseldus andmete saatmisel Värskendus: 24. märts 2019 - lp_BLE_TempHumidity 2. versioon, lisab rohkem joonistusvalikuid ja i2c_ClearBus lisab GT832E
Väga väikese võimsusega suure võimendusega toru võimendi: 13 sammu (piltidega)
Ülimadala võimsusega suure võimendusega toruvõimendi: minusuguste magamistubade jaoks pole midagi hullemat kui mürakaebused. Teisest küljest on häbi, kui 50 W võimendi külge haagitakse koormus, mis hajutab kuumuses peaaegu kõik. Seetõttu proovisin luua suure võimendusega eelvõimendi, mis põhineb perekonnal
Väga väikese võimsusega keldri üleujutusalarm ESP8266 abil: 3 sammu
Üliväikese võimsusega keldri üleujutusalarm ESP8266-ga: Tere, tere tulemast minu esimesele juhendatavale. Minu maja kelder ujutatakse iga paari aasta tagant üle erinevatel põhjustel, nagu suvised äikesetormid, kõrge põhjavesi või isegi toru lõhkemine. Kuigi see pole kena koht, aga minu keskküte on
Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: 9 sammu (koos piltidega)
Võimas eraldiseisev koduautomaatikasüsteem - Pi, Sonoff, ESP8266 ja Node -Red: see juhend peaks viima teid esimesesse baasi, kus saate valguse või seadme sisse/välja lülitada mis tahes seadme kaudu, mis saab teie kohaliku võrguga ühenduse luua, ja suurepärane kohandatav veebiliides. Funktsioonide laiendamise/ lisamise ulatus on suur, sealhulgas