Messaging Queuing Telemetry Protocol alebo MQTT je ľahký protokol na odosielanie správ navrhnutý pre zariadenia a prostredia s nízkou šírkou pásma. Je to rýchle, ľahko nasaditeľné a energeticky efektívne riešenie na pripojenie a výmenu informácií medzi viacerými zariadeniami internetu vecí. Na odosielanie alebo prijímanie informácií si vyžaduje sprostredkovateľa/server MQTT a tému, na ktorú sú správy publikované a prihlásené zariadeniami alebo používateľmi.
V tejto príručke nasadíme sprostredkovateľa MQTT a nástroj Node-RED na Raspberry Pi na pripojenie domácich inteligentných zariadení IoT s podporou MQTT a ich použitie na domácu automatizáciu.
Veci, ktoré budete potrebovať
Na zostavenie a nasadenie servera MQTT s Node-RED budete potrebovať nasledovné:
- Raspberry Pi Zero W alebo lepšie. Odporúčame použiť Raspberry Pi 3 alebo 4 (ak je k dispozícii).
- Karta microSD (8 GB alebo viac).
- Čítačka microSD kariet.
- Počítač so systémom Linux, Mac alebo Windows.
- Internetové pripojenie (Wi-Fi).
Krok 1: Nainštalujte Raspberry Pi OS Lite (64-bit)
Budete potrebovať 64-bitovú Lite verziu operačného systému Raspberry Pi. V Raspberry Pi Imager na inom počítači kliknite Vyberte OS > Operačný systém Raspberry Pi (iný)a potom vyberte Raspberry Pi OS Lite (64-bit). Okrem toho budete chcieť použiť rozšírené nastavenia aplikácie Imager na povolenie SSH (použili sme pi a malina ako používateľské meno a heslo pre túto príručku) a nakonfigurujte pripojenie Wi-Fi. Ďalšie podrobnosti nájdete v našom sprievodcovi na ako nainštalovať operačný systém na Raspberry Pi. Po zapísaní operačného systému na kartu ju vysuňte a vložte do Raspberry Pi.
Krok 2: Pripojte sa cez SSH a aktualizujte balíčky
K svojmu Raspberry Pi sa môžete pripojiť cez SSH pomocou PuTTY v systéme Windows alebo Terminalon macOS a Linux. Na pripojenie cez SSH by ste však mali poznať IP adresu Raspberry Pi. Ak to chcete zistiť, môžete otvoriť nastavenia DHCP bezdrôtového smerovača alebo použiť aplikáciu Fingapp na svojom smartfóne.
Zadajte IP adresu PuTTY a kliknite Pripojte sa. Na prihlásenie zadajte svoje používateľské meno a heslo.
Na termináli Linux alebo macOS zadajte YourPiUsername@IPAddress a potom zadajte heslo na prihlásenie. Po pripojení cez SSH spustite nasledujúci príkaz na aktualizáciu zoznamu balíkov a inováciu balíkov.
aktualizácia sudo apt && upgrade sudo apt –r
Krok 3: Nainštalujte MQTT Broker
Ak chcete nainštalovať a povoliť makléra MQTT (Mosquitto), vykonajte nasledujúce kroky.
- Nainštalujte Mosquitto spustením nasledujúceho príkazu v okne Terminál.
Tým sa spustí inštalácia Mosquitto (MQTT broker) a klientskych služieb.sudo apt Inštalácia komár komár-klienti -y
- Po inštalácii povoľte službu Mosquitto a skontrolujte verziu MQTT pomocou nasledujúcich príkazov.
sudosystemctlpovoliťkomár.servis
komár -v - Vytvorte používateľské konto, aby ste umožnili overený vzdialený prístup pomocou nasledujúceho príkazu.
Tu ravi je používateľské meno (môžete použiť, čo chcete). Po zobrazení výzvy zadajte heslo. Poznamenajte si toto používateľské meno a heslo pre neskoršie použitie.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- Otvor komár.conf súbor v editore nano pomocou nasledujúceho príkazu.
Vložte nasledujúci kód do nano editora.sudo nano /etc/mosquitto.conf
Stlačte tlačidlo CTRL+X nasledovaný Y a Zadajte aby sa zmeny uložili.per_listener_settings pravda
pid_file /run/mosquitto/mosquitto.pid
vytrvalosť pravda
persistence_location /var/lib/mosquitto/
súbor log_dest /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
povoliť_anonymný falošný
poslucháč 1883
heslo_súbor /etc/mosquitto/passwd - Reštartujte makléra MQTT spustením nasledujúceho príkazu.
sudo systemctl reštart komára
- Skontrolujte stav sprostredkovateľa MQTT a zistite, či je spustený MQTT.
Ak vidíte vyššie uvedený výstup, MQTT beží.sudo systemctl status komára
Krok 4: Otestujte makléra MQTT
Ak chcete otestovať, či maklér MQTT funguje alebo nie, nainštalujte MQTTLens alebo podobnú aplikáciu MQTT v prehliadači Chrome alebo inom webovom prehliadači a spustite ju. Zadajte IP adresu Raspberry Pi a používateľské meno/heslo MQTT. Kliknite Vytvoriť pripojenie.
Do poľa zadajte ľubovoľnú tému Prihlásiť sa na odber pole a rovnakú tému v Publikovať lúka. Napíšte „Ahoj“ alebo čokoľvek do poľa správy a kliknite Publikovať.
Ak vidíte správu pod odbermi, maklér MQTT funguje dobre.
Krok 5: Nainštalujte Node-RED
S Node-RED môžete publikovať správy alebo odosielať a prijímať užitočné zaťaženia do alebo z vašich inteligentných zariadení. Toto užitočné zaťaženie možno použiť na spustenie inteligentných zariadení na zapnutie/vypnutie alebo príjem údajov (napríklad teploty) zo senzora. Na vytváranie takýchto tokov v Node-RED a ovládanie svojich inteligentných zariadení môžete použiť svoj webový prehliadač.
Ak chcete nainštalovať Node-RED, vykonajte nasledujúci príkaz v okne Terminál.
bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Tým sa stiahne a nainštaluje Node-RED do vášho Raspberry Pi. Dokončenie môže chvíľu trvať. Po nainštalovaní Node-RED musíte vytvoriť súbor nastavení Node-RED spustením nasledujúceho príkazu.
node-red admin init
Potom postupujte podľa týchto krokov:
- Stlačte tlačidlo Zadajte kľúč.
- Chcete nastaviť zabezpečenie používateľa? Vyberte Áno. Zadajte používateľské meno a heslo. Udržujte ho v bezpečí, pretože sa použije na prihlásenie a správu Node-RED cez webové rozhranie.
- Vyberte si Úplný prístup.
- Môžete pridať ďalšieho používateľa alebo vybrať Nie pokračovať.
- Vyberte Nie keď sa zobrazí výzva na povolenie funkcií projektu.
- Stlačte tlačidlo Zadajte.
- Zadajte prístupovú frázu a uschovajte ju v bezpečí.
- Vyber predvolená téma > Monako (predvolené).
- Vyberte Nie pri požiadavke na načítanie externých uzlov.
Po dokončení reštartujte Node-RED.
uzol-červený reštart
Teraz môžete navštíviť Vaša-Raspberry-Pi-IP: 1880 vo webovom prehliadači otvorte a prihláste sa do administračného panela Node-RED.
Teraz môžete vytvárať toky v Node-RED. Nižšie je uvedený príklad toku Node-RED, ktorý používame na spustenie nášho maticového displeja WS2812B 8x32, ktorý v reálnom čase zobrazuje informácie o rôznych senzoroch nainštalovaných v našom dome.
Ak chcete začať, môžete tiež zostavte si svojpomocne inteligentné hodiny pomocou bodovej matice MAX7219a pripojte ho k serveru MQTT, aby ste na ňom mohli zobrazovať text alebo správy.
Povoľte domácu automatizáciu pomocou MQTT a Node-RED
Teraz môžete vytvárať toky na ovládanie alebo monitorovanie vašich inteligentných domácich zariadení s podporou MQTT. Môžete si tiež vytvoriť svojpomocne inteligentné prepínače Tasmota alebo inteligentné senzory založené na Arduino a ďalšie inteligentné zariadenia s ovládaním MQTT a používať ich s týmto serverom MQTT a Node-RED. Môžete vytvárať toky pre domácu automatizáciu na základe udalostí, času alebo užitočného zaťaženia prijatého z vášho smartfónu MQTT klienta.
Na svojom smartfóne so systémom Android si môžete nainštalovať MQTT Dash, aby ste sa pripojili k svojmu maklérovi MQTT a mohli odosielať alebo prijímať užitočné údaje do alebo z rôznych tém, ktoré vaše inteligentné zariadenia odoberajú alebo publikujú.