Pranešimų siuntimo eilės telemetrijos protokolas arba MQTT yra lengvas pranešimų siuntimo protokolas, skirtas mažo pralaidumo įrenginiams ir aplinkoms. Tai greitas, lengvai įdiegiamas ir energiją taupantis sprendimas, leidžiantis prisijungti ir keistis informacija tarp kelių daiktų interneto įrenginių. Norint siųsti arba gauti informaciją, reikalingas MQTT brokeris / serveris ir temos, kurios pranešimus skelbia ir prenumeruoja įrenginiai arba vartotojai.
Šiame vadove mes įdiegsime MQTT brokerį ir Node-RED įrankį Raspberry Pi, kad prijungtume MQTT palaikančius „pasidaryk pats“ išmaniuosius daiktų interneto įrenginius ir naudotume juos namų automatizavimui.
Daiktai, kurių jums prireiks
Norėdami sukurti ir įdiegti MQTT serverį su Node-RED, jums reikės šių dalykų:
- Raspberry Pi Zero W arba geresnis. Rekomenduojame naudoti Raspberry Pi 3 arba 4 (jei yra).
- „microSD“ kortelė (8 GB ar didesnė).
- MicroSD kortelių skaitytuvas.
- „Linux“ kompiuteris, „Mac“ arba „Windows“ kompiuteris.
- Interneto ryšys (Wi-Fi).
1 veiksmas: įdiekite Raspberry Pi OS Lite (64 bitų)
Jums reikės 64 bitų „Lite“ Raspberry Pi OS versijos. Viduje Raspberry Pi Imager įrankį kitame kompiuteryje, spustelėkite Pasirinkite OS > Raspberry Pi OS (kita), tada pasirinkite Raspberry Pi OS Lite (64 bitų). Be to, norėdami įjungti SSH, norėsite naudoti išplėstinius „Imager“ nustatymus (naudojome pi ir aviečių kaip šio vadovo vartotojo vardą ir slaptažodį) ir sukonfigūruokite „Wi-Fi“ ryšį. Norėdami gauti daugiau informacijos, peržiūrėkite mūsų vadovą kaip įdiegti operacinę sistemą Raspberry Pi. Įrašę OS į kortelę, išimkite ją ir įdėkite į Raspberry Pi.
2 veiksmas: prisijunkite per SSH ir atnaujinkite paketus
Galite prisijungti prie Raspberry Pi per SSH naudodami PuTTY sistemoje Windows arba Terminalon macOS ir Linux. Tačiau norėdami prisijungti per SSH, turėtumėte žinoti Raspberry Pi IP. Norėdami tai sužinoti, galite atidaryti belaidžio maršruto parinktuvo DHCP nustatymus arba naudoti „Fingapp“ savo išmaniajame telefone.
Įveskite IP adresą PuTTY ir spustelėkite Prisijungti. Norėdami prisijungti, įveskite savo vartotojo vardą ir slaptažodį.
„Linux“ arba „MacOS“ terminale įveskite JūsųPiUsername@IPAddress tada įveskite slaptažodį, kad prisijungtumėte. Prisijungę per SSH, paleiskite šią komandą, kad atnaujintumėte paketų sąrašą ir naujintumėte paketus.
sudo apt atnaujinimas && sudo apt atnaujinimas –y
3 veiksmas: įdiekite „MQTT Broker“.
Norėdami įdiegti ir įjungti MQTT brokerį (Mosquitto), atlikite šiuos veiksmus.
- Įdiekite „Mosquitto“ vykdydami šią komandą terminalo lange.
Taip bus pradėta diegti Mosquitto (MQTT brokeris) ir klientų paslaugos.sudo apt diegti uodai uodai-klientai -y
- Įdiegę įjunkite „Mosquitto“ paslaugą ir patikrinkite MQTT versiją naudodami šias komandas.
sudosystemctlįjungtiuodas.paslauga
uodas -v - Sukurkite vartotojo abonementą, kad leistumėte autentifikuotą nuotolinę prieigą naudodami šią komandą.
Čia ravi yra vartotojo vardas (galite naudoti bet ką). Įveskite slaptažodį, kai būsite paraginti. Užsirašykite šį vartotojo vardą ir slaptažodį, kad galėtumėte naudoti vėliau.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- Atidaryk mosquitto.conf failą nano redaktoriuje naudodami šią komandą.
Įklijuokite šį kodą į nano redaktorių.sudo nano /etc/mosquitto.conf
Paspauskite CTRL + X sekė Y ir Įeikite norėdami išsaugoti pakeitimus.per_klausytojo_nustatymus tiesa
pid_file /run/mosquitto/mosquitto.pid
atkaklumas tiesa
persistence_location /var/lib/mosquitto/
log_dest failas /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
leisti_anonimas klaidinga
klausytojas 1883 m
slaptažodžio_failas /etc/mosquitto/passwd - Iš naujo paleiskite MQTT brokerį vykdydami šią komandą.
sudo systemctl iš naujo paleiskite mosquitto
- Patikrinkite MQTT brokerio būseną, kad sužinotumėte, ar MQTT veikia.
Jei matote aukščiau pateiktą išvestį, veikia MQTT.sudo systemctl status mosquitto
4 veiksmas: išbandykite MQTT brokerį
Norėdami patikrinti, ar MQTT brokeris veikia, ar ne, įdiekite MQTTLens arba panašią MQTT programą „Chrome“ ar bet kurioje kitoje žiniatinklio naršyklėje ir paleiskite ją. Įveskite Raspberry Pi IP adresą ir MQTT vartotojo vardą / slaptažodį. Spustelėkite Sukurti ryšį.
Įveskite bet kurią temą Prenumeruoti lauke ir ta pati tema Paskelbti lauke. Pranešimo lauke įveskite "Labas" arba bet ką ir spustelėkite Paskelbti.
Jei po prenumeratos matote pranešimą, MQTT brokeris veikia gerai.
5 veiksmas: įdiekite „Node-RED“.
Naudodami Node-RED galite skelbti pranešimus arba siųsti ir gauti naudingus krovinius į savo išmaniuosius įrenginius arba iš jų. Ši naudinga apkrova gali būti naudojama norint suaktyvinti išmaniuosius įrenginius, kad jie įjungtų / išjungtų arba gautų duomenis (pvz., temperatūrą) iš jutiklio. Galite naudoti savo interneto naršyklę, kad sukurtumėte tokius srautus „Node-RED“ ir valdytumėte savo išmaniuosius įrenginius.
Norėdami įdiegti Node-RED, terminalo lange vykdykite šią komandą.
bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Tai atsisiųs ir įdiegs „Node-RED“ jūsų Raspberry Pi. Tai gali šiek tiek užtrukti. Įdiegę „Node-RED“, turite sukurti „Node-RED“ nustatymų failą, vykdydami šią komandą.
mazgas-red admin init
Tada atlikite šiuos veiksmus:
- Paspauskite Įeikite Raktas.
- Ar norite nustatyti vartotojo apsaugą? Pasirinkite Taip. Įveskite vartotojo vardą ir slaptažodį. Saugokite, nes tai bus naudojama norint prisijungti ir valdyti Node-RED per žiniatinklio sąsają.
- Pasirinkite Pilna prieiga.
- Galite pridėti kitą vartotoją arba pasirinkti Nr Pereiti.
- Pasirinkite Nr paprašius įjungti projekto funkcijas.
- Paspauskite Įeikite.
- Įveskite slaptafrazę ir saugokite ją.
- Pasirink numatytoji tema > Monakas (numatytasis).
- Pasirinkite Nr paprašius įkelti išorinius mazgus.
Kai tai bus padaryta, iš naujo paleiskite „Node-RED“.
mazgas raudonas paleidimas iš naujo
Dabar galite apsilankyti Jūsų-Raspberry-Pi-IP: 1880 žiniatinklio naršyklėje, kad atidarytumėte ir prisijunkite prie „Node-RED“ administratoriaus skydelio.
Dabar galite kurti srautus „Node-RED“. Žemiau pateikiamas mazgo-RED srauto pavyzdys, kurį naudojame WS2812B 8x32 matricos ekranui, kuriame realiuoju laiku rodoma įvairi mūsų namuose įdiegta jutiklio informacija.
Norėdami pradėti, taip pat galite Sukurkite „pasidaryk pats“ išmanųjį laikrodį naudodami MAX7219 taškų matricąir prijunkite jį prie savo MQTT serverio, kad jame būtų rodomas tekstas arba pranešimai.
Įgalinkite namų automatizavimą naudodami MQTT ir Node-RED
Dabar galite kurti srautus, kad galėtumėte valdyti arba stebėti savo išmaniųjų namų įrenginius, kuriuose veikia MQTT. Taip pat galite sukurti „pasidaryk pats“ Tasmota išmaniuosius jungiklius arba Arduino pagrindu veikiančius išmaniuosius jutiklius ir kitus išmaniuosius įrenginius su MQTT valdymu ir naudoti juos su šiuo MQTT ir Node-RED serveriu. Galite sukurti namų automatizavimo srautus pagal įvykius, laiką arba naudingą apkrovą, gautą iš jūsų išmaniojo telefono MQTT kliento.
Savo „Android“ išmaniajame telefone galite įdiegti „MQTT Dash“, kad prisijungtumėte prie MQTT brokerio ir siųstumėte arba gautumėte naudingus krovinius įvairiomis temomis, kurias prenumeruoja ar skelbia jūsų išmanieji įrenginiai.