Messaging Queuing Telemetry Protocol ili MQTT je lagani protokol za razmjenu poruka dizajniran za uređaje i okruženja niske propusnosti. To je brzo, jednostavno za implementaciju i energetski učinkovito rješenje za povezivanje i razmjenu informacija između više IoT uređaja. Za slanje ili primanje informacija potreban je MQTT broker/poslužitelj i tema na koju se objavljuju poruke i pretplaćuju uređaji ili korisnici.

U ovom ćemo vodiču implementirati MQTT brokera i alat Node-RED na Raspberry Pi za povezivanje DIY pametnih IoT uređaja s omogućenom MQTT-om i njihovu upotrebu za kućnu automatizaciju.

Stvari koje ćete trebati

Za izgradnju i implementaciju MQTT poslužitelja s Node-RED-om trebat će vam sljedeće:

  • Raspberry Pi Zero W ili bolji. Preporučamo korištenje Raspberry Pi 3 ili 4 (ako je dostupan).
  • MicroSD kartica (8 GB ili više).
  • Čitač microSD kartica.
  • Linux PC, Mac ili Windows PC.
  • Internetska veza (Wi-Fi).

Korak 1: Instalirajte Raspberry Pi OS Lite (64-bitni)

Trebat će vam 64-bitna Lite verzija Raspberry Pi OS-a. u

Raspberry Pi Imager alat na drugom računalu, kliknite Odaberite OS > Raspberry Pi OS (ostalo), zatim odaberite Raspberry Pi OS Lite (64-bitni). Osim toga, trebali biste upotrijebiti napredne postavke Imagera da biste omogućili SSH (koristili smo pi i kupina kao korisničko ime i lozinka za ovaj vodič) i konfigurirajte Wi-Fi vezu. Za više detalja pogledajte naš vodič na kako instalirati operativni sustav na Raspberry Pi. Nakon što napišete OS na karticu, izbacite je i umetnite u svoj Raspberry Pi.

Korak 2: Povežite se preko SSH i ažurirajte pakete

Možete se povezati na Raspberry Pi preko SSH-a koristeći PuTTY na Windows ili Terminalon macOS i Linux. Međutim, trebali biste znati IP Raspberry Pi da biste se povezali preko SSH-a. Da biste saznali, možete otvoriti DHCP postavke vašeg bežičnog usmjerivača ili koristiti Fingapp na svom pametnom telefonu.

Unesite IP adresu Kit i kliknite Spojiti. Upišite svoje korisničko ime i lozinku za prijavu.

Na Linux ili macOS terminalu upišite VašePiKorisničkoime@IPAddress a zatim upišite lozinku za prijavu. Nakon povezivanja putem SSH-a, pokrenite sljedeću naredbu za ažuriranje popisa paketa i nadogradnju paketa.

ažuriranje sudo apt && sudo apt nadogradnja g

Korak 3: Instalirajte MQTT Broker

Da biste instalirali i omogućili MQTT brokera (Mosquitto), poduzmite sljedeće korake.

  1. Instalirajte Mosquitto pokretanjem sljedeće naredbe u prozoru terminala.
    sudo apt instalirati komarac komarac-klijenti -y
    Ovo će započeti instaliranje Mosquitto (MQTT broker) i usluga za klijente.
  2. Nakon instalacije omogućite uslugu Mosquitto i provjerite verziju MQTT pomoću sljedećih naredbi.
    sudosystemctlomogućitikomarac.servis
    komarac -v
  3. Stvorite korisnički račun kako biste omogućili provjereni daljinski pristup pomoću sljedeće naredbe.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Ovdje ravi je korisničko ime (možete koristiti koje god želite). Unesite lozinku kada se to od vas zatraži. Zabilježite ovo korisničko ime i lozinku za kasniju upotrebu.
  4. Otvori komarac.konf datoteku u nano editoru pomoću sljedeće naredbe.
    sudo nano /etc/mosquitto.conf
    Zalijepite sljedeći kod u nano editor.
    postavke po_slušatelju pravi
    pid_file /run/mosquitto/mosquitto.pid
    upornost pravi
    postojanost_lokacija /var/lib/mosquitto/
    log_dest datoteka /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    dopusti_anonimno lažno
    slušatelj 1883
    datoteka_lozinke /etc/mosquitto/passwd
    Pritisnite CTRL+X slijedi Y i Unesi za spremanje promjena.
  5. Ponovno pokrenite MQTT brokera izvođenjem sljedeće naredbe.
    sudo systemctl ponovno pokreni mosquitto
  6. Provjerite status MQTT brokera da vidite radi li MQTT.
    sudo systemctl status komarac
    Ako vidite gornji izlaz, MQTT je pokrenut.

Korak 4: Testirajte MQTT brokera

Da biste provjerili radi li MQTT broker ili ne, instalirajte MQTTLens ili sličnu MQTT aplikaciju u Chromeu ili bilo kojem drugom web pregledniku i pokrenite je. Unesite IP adresu Raspberry Pi i MQTT korisničko ime/lozinku. Klik Stvori vezu.

Unesite bilo koju temu u Pretplatite se polje i ista tema u Objaviti polje. Upišite "Bok" ili bilo što u polje za poruku i kliknite Objaviti.

Ako vidite poruku ispod pretplata, MQTT broker dobro radi.

Korak 5: Instalirajte Node-RED

Uz Node-RED možete objavljivati ​​poruke ili slati i primati korisne podatke na ili sa svojih pametnih uređaja. Taj se teret može koristiti za pokretanje pametnih uređaja za uključivanje/isključivanje ili primanje podataka (kao što je temperatura) od senzora. Možete koristiti svoj web preglednik za stvaranje takvih tokova u Node-RED-u i upravljanje vašim pametnim uređajima.

Da biste instalirali Node-RED, izvršite sljedeću naredbu u prozoru terminala.

bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)

Ovo će preuzeti i instalirati Node-RED na vaš Raspberry Pi. Možda će trebati neko vrijeme da se završi. Nakon što je Node-RED instaliran, trebate stvoriti datoteku postavki Node-RED pokretanjem sljedeće naredbe.

node-red admin init

Zatim slijedite ove korake:

  1. pritisni Unesi ključ.
  2. Želite li postaviti sigurnost korisnika? Odaberi Da. Unesite korisničko ime i lozinku. Čuvajte ga na sigurnom jer će se koristiti za prijavu i upravljanje Node-RED putem web sučelja.
  3. Odaberite Puni pristup.
  4. Možete dodati drugog korisnika ili odabrati Ne nastaviti.
  5. Odaberi Ne kada bude zatraženo da omogući značajke projekta.
  6. Pritisnite Unesi.
  7. Upišite zaporku i čuvajte je na sigurnom.
  8. Odaberi zadana tema > Monako (zadano).
  9. Odaberi Ne kada se zatraži da učita vanjske čvorove.

Kada to učinite, ponovno pokrenite Node-RED.

čvor-crveno ponovno pokretanje

Sada možete posjetiti Vaš-Raspberry-Pi-IP: 1880 u web pregledniku za otvaranje i prijavu na Node-RED administrativnu ploču.

Sada možete kreirati tokove u Node-RED. Ispod je primjer Node-RED toka koji koristimo za pokretanje našeg WS2812B 8x32 matričnog zaslona koji prikazuje različite informacije senzora instalirane u našem domu u stvarnom vremenu.

Za početak možete i vi izradite DIY pametni sat pomoću MAX7219 matrice, i povežite ga sa svojim MQTT poslužiteljem za prikaz teksta ili poruka na njemu.

Omogućite kućnu automatizaciju koristeći MQTT i Node-RED

Sada možete kreirati tokove za kontrolu ili nadzor svojih pametnih kućnih uređaja s omogućenim MQTT-om. Također možete izraditi DIY Tasmota pametne prekidače ili pametne senzore temeljene na Arduinu i druge pametne uređaje s MQTT kontrolom i koristiti ih s ovim MQTT i Node-RED poslužiteljem. Možete kreirati tokove za kućnu automatizaciju na temelju događaja, vremena ili korisnog opterećenja primljenog od vašeg MQTT klijenta pametnog telefona.

Na svom Android pametnom telefonu možete instalirati MQTT Dash da se povežete sa svojim MQTT brokerom i šaljete ili primate podatke na ili od raznih tema na koje se vaši pametni uređaji pretplate ili ih objavljuju.