Messaging Queuing Telemetry Protocol ali MQTT je lahek protokol za sporočanje, zasnovan za naprave in okolja z nizko pasovno širino. Je hitra, enostavna za uvajanje in energetsko učinkovita rešitev za povezovanje in izmenjavo informacij med več napravami IoT. Za pošiljanje ali prejemanje informacij potrebuje posrednika/strežnik MQTT in temo, na katero so sporočila objavljena in na katere so naročene naprave ali uporabniki.

V tem priročniku bomo uvedli posrednika MQTT in orodje Node-RED na Raspberry Pi za povezavo pametnih naprav IoT DIY, ki podpirajo MQTT, in jih uporabili za avtomatizacijo doma.

Stvari, ki jih boste potrebovali

Če želite zgraditi in razmestiti strežnik MQTT z Node-RED, boste potrebovali naslednje:

  • Raspberry Pi Zero W ali boljši. Priporočamo uporabo Raspberry Pi 3 ali 4 (če je na voljo).
  • Kartica microSD (8 GB ali več).
  • Čitalec kartic microSD.
  • Računalnik z operacijskim sistemom Linux, Mac ali Windows.
  • Internetna povezava (Wi-Fi).

1. korak: Namestite Raspberry Pi OS Lite (64-bitni)

instagram viewer

Potrebovali boste 64-bitno različico Lite OS Raspberry Pi. V Raspberry Pi Imager v drugem računalniku kliknite Izberite OS > Raspberry Pi OS (drugo), nato izberite Raspberry Pi OS Lite (64-bitni). Poleg tega boste želeli uporabiti napredne nastavitve Imagerja, da omogočite SSH (uporabili smo pi in malina kot uporabniško ime in geslo za ta priročnik) in konfigurirajte povezavo Wi-Fi. Za več podrobnosti si oglejte naš vodnik na kako namestiti operacijski sistem na Raspberry Pi. Ko zapišete OS na kartico, jo izvrzite in vstavite v vaš Raspberry Pi.

2. korak: Povežite se prek SSH in posodobite pakete

S svojim Raspberry Pi se lahko povežete prek SSH z uporabo PuTTY v sistemu Windows ali Terminalon macOS in Linux. Vendar morate poznati IP Raspberry Pi, da se povežete prek SSH. Če želite izvedeti, lahko odprete nastavitve DHCP brezžičnega usmerjevalnika ali uporabite Fingapp na pametnem telefonu.

Vnesite naslov IP PuTTY in kliknite Povežite se. Vnesite svoje uporabniško ime in geslo za prijavo.

V terminalu Linux ali macOS vnesite VašePiUporabniškoime@IPAddress in nato vnesite geslo za prijavo. Ko se povežete prek SSH, zaženite naslednji ukaz, da posodobite seznam paketov in nadgradite pakete.

posodobitev sudo apt && nadgradnja sudo apt l

3. korak: Namestite posrednika MQTT

Če želite namestiti in omogočiti posrednika MQTT (Mosquitto), naredite naslednje korake.

  1. Namestite Mosquitto tako, da v oknu terminala zaženete naslednji ukaz.
    sudo apt namestite komar komar-klienti -y
    S tem se bo začela nameščati Mosquitto (posrednik MQTT) in storitve za stranke.
  2. Po namestitvi omogočite storitev Mosquitto in preverite različico MQTT z naslednjimi ukazi.
    sudosystemctlomogočitikomar.storitev
    komar -v
  3. Ustvarite uporabniški račun, da omogočite preverjen oddaljeni dostop z naslednjim ukazom.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Tukaj ravi je uporabniško ime (uporabite lahko poljubno). Vnesite geslo, ko ste pozvani. Zapišite si to uporabniško ime in geslo za kasnejšo uporabo.
  4. Odprite mosquitto.conf datoteko v urejevalniku nano z naslednjim ukazom.
    sudo nano /etc/mosquitto.conf
    Prilepite naslednjo kodo v urejevalnik nano.
    per_listener_settings prav
    pid_file /run/mosquitto/mosquitto.pid
    vztrajnost prav
    vztrajnost_lokacija /var/lib/mosquitto/
    datoteka log_dest /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    dovoli_anonimno lažno
    poslušalec 1883
    datoteka_gesla /etc/mosquitto/passwd
    Pritisnite CTRL+X sledi Y in Vnesite da shranite spremembe.
  5. Ponovno zaženite posrednika MQTT tako, da zaženete naslednji ukaz.
    sudo systemctl znova zaženi mosquitto
  6. Preverite stanje posrednika MQTT, da vidite, ali se MQTT izvaja.
    sudo systemctl status mosquitto
    Če vidite zgornji rezultat, se MQTT izvaja.

4. korak: preizkusite posrednika MQTT

Če želite preizkusiti, ali posrednik MQTT deluje ali ne, namestite MQTTLens ali podobno aplikacijo MQTT v Chromu ali katerem koli drugem spletnem brskalniku in jo zaženite. Vnesite naslov IP Raspberry Pi in uporabniško ime/geslo MQTT. Kliknite Ustvari povezavo.

Vnesite katero koli temo v Naročite se polje in ista tema v Objavi polje. V polje za sporočilo vnesite "Živjo" ali karkoli drugega in kliknite Objavi.

Če vidite sporočilo pod naročninami, posrednik MQTT deluje dobro.

5. korak: Namestite Node-RED

Z Node-RED lahko objavljate sporočila ali pošiljate in prejemate koristne podatke v ali iz svojih pametnih naprav. To koristno obremenitev se lahko uporabi za sprožitev pametnih naprav, da se vklopijo/izklopijo ali sprejmejo podatke (kot je temperatura) od senzorja. S spletnim brskalnikom lahko ustvarite takšne tokove v Node-RED in nadzorujete svoje pametne naprave.

Če želite namestiti Node-RED, izvedite naslednji ukaz v oknu terminala.

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

S tem boste prenesli in namestili Node-RED na vaš Raspberry Pi. Za dokončanje lahko traja nekaj časa. Ko je Node-RED nameščen, morate ustvariti datoteko z nastavitvami Node-RED z zagonom naslednjega ukaza.

node-red admin init

Nato sledite tem korakom:

  1. Pritisnite tipko Vnesite ključ.
  2. Ali želite nastaviti varnost uporabnika? Izberite ja. Vnesite uporabniško ime in geslo. Shranite ga na varno, saj se bo uporabljal za prijavo in upravljanje Node-RED prek spletnega vmesnika.
  3. Izberite Popoln dostop.
  4. Lahko dodate drugega uporabnika ali izberete št nadaljevati.
  5. Izberite št ko vas prosimo, da omogočite funkcije projekta.
  6. Pritisnite Vnesite.
  7. Vnesite geslo in ga shranite na varno.
  8. Izberite privzeta tema > Monako (privzeto).
  9. Izberite št ko je pozvan, naj naloži zunanja vozlišča.

Ko je to storjeno, znova zaženite Node-RED.

node-rdeči ponovni zagon

Zdaj lahko obiščete Vaš-Raspberry-Pi-IP: 1880 v spletnem brskalniku, da odprete in se prijavite v skrbniško ploščo Node-RED.

Zdaj lahko ustvarite tokove v Node-RED. Spodaj je primer toka Node-RED, ki ga uporabljamo za zagon našega matričnega zaslona WS2812B 8x32, ki v realnem času prikazuje različne informacije senzorjev, nameščenih v našem domu.

Za začetek lahko tudi izdelajte pametno uro DIY s pikčasto matriko MAX7219, in ga povežite s svojim strežnikom MQTT, da na njem prikažete besedilo ali sporočila.

Omogočite avtomatizacijo doma z uporabo MQTT in Node-RED

Zdaj lahko ustvarite tokove za nadzor ali spremljanje svojih pametnih domačih naprav, ki podpirajo MQTT. Prav tako lahko sestavite pametna stikala Tasmota ali pametne senzorje, ki temeljijo na Arduinu, in druge pametne naprave z nadzorom MQTT ter jih uporabite s tem strežnikom MQTT in Node-RED. Tokove za avtomatizacijo doma lahko ustvarite na podlagi dogodkov, časa ali tovora, prejetega od odjemalca MQTT vašega pametnega telefona.

Na vaš pametni telefon Android lahko namestite MQTT Dash, da se povežete s svojim posrednikom MQTT in pošiljate ali prejemate koristne podatke v ali iz različnih tem, na katere so vaše pametne naprave naročene ali jih objavljajo.