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.
Geben Sie die IP-Adresse ein Kitt und klicken Verbinden . Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.
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.
- Installieren Sie Mosquitto, indem Sie den folgenden Befehl im Terminalfenster ausführen.
Dadurch wird die Installation von Mosquitto (MQTT-Broker) und Client-Diensten gestartet.sudo apt install mosquitto mosquitto-clients -y
- Aktivieren Sie nach der Installation den Mosquitto-Dienst und überprüfen Sie die MQTT-Version mit den folgenden Befehlen.008EFBDDFB34A48CBBCF8212A3C803CAD189488D
- 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.
- Öffne das moskito.conf Datei im Nano-Editor mit dem folgenden Befehl.
Fügen Sie den folgenden Code in den Nano-Editor ein.sudo nano /etc/mosquitto.conf
Drücken Sie STRG+X gefolgt von Y und Eintreten um die Änderungen zu speichern.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 - Starten Sie den MQTT-Broker neu, indem Sie den folgenden Befehl ausführen.
sudo systemctl restart mosquitto
- Überprüfen Sie den Status des MQTT-Brokers, um festzustellen, ob MQTT ausgeführt wird.
Wenn Sie die obige Ausgabe sehen, wird MQTT ausgeführt.sudo systemctl status mosquitto
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?
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 .
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)
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:
- Drücken Sie die Eintreten Schlüssel.
- 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.
- Wählen Voller Zugriff .
- Sie können einen weiteren Benutzer hinzufügen oder auswählen Nö fortfahren.
- Auswählen Nö wenn Sie aufgefordert werden, die Projektfunktionen zu aktivieren.
- Drücken Sie Eintreten .
- Geben Sie eine Passphrase ein und bewahren Sie sie sicher auf.
- Wählen Sie das Standardthema > Monaco (Standard) .
- Auswählen Nö wenn Sie aufgefordert werden, externe Knoten zu laden.
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.
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.
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.