Im vorherigen Teil hast du die Grundlagen von MQTT kennengelernt. Nun tauchen wir tiefer ein und beschäftigen uns mit dem zentralen Element jeder MQTT-Anwendung: dem Broker. In diesem Tutorial erfährst du, wie du mit Mosquitto einen MQTT-Broker auf deinem Raspberry Pi einrichtest.
Was ist ein MQTT-Broker?
Ein MQTT-Broker ist das Herzstück jeder MQTT-basierten Kommunikation. Er fungiert als zentrale Vermittlungsinstanz zwischen den Geräten, die Nachrichten senden (Publisher) und denen, die Nachrichten empfangen (Subscriber). Stell dir den Broker als eine Art intelligenten Postboten vor, der Nachrichten entgegennimmt und sie an die richtigen Empfänger verteilt.
Die Aufgaben eines MQTT-Brokers
Ein MQTT-Broker hat folgende Hauptaufgaben:
- Verbindungen annehmen: Der Broker nimmt Verbindungen von MQTT-Clients (Publisher und Subscriber) entgegen.
- Nachrichten empfangen: Er nimmt Nachrichten von Publishern entgegen.
- Nachrichten verteilen: Der Broker leitet die empfangenen Nachrichten an die entsprechenden Subscriber weiter.
- Sicherheit gewährleisten: Er kümmert sich um die Authentifizierung und Autorisierung von Clients.
- Quality of Service (QoS) sicherstellen: Der Broker sorgt dafür, dass die vereinbarten QoS-Level eingehalten werden.
- Retained Messages verwalten: Er speichert die letzten Nachrichten für bestimmte Topics.
- Last Will and Testament (LWT) verwalten: Der Broker sendet LWT-Nachrichten, wenn sich Clients unerwartet abmelden.
Populäre MQTT-Broker
Es gibt eine Vielzahl von MQTT-Broker-Implementierungen, sowohl Open Source als auch kommerzielle Lösungen. Hier sind einige der beliebtesten:
- Mosquitto: Ein leichtgewichtiger Open-Source-Broker, ideal für Einsteiger und kleinere Projekte.
- HiveMQ: Ein skalierbarer kommerzieller Broker mit vielen Zusatzfunktionen für unternehmenskritische IoT-Anwendungen.
- VerneMQ: Ein Open-Source-Broker.
- AWS IoT Core: Ein vollständig verwalteter Cloud-Broker von Amazon Web Services.
In diesem Kurs konzentrieren wir uns auf Mosquitto, da es sich leicht installieren und konfigurieren lässt und für die meisten Maker-Projekte völlig ausreicht.
Mosquitto auf einem Raspberry Pi einrichten
Lass uns nun Schritt für Schritt einen Mosquitto-Broker auf deinem Raspberry Pi einrichten. Wenn du keinen Raspberry Pi zur Hand hast, kannst du Mosquitto auch auf deinem PC oder Mac installieren. Die Schritte sind ähnlich, aber die genauen Befehle können je nach Betriebssystem variieren.
Schritt 1: Installation von Mosquitto
Öffne ein Terminal auf deinem Raspberry Pi und führe die folgenden Befehle aus:
sudo apt update
sudo apt install mosquitto mosquitto-clients
Der erste Befehl aktualisiert die Paketlisten deines Systems. Der zweite Befehl installiert den Mosquitto-Broker und die Mosquitto-Clients. Die Clients sind nützliche Kommandozeilen-Tools, die wir später zum Testen verwenden werden.
Schritt 2: Mosquitto-Dienst starten
Nach der Installation müssen wir den Mosquitto-Dienst starten:
sudo systemctl start mosquitto
Schritt 3: Status überprüfen
Um zu überprüfen, ob Mosquitto erfolgreich gestartet wurde, verwenden wir den folgenden Befehl:
sudo systemctl status mosquitto
Du solltest eine Ausgabe ähnlich der folgenden sehen:
Wenn du Active: active (running) siehst, läuft dein Mosquitto-Broker erfolgreich!
Mosquitto testen
Mosquitto bringt zwei nützliche Kommandozeilen-Tools mit:
mosquitto_pub
: Zum Veröffentlichen von Nachrichten an ein Topicmosquitto_sub
: Zum Abonnieren von Topics und Anzeigen empfangener Nachrichten
Lass uns diese Tools nutzen, um unseren Broker zu testen.
Schritt 1: Ein Topic abonnieren
Öffne ein neues Terminal-Fenster und gib den folgenden Befehl ein:
mosquitto_sub -t test
Dieser Befehl abonniert das Topic “test”. Der Terminal bleibt nun offen und wartet auf eingehende Nachrichten.
Schritt 2: Eine Nachricht veröffentlichen
Öffne ein weiteres Terminal-Fenster und veröffentliche eine Nachricht mit folgendem Befehl:
mosquitto_pub -t test -m "Hallo MQTT!"
Dieser Befehl veröffentlicht die Nachricht “Hallo MQTT!” zum Topic “test”.
Schritt 3: Ergebnis überprüfen
Im ersten Terminal-Fenster, wo du mosquitto_sub
ausgeführt hast, solltest du nun die Nachricht “Hallo MQTT!” sehen. Falls ja, hast du deinen ersten MQTT-Broker erfolgreich in Betrieb genommen und getestet.
Fazit und Ausblick
In diesem Tutorial hast du gelernt, was ein MQTT-Broker ist, welche Aufgaben er hat und wie du einen eigenen Mosquitto-Broker auf einem Raspberry Pi einrichtest. Du hast auch gelernt, wie du den Broker mit den Mosquitto-Kommandozeilen-Tools testen kannst.
Ein laufender MQTT-Broker ist die Grundlage für viele spannende IoT-Projekte. Im nächsten Teil wirst du lernen, wie du verschiedene Geräte wie den ESP8266 als MQTT-Clients einrichtest, um Daten zu senden und zu empfangen. Du wirst sehen, wie einfach es ist, mit MQTT Sensordaten zu übertragen, Geräte zu steuern und IoT-Systeme aufzubauen.
Bis dahin kannst du gerne weiter mit deinem Mosquitto-Broker experimentieren:
- Versuche, Nachrichten zu verschiedenen Topics zu senden und zu empfangen.
- Schau dir die Dokumentation von Mosquitto an, um mehr über die Konfigurationsmöglichkeiten zu erfahren.
- Überlege dir, welche Anwendungen in deinem Haushalt oder deiner Umgebung von einer MQTT-basierten Kommunikation profitieren könnten.
Viel Spaß beim Experimentieren mit deinem neuen MQTT-Broker!