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

instagram viewer
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 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.

  1. Nainstalujte Mosquitto spuštěním následujícího příkazu v okně Terminál.
    sudo apt Nainstalujte komár komár-klienti -y
    Tím se zahájí instalace Mosquitto (MQTT broker) a klientských služeb.
  2. Po instalaci povolte službu Mosquitto a zkontrolujte verzi MQTT pomocí následujících příkazů.
    sudosystemctlumožnitkomár.servis
    komár -v
  3. Vytvořte uživatelský účet, který umožní ověřený vzdálený přístup pomocí následujícího příkazu.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    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í.
  4. Otevři komár.conf soubor v editoru nano pomocí následujícího příkazu.
    sudo nano /etc/mosquitto.conf
    Vložte následující kód do nano editoru.
    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
    lis CTRL+X následován Y a Vstupte pro uložení změn.
  5. Restartujte zprostředkovatele MQTT spuštěním následujícího příkazu.
    sudo systemctl restart mosquitto
  6. Zkontrolujte stav zprostředkovatele MQTT a zjistěte, zda běží MQTT.
    sudo systemctl status mosquitto
    Pokud vidíte výše uvedený výstup, MQTT běží.

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:

  1. zmáčkni Vstupte klíč.
  2. 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í.
  3. Vybrat Plný přístup.
  4. Můžete přidat dalšího uživatele nebo vybrat Ne pokračovat.
  5. Vybrat Ne až budete požádáni o povolení funkcí projektu.
  6. lis Vstupte.
  7. Zadejte přístupovou frázi a uschovejte ji.
  8. Vyber výchozí téma > Monako (výchozí).
  9. 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í.