Mosquitto MQTT-Broker-Installation auf Raspberry pi

blank

Mosquitto ist ein leichtgewichtiger, kleiner Open-Source-MQTT-Broker. MQTT (Message Queuing Telemetry Transport) ist ein offenes Nachrichtenprotokoll für die Maschine-zu-Maschine-Kommunikation. Es ermöglicht den Austausch von Nachrichten zwischen IoT-Geräten (Internet of Things).

Wenn wir einen MQTT-Server für unsere Heimprojekt benötigen, ist Mosquitto aufgrund seiner geringen Größe die perfekte Wahl für z.B. einen Raspberry Pi.

Raspberry Pi 4 Model B 4GB

Raspberry Pi 4 Model B  4 GB, ARM Cortex-A72 4x, 1,50 GHz, 4 GB RAM, WiFi-ac, Bluetooth 5, LAN, 4x USB, 2x Micro-HDMI

werbung – amazon.de

blank

Aktualisieren wir zuerst das System. Geben wir den folgenden Befehl in das Terminal oder die SSH-Konsole ein.

sudo apt-get update

sudo apt-get upgrade

Der Mosquitto MQTT-Broker kann einfach aus den Debian-Paketquellen installiert werden.

sudo apt-get install mosquitto

Installieren wir auch den Mosquitto-Client.

sudo apt-get install mosquitto-clients

Aktivieren wir den Dienst am Ende der Installation.

sudo systemctl enable mosquitto

Sobald dies geschehen ist, können wir den MQTT-Broker verwenden. Der Mosquitto-Server wird nach der Installation automatisch gestartet.

Der Mosquitto-Server registriert sich als Systemdienst und startet automatisch beim Systemstart.

Mit den folgenden Befehlen können wir den Mosquitt MQTT Broker-Dienst starten, stoppen oder neu starten.

sudo systemctl start mosquitto

sudo systemctl stop mosquitto

sudo systemctl restart mosquitto

Können wir den automatischen Start deaktivieren oder aktivieren.

sudo systemctl disable mosquitto

sudo systemctl enable mosquitto

Schauen wir mal, ob unser Server funktioniert. Öffnen wir zwei Terminals oder SSH-Fenster. Im ersten Terminal abonnieren wir das Topic „/test/topic“. Hier können wir Nachrichten empfangen.

mosquitto_sub -h localhost -t /test/topic

Das zweite Terminal wird verwendet, um eine Nachricht an den Mosquitto MQTT-Broker zu senden. Geben wir den folgenden Befehl ein. Wenn alles in Ordnung ist, sollte diese Meldung im ersten Terminalfenster erscheinen.

mosquitto_pub -h localhost -t /test/topic -m "Hello Mosquitto!"

werbung – amazon.de

Wenn wir es wünschen, können wir unsere Mqtt Broker mit einem Passwort schützen. Mosquitto enthält einen Dienst namens mosquitto_passwd zur Erstellung einer Passwortdatei. Kopieren wir den folgenden Befehl und führen wir ihn im Terminal aus. Geben wir das Passwort ein.

sudo mosquitto_passwd -c /etc/mosquitto/pwd myusername

Der Benutzername „myusername“ und das zugehörige Passwort werden in der Passwortdatei „/etc/mosquitto/pwd“ angelegt.

Erstellen wir dann die Konfigurationsdatei für Mosquitto.

sudo nano /etc/mosquitto/conf.d/default.conf

Fügen wir diese beiden Zeilen hinzu und speichern.

allow_anonymous false
password_file /etc/mosquitto/pwd

Lasst uns Mosquitto neustarten.

systemctl restart mosquitto

Testen wir es.

pi@raspberrypi:~ $ mosquitto_pub -h localhost -t /test/topic -m "Hello Mosquitto!"
Connection Refused: not authorised.

Ohne Passwort geht es nicht, wir bekommen eine Fehlermeldung. Vervollständigen wir den Befehl mit dem Paar aus Benutzername und Passwort wie folgt.

mosquitto_sub -h localhost -t /test/button -u myusername -P mypassword
mosquitto_pub -h localhost -t /test/topic -m "Hello Mosquitto!"  -u myusername -P mypassword

Wir haben jetzt einen kleinen MQTT-Server, der energieeffizient betrieben werden kann, z. auf einem Raspberry Pi.

Mit dieser einfachen kleinen MQTT- Client-App können wir von unsere Android-Handy zum Mosquitto MQTT-Server verbinden

Die MQTT-Client-App ist auf Google Play verfügbar
MQTT-Client-App ist auf Google Play

Viel Glück dafür.

MINISFORUM GK41 Mini-PC

MINISFORUM GK41 Mini-PC

Mini-Desktop-Computer Windows 11 Pro. 8 GB DDR4, 128 GB SSD mit Celeron J4125 Quad-Core-Prozessor (bis zu 2,7 GHz) 4xUSB 3.0-Ports 2xGigabit-Ethernet 4K HDMI/DP WiFi Dual BT 4.2

Optimal für Smarthome, Mosquitto, ioBroker oder Media server.

werbung

blank