Installieren Sie einen MQTT-Server und Node-RED auf Raspberry Pi for Home Automation

Installieren Sie einen MQTT-Server und Node-RED auf Raspberry Pi for Home Automation

Messaging Queuing Telemetry Protocol oder MQTT ist ein leichtgewichtiges Messaging-Protokoll, das für Geräte und Umgebungen mit geringer Bandbreite entwickelt wurde. Es ist eine schnelle, einfach bereitzustellende und energieeffiziente Lösung zum Verbinden und Austauschen von Informationen zwischen mehreren IoT-Geräten. Es erfordert einen MQTT-Broker/Server und das Thema, zu dem Nachrichten veröffentlicht und von den Geräten oder Benutzern abonniert werden, um die Informationen zu senden oder zu empfangen.





In diesem Leitfaden werden wir den MQTT-Broker und das Node-RED-Tool auf Raspberry Pi bereitstellen, um MQTT-fähige DIY-Smart-IoT-Geräte zu verbinden und sie für die Heimautomatisierung zu verwenden.





Dinge, die Sie brauchen

Um einen MQTT-Server mit Node-RED zu erstellen und bereitzustellen, benötigen Sie Folgendes:





  • Ein Raspberry Pi Zero W oder besser. Wir empfehlen die Verwendung eines Raspberry Pi 3 oder 4 (falls verfügbar).
  • Eine microSD-Karte (8 GB oder höher).
  • Ein microSD-Kartenleser.
  • Ein Linux-PC, Mac oder Windows-PC.
  • Internetverbindung (Wi-Fi).

Schritt 1: Installieren Sie Raspberry Pi OS Lite (64-Bit)

Sie benötigen die 64-Bit-Lite-Version von Raspberry Pi OS. In dem Raspberry Pi-Imager Tool auf einem anderen Computer, klicken Sie auf Wählen Sie Betriebssystem > Raspberry Pi OS (Andere) , dann auswählen Raspberry Pi OS Lite (64-Bit) . Außerdem sollten Sie die erweiterten Einstellungen von Imager verwenden, um SSH zu aktivieren (wir haben Pi und Himbeere als Benutzername und Passwort für diese Anleitung) und konfigurieren Sie die Wi-Fi-Verbindung. Weitere Informationen finden Sie in unserem Leitfaden unter wie man ein Betriebssystem auf einem Raspberry Pi installiert . Nachdem Sie das Betriebssystem auf die Karte geschrieben haben, werfen Sie sie aus und stecken Sie sie in Ihren Raspberry Pi.

Schritt 2: Verbinden Sie sich über SSH und aktualisieren Sie die Pakete

Sie können sich mit PuTTY unter Windows oder Terminal über SSH mit Ihrem Raspberry Pi verbinden auf macOS und Linux. Sie sollten jedoch die IP des Raspberry Pi kennen, um sich über SSH zu verbinden. Um dies herauszufinden, können Sie die DHCP-Einstellungen Ihres WLAN-Routers öffnen oder die Fing App auf Ihrem Smartphone.



  Finden Sie die IP Ihrer Himbeere über die DHCP-Einstellungen des Routers

Geben Sie die IP-Adresse ein Kitt und klicken Verbinden . Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.

  Verbindung zum Raspberry Pi über ssh

Geben Sie auf dem Linux- oder macOS-Terminal ein IhrPiBenutzername@IPAdresse und geben Sie dann das Passwort ein, um sich anzumelden. Sobald Sie über SSH verbunden sind, führen Sie den folgenden Befehl aus, um die Paketliste zu aktualisieren und Pakete zu aktualisieren.





sudo apt update && sudo apt upgrade y

Schritt 3: MQTT-Broker installieren

Führen Sie die folgenden Schritte aus, um den MQTT-Broker (Mosquitto) zu installieren und zu aktivieren.

  1. Installieren Sie Mosquitto, indem Sie den folgenden Befehl im Terminalfenster ausführen.
    sudo apt install mosquitto mosquitto-clients -y
      Installieren Sie den Mosquitto-mqtt-Server Dadurch wird die Installation von Mosquitto (MQTT-Broker) und Client-Diensten gestartet.
  2. Aktivieren Sie nach der Installation den Mosquitto-Dienst und überprüfen Sie die MQTT-Version mit den folgenden Befehlen.008EFBDDFB34A48CBBCF8212A3C803CAD189488D   Moskitodienst aktivieren
  3. Erstellen Sie mit dem folgenden Befehl ein Benutzerkonto, um den authentifizierten Remotezugriff zuzulassen Hier Behandlung ist der Benutzername (Sie können verwenden, was Sie möchten). Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden. Notieren Sie sich diesen Benutzernamen und das Kennwort zur späteren Verwendung.
  4. Öffne das moskito.conf Datei im Nano-Editor mit dem folgenden Befehl.
    sudo nano /etc/mosquitto.conf
    Fügen Sie den folgenden Code in den Nano-Editor ein.
    per_listener_settings true 
    pid_file /run/mosquitto/mosquitto.pid
    persistence true
    persistence_location /var/lib/mosquitto/
    log_dest file /var/log/mosquitto/mosquitto.log
    include_dir /etc/mosquitto/conf.d
    allow_anonymous false
    listener 1883
    password_file /etc/mosquitto/passwd
      Bearbeiten Sie die Moskito-Konfigurationsdatei Drücken Sie STRG+X gefolgt von Y und Eintreten um die Änderungen zu speichern.
  5. Starten Sie den MQTT-Broker neu, indem Sie den folgenden Befehl ausführen.
    sudo systemctl restart mosquitto
  6. Überprüfen Sie den Status des MQTT-Brokers, um festzustellen, ob MQTT ausgeführt wird.
    sudo systemctl status mosquitto
      Überprüfen Sie den Status des mqtt-Servers Wenn Sie die obige Ausgabe sehen, wird MQTT ausgeführt.

Schritt 4: MQTT-Broker testen

Um zu testen, ob der MQTT-Broker funktioniert oder nicht, installieren Sie ihn MQTTLens oder eine ähnliche MQTT-App in Chrome oder einem anderen Webbrowser und starten Sie sie. Geben Sie die IP-Adresse des Raspberry Pi und den MQTT-Benutzernamen/Passwort ein. Klicken Verbindung herstellen .





Was ist, wenn ich nicht auf Windows 10 upgrade?
  Stellen Sie eine Verbindung zum mqtt-Server her und senden Sie eine Nachricht an das Testthema, um zu überprüfen, ob der mqtt-Broker funktioniert

Geben Sie ein beliebiges Thema in die ein Abonnieren aufstellen und das gleiche Thema in der Veröffentlichen aufstellen. Geben Sie 'Hallo' oder etwas anderes in das Nachrichtenfeld ein und klicken Sie darauf Veröffentlichen .

  Meldungen wurden erfolgreich veröffentlicht und zeigen an, dass mqtt funktioniert

Wenn Sie die Meldung unter den Abonnements sehen, funktioniert der MQTT-Broker einwandfrei.

Schritt 5: Installieren Sie Node-RED

Mit Node-RED können Sie Nachrichten veröffentlichen oder Payloads an oder von Ihren Smart Devices senden und empfangen. Diese Nutzlast kann verwendet werden, um intelligente Geräte zum Ein- und Ausschalten auszulösen oder Daten (z. B. Temperatur) von einem Sensor zu empfangen. Sie können Ihren Webbrowser verwenden, um solche Flows in Node-RED zu erstellen und Ihre intelligenten Geräte zu steuern.

Um Node-RED zu installieren, führen Sie den folgenden Befehl im Terminalfenster aus.

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
  Installieren Sie den Knoten rot

Dadurch wird Node-RED heruntergeladen und auf Ihrem Raspberry Pi installiert. Es kann eine Weile dauern, bis der Vorgang abgeschlossen ist. Sobald Node-RED installiert ist, müssen Sie eine Node-RED-Einstellungsdatei erstellen, indem Sie den folgenden Befehl ausführen.

node-red admin init

Folgen Sie dann diesen Schritten:

  1. Drücken Sie die Eintreten Schlüssel.
  2. Möchten Sie Benutzersicherheit einrichten? Auswählen Ja . Geben Sie einen Benutzernamen und ein Passwort ein. Bewahren Sie es sicher auf, da es zum Anmelden und Verwalten von Node-RED über eine Webschnittstelle verwendet wird.
  3. Wählen Voller Zugriff .
  4. Sie können einen weiteren Benutzer hinzufügen oder auswählen fortfahren.
  5. Auswählen wenn Sie aufgefordert werden, die Projektfunktionen zu aktivieren.
  6. Drücken Sie Eintreten .
  7. Geben Sie eine Passphrase ein und bewahren Sie sie sicher auf.
  8. Wählen Sie das Standardthema > Monaco (Standard) .
  9. Auswählen wenn Sie aufgefordert werden, externe Knoten zu laden.
  Konfigurieren Sie die Node Red-Installation

Sobald dies erledigt ist, starten Sie Node-RED neu.

Warum gibt es nur einen Snapchat-Filter?
node-red restart

Sie können jetzt besuchen Ihr-Raspberry-Pi-IP:1880 in einem Webbrowser, um das Node-RED-Admin-Panel zu öffnen und sich anzumelden.

  Zugangsknoten rot auf der Himbeer-Pi-IP an Port 1880

Sie können jetzt Flows in Node-RED erstellen. Unten sehen Sie ein Beispiel für einen Node-RED-Flow, den wir verwenden, um unser 8x32-Matrix-Display WS2812B zu betreiben, das verschiedene in unserem Haus installierte Sensorinformationen in Echtzeit anzeigt.

  Probenknoten roter Durchfluss zur Anzeige verschiedener Sensorwerte auf einem 8x32-Matrix-Display

Um loszulegen, können Sie auch Erstellen Sie eine DIY-Smart-Uhr mit MAX7219-Punktmatrix , und verbinden Sie es mit Ihrem MQTT-Server, um Text oder Nachrichten darauf anzuzeigen.

Aktivieren Sie die Heimautomatisierung mit MQTT und Node-RED

Sie können jetzt Flows erstellen, um Ihre MQTT-fähigen Smart-Home-Geräte zu steuern oder zu überwachen. Sie können auch DIY-Tasmota-Smart-Switches oder Arduino-basierte Smart-Sensoren und andere Smart-Geräte mit MQTT-Steuerung bauen und sie mit diesem MQTT- und Node-RED-Server verwenden. Sie können Flows für die Heimautomatisierung basierend auf Ereignissen, Zeit oder Nutzdaten erstellen, die Sie von Ihrem Smartphone-MQTT-Client erhalten.

Auf Ihrem Android-Smartphone können Sie MQTT Dash installieren, um sich mit Ihrem MQTT-Broker zu verbinden und Payloads an oder von verschiedenen Themen zu senden oder zu empfangen, die Ihre Smart-Geräte abonnieren oder veröffentlichen.

Kategorie DIY