Messaging Queuing Telemetry Protocol nebo MQTT je lehký protokol pro zasílání zpráv navržený pro zařízení a prostředí s nízkou šířkou pásma. Jedná se o rychlé, snadno implementovatelné a energeticky účinné řešení pro připojení a výměnu informací mezi více zařízeními IoT. K odesílání nebo přijímání informací vyžaduje zprostředkovatele/server MQTT a téma, ke kterému jsou zprávy publikovány a přihlášeny zařízeními nebo uživateli.
V této příručce nasadíme zprostředkovatele MQTT a nástroj Node-RED na Raspberry Pi k připojení chytrých zařízení IoT s podporou MQTT a jejich použití pro domácí automatizaci.
Věci, které budete potřebovat
K sestavení a nasazení serveru MQTT s Node-RED budete potřebovat následující:
- Raspberry Pi Zero W nebo lepší. Doporučujeme použít Raspberry Pi 3 nebo 4 (pokud je k dispozici).
- Karta microSD (8 GB nebo vyšší).
- Čtečka microSD karet.
- Počítač se systémem Linux, Mac nebo Windows.
- Připojení k internetu (Wi-Fi).
Krok 1: Nainstalujte Raspberry Pi OS Lite (64bitový)
Budete potřebovat 64bitovou Lite verzi operačního systému Raspberry Pi. V
Raspberry Pi Imager na jiném počítači klepněte na Vyberte OS > Raspberry Pi OS (jiný)a poté vyberte Raspberry Pi OS Lite (64bitový). Kromě toho budete chtít použít pokročilá nastavení Imageru k povolení SSH (použili jsme pí a malina jako uživatelské jméno a heslo pro tuto příručku) a nakonfigurujte připojení Wi-Fi. Další podrobnosti naleznete v našem průvodci na jak nainstalovat operační systém na Raspberry Pi. Po zapsání OS na kartu ji vysuňte a vložte do Raspberry Pi.Krok 2: Připojte se přes SSH a aktualizujte balíčky
Ke svému Raspberry Pi se můžete připojit přes SSH pomocí PuTTY na Windows nebo Terminalon macOS a Linux. Pro připojení přes SSH byste však měli znát IP adresu Raspberry Pi. Chcete-li to zjistit, můžete otevřít nastavení DHCP bezdrátového směrovače nebo použít aplikaci Fingapp ve smartphonu.
Zadejte IP adresu Tmel a klikněte Připojit. Pro přihlášení zadejte své uživatelské jméno a heslo.
Na terminálu Linux nebo macOS zadejte YourPiUsername@IPAddress a poté zadejte heslo pro přihlášení. Po připojení přes SSH spusťte následující příkaz pro aktualizaci seznamu balíčků a upgrade balíčků.
aktualizace sudo apt && upgrade sudo apt –y
Krok 3: Nainstalujte MQTT Broker
Chcete-li nainstalovat a povolit zprostředkovatele MQTT (Mosquitto), proveďte následující kroky.
- Nainstalujte Mosquitto spuštěním následujícího příkazu v okně Terminál.
Tím se zahájí instalace Mosquitto (MQTT broker) a klientských služeb.sudo apt Nainstalujte komár komár-klienti -y
- Po instalaci povolte službu Mosquitto a zkontrolujte verzi MQTT pomocí následujících příkazů.
sudosystemctlumožnitkomár.servis
komár -v - Vytvořte uživatelský účet, který umožní ověřený vzdálený přístup pomocí následujícího příkazu.
Tady ravi je uživatelské jméno (můžete použít, co chcete). Po výzvě zadejte heslo. Poznamenejte si toto uživatelské jméno a heslo pro pozdější použití.sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
- Otevři komár.conf soubor v editoru nano pomocí následujícího příkazu.
Vložte následující kód do nano editoru.sudo nano /etc/mosquitto.conf
lis CTRL+X následován Y a Vstupte pro uložení změn.per_listener_settings skutečný
pid_file /run/mosquitto/mosquitto.pid
vytrvalost skutečný
persistence_location /var/lib/mosquitto/
log_dest soubor /var/log/mosquitto/mosquitto.log
include_dir /etc/mosquitto/conf.d
povolit_anonymní Nepravdivé
posluchač 1883
soubor_hesla /etc/mosquitto/passwd - Restartujte zprostředkovatele MQTT spuštěním následujícího příkazu.
sudo systemctl restart mosquitto
- Zkontrolujte stav zprostředkovatele MQTT a zjistěte, zda běží MQTT.
Pokud vidíte výše uvedený výstup, MQTT běží.sudo systemctl status mosquitto
Krok 4: Otestujte MQTT Broker
Chcete-li otestovat, zda zprostředkovatel MQTT funguje nebo ne, nainstalujte MQTTLens nebo podobnou aplikaci MQTT v Chrome nebo jiném webovém prohlížeči a spusťte ji. Zadejte IP adresu Raspberry Pi a uživatelské jméno/heslo MQTT. Klikněte Vytvořit připojení.
Do pole zadejte libovolné téma předplatit pole a stejné téma v Publikovat pole. Do pole zprávy napište „Ahoj“ nebo cokoliv jiného a klikněte Publikovat.
Pokud vidíte zprávu pod předplatnými, zprostředkovatel MQTT funguje dobře.
Krok 5: Nainstalujte Node-RED
S Node-RED můžete publikovat zprávy nebo posílat a přijímat užitečné zatížení do nebo z vašich chytrých zařízení. Toto užitečné zatížení lze použít ke spuštění chytrých zařízení k zapnutí/vypnutí nebo příjmu dat (jako je teplota) ze senzoru. K vytváření takových toků v Node-RED a ovládání vašich chytrých zařízení můžete použít svůj webový prohlížeč.
Chcete-li nainstalovat Node-RED, proveďte následující příkaz v okně Terminál.
bash //raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
Tím se stáhne a nainstaluje Node-RED do vašeho Raspberry Pi. Dokončení může chvíli trvat. Jakmile je Node-RED nainstalován, musíte vytvořit soubor nastavení Node-RED spuštěním následujícího příkazu.
node-red admin init
Poté postupujte takto:
- zmáčkni Vstupte klíč.
- Chcete nastavit zabezpečení uživatele? Vybrat Ano. Zadejte uživatelské jméno a heslo. Uchovávejte jej v bezpečí, protože bude použit k přihlášení a správě Node-RED prostřednictvím webového rozhraní.
- Vybrat Plný přístup.
- Můžete přidat dalšího uživatele nebo vybrat Ne pokračovat.
- Vybrat Ne až budete požádáni o povolení funkcí projektu.
- lis Vstupte.
- Zadejte přístupovou frázi a uschovejte ji.
- Vyber výchozí téma > Monako (výchozí).
- Vybrat Ne když budete požádáni o načtení externích uzlů.
Jakmile to uděláte, restartujte Node-RED.
uzel-červený restart
Nyní můžete navštívit Vaše-Raspberry-Pi-IP: 1880 ve webovém prohlížeči otevřete a přihlaste se do administračního panelu Node-RED.
Nyní můžete vytvářet toky v Node-RED. Níže je uveden příklad toku Node-RED, který používáme ke spuštění našeho maticového displeje WS2812B 8x32, který v reálném čase zobrazuje informace o různých senzorech nainstalovaných v našem domě.
Chcete-li začít, můžete také sestavte si svépomocné chytré hodiny pomocí matice MAX7219a připojte jej k serveru MQTT, abyste na něm mohli zobrazovat text nebo zprávy.
Povolte domácí automatizaci pomocí MQTT a Node-RED
Nyní můžete vytvářet toky pro ovládání nebo monitorování vašich chytrých domácích zařízení s podporou MQTT. Můžete si také postavit chytré přepínače Tasmota nebo chytré senzory založené na Arduinu a další chytrá zařízení s ovládáním MQTT a používat je s tímto serverem MQTT a Node-RED. Můžete vytvářet toky pro domácí automatizaci na základě událostí, času nebo užitečného zatížení přijatého z vašeho chytrého klienta MQTT.
Na svém smartphonu se systémem Android si můžete nainstalovat MQTT Dash, abyste se mohli připojit ke svému zprostředkovateli MQTT a posílat nebo přijímat data z různých témat, která vaše chytrá zařízení odebírají nebo publikují.