MQTT Broker Installation
MQTT (Message Queuing Telemetry Transport) ist ein Protokoll, welches im IoT Bereich und der Home Automation immer mehr eingesetzt wird. Ausführliche Beschreibungen gibt es zahlreich bei Google oder Youtube zu finden.
Zentrales Element bei MQTT ist der Broker. Andere Installations Beschreibungen beinhalten oft die Konfiguration von Passwörtern oder die Verschlüsselung des Traffic. Beides ist natürlich Pflicht, wenn der Broker über das öffentliche Netz zu erreichen ist oder sensible Daten verschickt werden. Um ein paar Temperatur-Werte im Heimischen Netzwerk zu publizieren ist dies IMHO nicht nötig. Dieser Artikel soll vielmehr zeigen, wie einfach es ist einen Broker auf einem Raspberry Pi aufzusetzen und über einen Ubuntu Rechner zu testen.
Broker Setup
Der Broker soll auf einem Raspberry Pi installiert werden. Der Artikel „Raspi – Headless und Komfortabel“ beschreibt, wie ein Pi mit Remote Zugriff über VS Studio aufgesetzt werden kann.
Nachdem man sich über SSH oder mit VS Code + Remote Development mit dem Pi verbunden hat, kann man die Installation des Brokers über folgende Befehle ausführen:
sudo apt update
sudo apt install mosquitto
Der Broker startet automatisch.
Gestoppt werden kann er über:
sudo systemctl stop mosquitto.service
bzw.
sudo systemctl disable mosquitto
um den Service auch nach dem Reboot zu deaktivieren.
Client Setup
Für Ubuntu gibt es Kommandozeilen-Clients zum Publizieren und Abonnieren von MQTT Nachrichten. Diese sind in den Standard Ubuntu Repositories bereits vorhanden. Die Installation erfolgt über:
sudo apt install mosquitto-clients
Die clients könnten auf der Kommandozeile mit
mosquitto_sub -h <host> -t <topic>
bzw.
mosquitto_pub -h <host> -t <topic> -m <message>
aufgerufen werden.
Ein Einfacher Test besteht darin zwei Terminal Fenster zu öffnen und über eines ein Topic zu abonnieren, während man über das zweite Messages zu entsprechendem Topic publiziert.
Fazit
MQTT ist wirklich kein Hexenwerk. Ohne viel Konfiguration sind Broker und Clients in wenigen Minuten installiert und bereit für die Anwendung im Heimnetzwerk.
[…] der Python Bibliothek soll NodeRED verwendet werden, um die Werte auszulesen und über MQTT im heimischen Netz […]