Messaging Queuing Telemetry Protocol (MQTT) to lekki protokół przesyłania wiadomości zaprojektowany dla urządzeń i środowisk o niskiej przepustowości. Jest to szybkie, łatwe do wdrożenia i energooszczędne rozwiązanie do łączenia i wymiany informacji między wieloma urządzeniami IoT. Wymaga brokera/serwera MQTT oraz tematu, do którego wiadomości są publikowane i subskrybowane przez urządzenia lub użytkowników, aby wysyłać lub odbierać informacje.

W tym przewodniku wdrożymy brokera MQTT i narzędzie Node-RED na Raspberry Pi, aby połączyć inteligentne urządzenia IoT z obsługą MQTT i wykorzystać je do automatyzacji domu.

Rzeczy, których będziesz potrzebować

Aby zbudować i wdrożyć serwer MQTT z Node-RED, będziesz potrzebować:

  • Raspberry Pi Zero W lub lepszy. Zalecamy użycie Raspberry Pi 3 lub 4 (jeśli jest dostępny).
  • Karta microSD (8 GB lub większa).
  • Czytnik kart microSD.
  • Komputer z systemem Linux, Mac lub komputer z systemem Windows.
  • Połączenie internetowe (Wi-Fi).

Krok 1: Zainstaluj Raspberry Pi OS Lite (64-bitowy)

instagram viewer

Będziesz potrzebować 64-bitowej wersji Lite systemu Raspberry Pi. w Raspberry Pi Imager na innym komputerze, kliknij Wybierz system operacyjny > System operacyjny Raspberry Pi (inny), a następnie wybierz Raspberry Pi OS Lite (64-bitowy). Ponadto będziesz chciał użyć zaawansowanych ustawień Imagera, aby włączyć SSH (użyliśmy Liczba Pi oraz malina jako nazwę użytkownika i hasło dla tego przewodnika) i skonfiguruj połączenie Wi-Fi. Aby uzyskać więcej informacji, zapoznaj się z naszym przewodnikiem na jak zainstalować system operacyjny na Raspberry Pi. Po zapisaniu systemu operacyjnego na karcie wysuń go i włóż do Raspberry Pi.

Krok 2: Połącz się przez SSH i zaktualizuj pakiety

Możesz połączyć się z Raspberry Pi przez SSH za pomocą PuTTY w systemie Windows lub Terminalon macOS i Linux. Powinieneś jednak znać adres IP Raspberry Pi, aby połączyć się przez SSH. Aby się tego dowiedzieć, możesz otworzyć ustawienia DHCP routera bezprzewodowego lub użyć aplikacji Fingapp na smartfonie.

Wpisz adres IP w Kit i kliknij Łączyć. Wpisz swoją nazwę użytkownika i hasło, aby się zalogować.

W terminalu Linux lub macOS wpisz TwojaNazwaUżytkownikaPi@Adres IP a następnie wpisz hasło, aby się zalogować. Po połączeniu przez SSH uruchom następujące polecenie, aby zaktualizować listę pakietów i pakiety aktualizacji.

aktualizacja sudo apt && aktualizacja sudo apt tak

Krok 3: Zainstaluj brokera MQTT

Aby zainstalować i włączyć brokera MQTT (Mosquitto), wykonaj następujące kroki.

  1. Zainstaluj Mosquitto, uruchamiając następujące polecenie w oknie Terminala.
    sudo apt zainstalować mosquitto mosquitto-klienci -y
    Spowoduje to rozpoczęcie instalacji Mosquitto (brokera MQTT) i usług klienckich.
  2. Po instalacji włącz usługę Mosquitto i sprawdź wersję MQTT za pomocą poniższych poleceń.
    sudosystemowywłączaćkomar.usługa
    komar -v
  3. Utwórz konto użytkownika, aby umożliwić uwierzytelniony dostęp zdalny za pomocą następującego polecenia.
    sudo mosquitto_passwd -c /etc/mosquitto/passwd ravi
    Tutaj Ravi to nazwa użytkownika (możesz użyć tego, co chcesz). Po wyświetleniu monitu wprowadź hasło. Zanotuj tę nazwę użytkownika i hasło do późniejszego wykorzystania.
  4. Otworzyć mosquitto.conf plik w edytorze nano za pomocą następującego polecenia.
    sudo nano /etc/mosquitto.conf
    Wklej następujący kod w edytorze nano.
    per_listener_settings PRAWDA
    pid_file /run/mosquitto/mosquitto.pid
    trwałość PRAWDA
    lokalizacja_trwałości /var/lib/mosquitto/
    plik_log_docelowy /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    allow_anonymous fałszywy
    słuchacz 1883
    plik_hasła /etc/mosquitto/passwd
    Naciskać CTRL+X śledzony przez Tak oraz Wchodzić aby zapisać zmiany.
  5. Zrestartuj broker MQTT, uruchamiając następującą komendę.
    sudo systemctl uruchom ponownie komar
  6. Sprawdź stan brokera MQTT, aby zobaczyć, czy MQTT jest uruchomiony.
    sudo systemctl status komara
    Jeśli widzisz powyższe dane wyjściowe, MQTT jest uruchomiony.

Krok 4: Przetestuj brokera MQTT

Aby sprawdzić, czy broker MQTT działa, czy nie, zainstaluj Obiekty MQTTL lub podobną aplikację MQTT w Chrome lub dowolnej innej przeglądarce internetowej i uruchom ją. Wprowadź adres IP Raspberry Pi oraz nazwę użytkownika/hasło MQTT. Kliknij Utwórz połączenie.

Wpisz dowolny temat w Subskrybuj tereni ten sam temat w Publikować pole. Wpisz „Cześć” lub cokolwiek w polu wiadomości i kliknij Publikować.

Jeśli zobaczysz komunikat pod subskrypcjami, broker MQTT działa poprawnie.

Krok 5: Zainstaluj Node-RED

Dzięki Node-RED możesz publikować wiadomości lub wysyłać i odbierać ładunki do lub z urządzeń inteligentnych. Ten ładunek może być używany do uruchamiania inteligentnych urządzeń w celu włączania/wyłączania lub odbierania danych (takich jak temperatura) z czujnika. Możesz użyć przeglądarki internetowej, aby utworzyć takie przepływy w Node-RED i sterować urządzeniami inteligentnymi.

Aby zainstalować Node-RED, wykonaj następujące polecenie w oknie Terminala.

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

Spowoduje to pobranie i zainstalowanie Node-RED na twoim Raspberry Pi. Może to trochę potrwać. Po zainstalowaniu Node-RED musisz utworzyć plik ustawień Node-RED, uruchamiając następujące polecenie.

init admin node-red

Następnie wykonaj następujące kroki:

  1. wciśnij Wchodzić klucz.
  2. Czy chcesz skonfigurować zabezpieczenia użytkownika? Wybierz TAk. Wprowadź nazwę użytkownika i hasło. Dbaj o bezpieczeństwo, ponieważ będzie on używany do logowania i zarządzania Node-RED za pośrednictwem interfejsu internetowego.
  3. Wybierać Pełny dostęp.
  4. Możesz dodać innego użytkownika lub wybrać Nie kontynuować.
  5. Wybierz Nie gdy zostaniesz poproszony o włączenie funkcji projektu.
  6. Naciskać Wchodzić.
  7. Wpisz hasło i zachowaj je w bezpiecznym miejscu.
  8. Wybierz domyślny motyw > Monako (domyślnie).
  9. Wybierz Nie gdy zostaniesz poproszony o załadowanie zewnętrznych węzłów.

Gdy to zrobisz, uruchom ponownie Node-RED.

Węzeł-czerwony restart

Możesz teraz odwiedzić Twój-Malina-Pi-IP: 1880 w przeglądarce internetowej, aby otworzyć i zalogować się do panelu administracyjnego Node-RED.

Możesz teraz tworzyć przepływy w Node-RED. Poniżej znajduje się przykład przepływu Node-RED, którego używamy do uruchomienia naszego wyświetlacza matrycowego WS2812B 8x32, który pokazuje w czasie rzeczywistym różne informacje z czujników zainstalowanych w naszym domu.

Na początek możesz też zbuduj inteligentny zegar DIY za pomocą matrycy punktowej MAX7219i połącz go z serwerem MQTT, aby wyświetlać na nim tekst lub wiadomości.

Włącz automatykę domową za pomocą MQTT i Node-RED

Możesz teraz tworzyć przepływy, aby kontrolować lub monitorować inteligentne urządzenia domowe z obsługą MQTT. Możesz także budować inteligentne przełączniki Tasmota DIY lub inteligentne czujniki oparte na Arduino oraz inne inteligentne urządzenia ze sterowaniem MQTT i używać ich z tym serwerem MQTT i Node-RED. Możesz tworzyć przepływy dla automatyki domowej na podstawie zdarzeń, czasu lub ładunku otrzymanego od klienta MQTT smartfona.

Na smartfonie z systemem Android możesz zainstalować MQTT Dash, aby połączyć się z brokerem MQTT i wysyłać lub odbierać ładunki do lub z różnych tematów, które subskrybują lub publikują Twoje urządzenia inteligentne.