MQTT hat sich in den letzten Jahren als de facto Standardprotokoll für das Internet der Dinge etabliert. Ob Amazon Alexa oder die internetfähige Heizungssteuerung, fast alle Geräte kommunizieren mittels MQTT.

Die Architektur von MQTT basiert auf dem Publish/Subscribe Pattern. Im Zentrum der Kommunikation steht ein Server („Broker“), der Nachrichten sammelt und verteilt. Mit ihm verbinden sich „Clients“ und veröffentlichen Nachrichten bzw. abonnieren sie zu einem bestimmten Thema („Topic“). Der Broker nimmt die Nachrichten entgegen und verschickt sie automatisch an die Clients, die das Topic abonniert haben.
Durch den Broker wird ein verteiltes, heterogenes System entkoppelt. So ist es möglich, dass voneinander unabhängige Komponenten auf einfache Art zusammenarbeiten können. MQTT bietet verschiedene Features an, die eine zuverlässige Kommunikation in unzuverlässigen Netzwerken gestatten. Da die Kommunikation nur dann erfolgt, wenn sie erforderlich ist, ist MQTT ideal für ressourcenbegrenzte Geräte.

Beim MQTT-Hackathon zum niederlassungsübergreifenden Community Day von OPITZ CONSULTING stand der menschliche Körper im Mittelpunkt. Dabei war das folgende Video von Otto Waalkes die Grundlage (ab 0:43):

Es wurde eine „Organbörse“ mit diversen Organen und ihren Topics angeboten, auf der die Teams ein Organ wählen konnten und die Topics notierten, die sie bereitstellten. Unter anderem waren das:

  • /Koerper/Nase/Geruch
  • /Koerper/Haut/Temperatur
  • /Koerper/Leber/Leberwert
  • /Koerper/Blut/Alkoholgehalt
  • /Koerper/Blase/Fuellstand
hackathon1.JPG
Team Bad Homburg beim Hacken

Durch einen zentral bereitgestellten Broker konnten die Niederlassungsorgane deutschlandweit miteinander kommunizieren und so ein lebendiges Netzwerk bilden. Für die Implementierung der MQTT-Clients wurden die verschiedensten Programmiersprachen verwendet, was die Heterogenität der möglichen Geräte in einem MQTT-Netzwerk verdeutlichte.

mqtthackathon2
Für die Programmierung wurden die verschiedensten Sprachen verwendet

Jedes Organ konnte seine Topics versenden und andere Topics abonnieren, auf die durch eine Veränderung der eigenen Werte reagiert werden konnte. Beispielsweise führte bei einem Team ein sehr hoher Blutalkoholwert im Magen dafür, dass der Inhalt spontan abgestoßen wurde. Ein anderes Team hatte für ihr „Organ“ Ohren die Wörter abonniert, die von der Zunge gesprochen wurden.

Wie man die Nachrichten visualisieren kann, zeigte ein weiteres Team. Mittels Grafana und Prometheus wurden unter anderem die Anzahl der Nachrichten pro Topic in einem Dashboard ausgegeben.

mqtthackathon3.JPG
Grafana Dashboard mit Prometheus-Metriken zu den Nachrichten in den MQTT Topics

Insgesamt war der Hackathon ein großer Erfolg. Die Kolleginnen und Kollegen hatten Spaß dabei, MQTT mit einer anderen Herangehensweise kennenzulernen. Dabei wurde klar, dass MQTT kein Hexenwerk ist. Die Architektur ist leicht zu verstehen und Clients können schnell programmiert werden. Für den nächsten Community Day haben sich in Bad Homburg bereits Kollegen verabredet, um weiter an MQTT zu arbeiten. Ein weiterer Kollege hat für das Thema Feuer gefangen und überlegt sich, wie er MQTT demnächst in seinem Haushalt anwenden kann.

Alle Beiträge von Daniel Rock

Schreibe einen Kommentar