TODO
Definition: Das MQTT (Message Queuing Telemetry Transport) IoT-Netzwerkprotokoll ist eine Funktechnologie zur Machine-to-Machine-Kommunikation und wird für IoT-Anwendungen verwendet.

Standard

ISO/IEC 20922:2016

Übertragungsmedium

Nutzt bestehende Protokolle, wie WLAN, Ethernet, Mobilfunk, Bluetooth LE und LoRaWAN für die Kommunikation.

Vorteile

  • Geringer Bandbreitennutzung (Overhead)
  • Lightweight
  • Möglichkeit der Wahrnehmung von Dienstverlustes
  • Flexibel und Skalierbar
  • Einfach zu implementieren und zu verwenden
  • geringer Integrationsaufwand

Nachteile

  • Nicht verschlüsselte Kommunikation
  • Eingeschränkte Funktionen
  • Benötigt Broker als zentralen Punkt

Kommunikationsparadigma

Sensor

Das ist der Sensor, welcher einen Wert auslesen kann. Dabei kommuniziert dieser ausschließlich mit dem MQTT-Broker.

MQTT-Broker

Der MQTT-Broker ist der Publisher in diesem Prinzip. Er hält eine Verbindung mit dem Sensor und leitet den Subscribern den ausgelesenen Wert, unter einem bestimmten Topic, weiter.

Subscriber

Ein Subscriber kann jegliches empfangendes Endgerät sein. Dieses Endgerät kann unter Angabe des Topics den Wert in dem angegebenen Topic erhalten, indem es diesem Topic subscribed.

Topic und Filterung​

  • Topic ist eine UTF-8-Zeichenkette​
  • Hierarchiestufen sind Level und sind optional und dienen der Strukturierung​.
  • Durch diese Struktur ist Filterung möglich (z. B. Auswahl des Subscribers oder Umsetzung eines Berechtigungskonzepts auf dem Broker)​
  • Level werden durch / getrennt​. Diese werden Topic Level Separator (TLS) genannt.
  • Jedes Topic besteht mindestens aus einem Zeichen​
  • Auch Leerzeichen sind möglich​
  • Schreibweise ist case-sensitive
  • + und # innerhalb eines Levels haben eine besondere Bedeutung​

Beispiel

Im Folgenden wird bei jedem Topic mindestens das im ersten Beispiel spezifisch genannte Topic abgefragt.

BS_FFB/Block_A/OG_1/146/Temp1​
BS_FFB/Block_A/+/+/Temp1​ # Ein + ist eine single-level-wildcard
BS_FFB/Block_A/#/Temp1​ # Ein # ist eine multi-level-wildcard