Messaging Queuing Telemetry Protocol ehk MQTT on kerge sõnumsideprotokoll, mis on loodud väikese ribalaiusega seadmetele ja keskkondadele. See on kiire, hõlpsasti juurutav ja energiasäästlik lahendus mitme IoT-seadme ühendamiseks ja teabe vahetamiseks. Teabe saatmiseks või vastuvõtmiseks on vaja MQTT maaklerit/serverit ja teemat, millele seadmed või kasutajad sõnumeid avaldavad ja tellivad.
Selles juhendis juurutame Raspberry Pi-s MQTT vahendaja ja Node-RED tööriista, et ühendada MQTT-toega DIY nutikad IoT-seadmed ja kasutada neid kodu automatiseerimiseks.
Asjad, mida vajate
Node-RED-iga MQTT-serveri loomiseks ja juurutamiseks vajate järgmist.
- Raspberry Pi Zero W või parem. Soovitame kasutada Raspberry Pi 3 või 4 (kui see on saadaval).
- microSD-kaart (8 GB või kõrgem).
- MicroSD-kaardi lugeja.
- Linuxi arvuti, Mac või Windows PC.
- Interneti-ühendus (Wi-Fi).
1. toiming: installige Raspberry Pi OS Lite (64-bitine)
Teil on vaja Raspberry Pi OS-i 64-bitist Lite versiooni. Aastal Raspberry Pi Imager
tööriista teises arvutis, klõpsake Valige OS > Raspberry Pi OS (muu), seejärel valige Raspberry Pi OS Lite (64-bitine). Lisaks soovite SSH lubamiseks kasutada Imageri täpsemaid seadeid (kasutasime pi ja vaarikas selle juhendi kasutajanime ja paroolina) ja konfigureerige Wi-Fi-ühendus. Lisateabe saamiseks vaadake meie juhendit aadressil kuidas installida operatsioonisüsteem Raspberry Pi-le. Pärast operatsioonisüsteemi kaardile kirjutamist väljutage see ja sisestage see oma Raspberry Pi-sse.2. samm: looge ühendus SSH kaudu ja värskendage pakette
Saate oma Raspberry Pi-ga ühenduse luua SSH kaudu, kasutades Windowsi või Terminaloni macOS-i ja Linuxi PuTTY-d. SSH kaudu ühenduse loomiseks peaksite siiski teadma Raspberry Pi IP-d. Selle väljaselgitamiseks võite avada juhtmevaba ruuteri DHCP-sätted või kasutada nutitelefonis rakendust Fing.
Sisestage IP-aadress PuTTY ja klõpsake Ühendage. Sisestage sisselogimiseks oma kasutajanimi ja parool.
Tippige Linuxi või macOS-i terminalis TeiePiKasutajanimi@IP-aadress ja seejärel sisestage sisselogimiseks parool. Kui olete SSH-ga ühenduse loonud, käivitage pakettide loendi värskendamiseks ja versiooniuuenduspakettide värskendamiseks järgmine käsk.
sudo apt värskendus && sudo apt uuendus –y
3. samm: installige MQTT Broker
MQTT maakleri (Mosquitto) installimiseks ja lubamiseks toimige järgmiselt.
- Installige Mosquitto, käivitades terminaliaknas järgmise käsu.
See alustab Mosquitto (MQTT maakleri) ja klienditeenuste installimist.sudo apt installida sääsk sääsk-kliendid -y
- Pärast installimist lubage Mosquitto teenus ja kontrollige MQTT versiooni järgmiste käskude abil.
sudosystemctllubadasääsk.teenus
sääsk -v - Looge kasutajakonto autentitud kaugjuurdepääsu lubamiseks, kasutades järgmist käsku.
Siin ravi on kasutajanimi (võite kasutada mida iganes soovite). Kui küsitakse, sisestage parool. Märkige see kasutajanimi ja parool hilisemaks kasutamiseks üles.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- Ava mosquitto.conf faili nanoredaktoris, kasutades järgmist käsku.
Kleepige nanoredaktorisse järgmine kood.sudo nano /etc/mosquitto.conf
Vajutage CTRL+X järgneb Y ja Sisenema muudatuste salvestamiseks.per_kuulaja_seaded tõsi
pid_file /run/mosquitto/mosquitto.pid
püsivus tõsi
püsivus_koht /var/lib/mosquitto/
log_dest fail /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
luba_anonüümne vale
kuulaja 1883
parooli_fail /etc/mosquitto/passwd - Taaskäivitage MQTT maakler, käivitades järgmise käsu.
sudo systemctl taaskäivitage mosquitto
- Kontrollige MQTT maakleri olekut, et näha, kas MQTT töötab.
Kui näete ülaltoodud väljundit, töötab MQTT.sudo systemctl olek sääsk
4. samm: testige MQTT Brokerit
Et testida, kas MQTT maakler töötab või mitte, installige MQTTLensid või sarnane MQTT rakendus Chrome'is või mõnes muus veebibrauseris ja käivitage see. Sisestage Raspberry Pi IP-aadress ja MQTT kasutajanimi/parool. Klõpsake Loo ühendus.
Sisestage suvaline teema Telli valdkonnas ja sama teema Avalda valdkonnas. Tippige sõnumiväljale "Tere" või midagi muud ja klõpsake Avalda.
Kui näete tellimuste all teadet, töötab MQTT maakler hästi.
5. samm: installige Node-RED
Node-RED-iga saate avaldada sõnumeid või saata ja vastu võtta kasulikke koormusi oma nutiseadmetesse või nendest. Seda kasulikku koormust saab kasutada nutiseadmete sisse-/väljalülitamiseks või andurilt andmete (nt temperatuuri) vastuvõtmiseks. Selliste voogude loomiseks Node-REDis ja oma nutiseadmete juhtimiseks saad kasutada oma veebibrauserit.
Node-RED installimiseks käivitage terminaliaknas järgmine käsk.
bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
See laadib Node-RED alla ja installib teie Raspberry Pi-sse. Selle lõpuleviimiseks võib kuluda veidi aega. Kui Node-RED on installitud, peate looma Node-RED sätete faili, käivitades järgmise käsu.
node-red admin init
Seejärel järgige neid samme.
- Vajutage nuppu Sisenema võti.
- Kas soovite seadistada kasutaja turvalisuse? Valige Jah. Sisesta kasutajanimi ja parool. Hoidke seda turvaliselt, sest seda kasutatakse Node-RED-i sisselogimiseks ja haldamiseks veebiliidese kaudu.
- Vali Täielik juurdepääs.
- Saate lisada teise kasutaja või valida Ei jätkama.
- Valige Ei kui palutakse projekti funktsioonid lubada.
- Vajutage Sisenema.
- Sisestage parool ja hoidke seda turvaliselt.
- Vali vaiketeema > Monaco (vaikimisi).
- Valige Ei kui palutakse laadida väliseid sõlmi.
Kui see on tehtud, taaskäivitage Node-RED.
sõlm-punane taaskäivitamine
Nüüd saate külastada Teie-Vaarika-Pi-IP: 1880 veebibrauseris, et avada Node-RED administraatoripaneel ja sinna sisse logida.
Nüüd saate luua vooge sõlm-RED-s. Allpool on näide Node-RED voost, mida kasutame oma WS2812B 8x32 maatriksekraani käitamiseks, mis näitab reaalajas erinevat meie koju paigaldatud andurite teavet.
Alustamiseks võite ka looge DIY nutikell MAX7219 maatriksi abilja ühendage see oma MQTT-serveriga, et kuvada sellel teksti või sõnumeid.
Koduautomaatika lubamine MQTT ja Node-RED abil
Nüüd saate luua vooge, et juhtida või jälgida oma MQTT-toega nutikodu seadmeid. Samuti saate ehitada DIY Tasmota nutikaid lüliteid või Arduino-põhiseid nutiandureid ja muid MQTT juhtimisega nutiseadmeid ning kasutada neid selle MQTT ja Node-RED serveriga. Saate luua koduautomaatika jaoks vooge oma nutitelefoni MQTT kliendilt saadud sündmuste, aja või kasuliku koormuse põhjal.
Oma Android-nutitelefoni saate installida MQTT Dashi, et luua ühendus oma MQTT-maakleriga ning saata või vastu võtta kasulikke koormusi erinevatel teemadel, mida teie nutiseadmed tellivad või avaldavad.