Skip to main content

MQTT

MQTT, Message Queueing Telemetrie Transport, ist ein offenes Netzwerkprotokoll um vorwiegend kleine Datenpakete (etwa Telemetriedaten) zwischen Geräten ermöglicht.

Hierbei gibt es immer einen Hauptserver, den sogenannten Broker. Ein solcher ist etwa auf berta installiert, in diesem Fall handelt es sich um mosquitto. Dieser Broker sammelt Daten der Client-Geräte ein und verteilt sie wiederum. Dafür können sich Client-Geräte beim Broker für gewisse Themen ("topics") anmelden ("subscriben"). Ändert sich ein Parameter, also etwa ein Messwert in einem topic, sendet der Broker diese neuen Werte an alle Subscriber. Topics sind ähnlich einer Ordnerstruktur geordnet, etwa "house/livingroom/temperature" bezeichnet den Temperatursensor im Wohnzimmer des Hauses. Die Ordnung kann/darf man sich selbst aufbauen, sie sollte nur konsequent für alle beteiligten Geräte bleiben.

Konkret: ein Client könnte etwa eine kleine Wetterstation draußen sein. Diese sammelt jede Stunde Temperatur-, Luftfeuchte- und Luftdruckdaten sowie Daten zur Sonneneinstrahlung. Diese Daten sendet es dann als Datenpaket(e) mit dem topic "weather" an den Broker. Der Broker registriert diese und schickt sie an alle, die sich für das topic "weather" subscribed haben. So jemand könnte zum Beispiel ein Gerät sein, welches die Rolläden je nach Sonneneinstrahlung steuert. Vielleicht interessieren dieses Gerät dann auch gar nicht die anderen Daten der Wetterstation (Luftdruck, Luftfeuchte, Temperatur) und es ist nur am topic "weather/sun" interessiert.