Ziņojumapmaiņas rindas telemetrijas protokols jeb MQTT ir viegls ziņojumapmaiņas protokols, kas paredzēts maza joslas platuma ierīcēm un vidēm. Tas ir ātrs, viegli izvietojams un energoefektīvs risinājums savienojuma izveidei un informācijas apmaiņai starp vairākām IoT ierīcēm. Lai nosūtītu vai saņemtu informāciju, ir nepieciešams MQTT brokeris/serveris un tēma, par kuru ierīces vai lietotāji publicē un abonē ziņojumus.

Šajā rokasgrāmatā mēs Raspberry Pi izvietosim MQTT brokeri un Node-RED rīku, lai savienotu ar MQTT iespējotas DIY viedās IoT ierīces un izmantotu tās mājas automatizācijai.

Lietas, kas jums būs nepieciešamas

Lai izveidotu un izvietotu MQTT serveri ar Node-RED, jums būs nepieciešams:

  • Raspberry Pi Zero W vai labāks. Mēs iesakām izmantot Raspberry Pi 3 vai 4 (ja pieejams).
  • microSD karte (8 GB vai lielāka).
  • MicroSD karšu lasītājs.
  • Linux PC, Mac vai Windows PC.
  • Interneta pieslēgums (Wi-Fi).

1. darbība. Instalējiet Raspberry Pi OS Lite (64 bitu)

Jums būs nepieciešama Raspberry Pi OS 64 bitu Lite versija. Iekš

Raspberry Pi Imager rīks citā datorā, noklikšķiniet uz Izvēlieties OS > Raspberry Pi OS (cits), pēc tam atlasiet Raspberry Pi OS Lite (64 bitu). Turklāt, lai iespējotu SSH, vēlēsities izmantot Imager papildu iestatījumus (mēs izmantojām pi un aveņu kā šīs rokasgrāmatas lietotājvārdu un paroli) un konfigurējiet Wi-Fi savienojumu. Lai iegūtu sīkāku informāciju, skatiet mūsu ceļvedi vietnē kā instalēt operētājsistēmu Raspberry Pi. Pēc operētājsistēmas ierakstīšanas kartē izņemiet to un ievietojiet to Raspberry Pi.

2. darbība: izveidojiet savienojumu, izmantojot SSH, un atjauniniet pakotnes

Varat izveidot savienojumu ar Raspberry Pi, izmantojot SSH, izmantojot PuTTY operētājsistēmā Windows vai Terminalon macOS un Linux. Tomēr, lai izveidotu savienojumu, izmantojot SSH, jums jāzina Raspberry Pi IP. Lai to uzzinātu, varat atvērt bezvadu maršrutētāja DHCP iestatījumus vai izmantot viedtālrunī lietotni Fingapp.

Ievadiet IP adresi PuTTY un noklikšķiniet Savienot. Ievadiet savu lietotājvārdu un paroli, lai pieteiktos.

Linux vai macOS terminālī ierakstiet JūsuPiLietotājvārds@IPAdrese un pēc tam ierakstiet paroli, lai pieteiktos. Kad esat izveidojis savienojumu, izmantojot SSH, palaidiet šo komandu, lai atjauninātu pakotņu sarakstu un jaunināšanas pakotnes.

sudo apt atjauninājums && sudo apt jauninājums y

3. darbība: instalējiet MQTT Broker

Lai instalētu un iespējotu MQTT brokeri (Mosquitto), veiciet šādas darbības.

  1. Instalējiet Mosquitto, termināļa logā izpildot šādu komandu.
    sudo apt uzstādīt moskītu odi-klienti -y
    Tiks sākta Mosquitto (MQTT brokeris) un klientu pakalpojumu instalēšana.
  2. Pēc instalēšanas iespējojiet Mosquitto pakalpojumu un pārbaudiet MQTT versiju, izmantojot šādas komandas.
    sudosystemctliespējotods.apkalpošana
    moskīts -v
  3. Izveidojiet lietotāja kontu, lai atļautu autentificētu attālo piekļuvi, izmantojot šo komandu.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Šeit ravi ir lietotājvārds (varat izmantot visu, kas jums patīk). Ievadiet paroli, kad tas tiek prasīts. Pierakstiet šo lietotājvārdu un paroli vēlākai lietošanai.
  4. Atveriet mosquitto.conf failu nano redaktorā, izmantojot šo komandu.
    sudo nano /etc/mosquitto.conf
    Ielīmējiet šādu kodu nano redaktorā.
    per_klausītāja_iestatījumi taisnība
    pid_file /run/mosquitto/mosquitto.pid
    neatlaidība taisnība
    persistence_location /var/lib/mosquitto/
    log_dest fails /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    atļaut_anonīms viltus
    klausītājs 1883
    password_file /etc/mosquitto/passwd
    Nospiediet CTRL+X seko Y un Ievadiet lai saglabātu izmaiņas.
  5. Restartējiet MQTT brokeri, izpildot šo komandu.
    sudo systemctl restartējiet mosquitto
  6. Pārbaudiet MQTT brokera statusu, lai redzētu, vai MQTT darbojas.
    sudo systemctl statusa moskīts
    Ja redzat iepriekš minēto izvadi, darbojas MQTT.

4. darbība: pārbaudiet MQTT brokeri

Lai pārbaudītu, vai MQTT brokeris darbojas vai nē, instalējiet MQTTLens vai līdzīgu MQTT lietotni pārlūkā Chrome vai jebkurā citā tīmekļa pārlūkprogrammā un palaidiet to. Ievadiet Raspberry Pi IP adresi un MQTT lietotājvārdu/paroli. Klikšķis Izveidot savienojumu.

Ievadiet jebkuru tēmu Abonēt laukā un tajā pašā tēmā Publicēt lauks. Ziņojuma laukā ierakstiet "Sveiki" vai jebko citu un noklikšķiniet Publicēt.

Ja zem abonementiem redzat ziņojumu, MQTT brokeris darbojas labi.

5. darbība. Instalējiet Node-RED

Izmantojot Node-RED, varat publicēt ziņojumus vai nosūtīt un saņemt lietderīgās slodzes uz viedierīcēm vai no tām. Šo lietderīgo slodzi var izmantot, lai aktivizētu viedierīces, lai tās ieslēgtu/izslēgtu vai saņemtu datus (piemēram, temperatūru) no sensora. Varat izmantot savu tīmekļa pārlūkprogrammu, lai izveidotu šādas plūsmas Node-RED un vadītu savas viedierīces.

Lai instalētu Node-RED, termināļa logā izpildiet šādu komandu.

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

Tādējādi jūsu Raspberry Pi tiks lejupielādēts un instalēts Node-RED. Tas var aizņemt kādu laiku, lai pabeigtu. Kad Node-RED ir instalēts, jums ir jāizveido Node-RED iestatījumu fails, izpildot šādu komandu.

node-red admin init

Pēc tam veiciet tālāk norādītās darbības.

  1. Nospiediet Ievadiet taustiņu.
  2. Vai vēlaties iestatīt lietotāja drošību? Izvēlieties . Ievadiet lietotājvārdu un paroli. Saglabājiet to drošībā, jo tas tiks izmantots, lai pieteiktos un pārvaldītu Node-RED, izmantojot tīmekļa saskarni.
  3. Izvēlieties Pilna piekļuve.
  4. Varat pievienot citu lietotāju vai atlasīt lai turpinātu.
  5. Izvēlieties kad tiek prasīts iespējot projekta funkcijas.
  6. Nospiediet Ievadiet.
  7. Ievadiet ieejas frāzi un glabājiet to drošībā.
  8. Izvēlies noklusējuma motīvs > Monako (noklusējums).
  9. Izvēlieties kad tiek lūgts ielādēt ārējos mezglus.

Kad tas ir izdarīts, restartējiet Node-RED.

node-red restart

Tagad varat apmeklēt Jūsu-Raspberry-Pi-IP: 1880 tīmekļa pārlūkprogrammā, lai atvērtu un pieteiktos administratora panelī Node-RED.

Tagad varat izveidot plūsmas režīmā Node-RED. Tālāk ir sniegts mezgla-RED plūsmas piemērs, ko izmantojam, lai darbinātu mūsu WS2812B 8x32 matricas displeju, kas reāllaikā parāda dažādu mūsu mājā instalēto sensoru informāciju.

Lai sāktu, varat arī izveidojiet DIY viedo pulksteni, izmantojot MAX7219 punktu matricuun pievienojiet to savam MQTT serverim, lai tajā parādītu tekstu vai ziņojumus.

Iespējot mājas automatizāciju, izmantojot MQTT un Node-RED

Tagad varat izveidot plūsmas, lai kontrolētu vai pārraudzītu savas viedās mājas ierīces, kurās ir iespējots MQTT. Varat arī izveidot DIY Tasmota viedos slēdžus vai Arduino viedos sensorus un citas viedierīces ar MQTT vadību un izmantot tās ar šo MQTT un Node-RED serveri. Varat izveidot plūsmas mājas automatizācijai, pamatojoties uz notikumiem, laiku vai lietderīgo slodzi, kas saņemta no viedtālruņa MQTT klienta.

Savā Android viedtālrunī varat instalēt MQTT Dash, lai izveidotu savienojumu ar savu MQTT brokeri un nosūtītu vai saņemtu lietderīgās slodzes uz vai no dažādām tēmām, kuras abonē vai publicē jūsu viedierīces.