Message Queue Telemetry Transport, kurz MQTT, ist ein äußerst einfach aufgebautes binäres Publish-Subscribe-Protokoll. Es eignet sich für den Nachrichtenaustausch zwischen Geräten mit geringer Funktionalität und für die Übertragung über unzuverlässige Netze mit geringer Bandbreite und hoher Latenz. Mit diesen Eigenschaften spielt MQTT eine wichtige Rolle für das Internet der Dinge (IoT) und in der M2M-Kommunikation.
Typischerweise lassen sich mit MQTT Sensordaten, wie Temperatur oder Füllstände, übertragen. Aber auch klassische Nachrichten, wie Aktienkurse oder Kurzmitteilungen. Facebook nutzt MQTT für seine Mobile-Apps.
Publish/Subscribe-Architektur von MQTT. © HiveMQ.com
MQTT wurde ursprünglich von IBM und Eurotech um die Jahrtausendwende konzipiert, um Telemetriedaten zwischen Sensoren und Servern über unzuverlässige Datenverbindungen zu übertragen. Alte Namen wie SCADA, MQIsdp (MQ Integrator SCADA Device Protocol) oder WebSphere MQTT (WMQTT) sind heute nicht mehr in Gebrauch. Seit 2013 wird die Standardisierung des MQTT-Protokolls von der OASIS (Organization for the Advancement of Structured Information Standards) weitergeführt.
MQTT kann besonders bei der Nachrichtenübertragung in unzuverlässigen Netzwerken seine Stärken entfalten. Auf Protokollebene existiert eine Funktion zum Wiederverbinden und erneutes Ausliefern von Nachrichten. Somit wird bei der Datenübermittlung eine hohe Zuverlässigkeit erreicht.
Der Bedarf an Netzwerk-Bandbreite ist beim MQTT-Protokoll minimal und gleichzeitig stellt es nur geringe Anforderungen an die Geräte. Somit braucht es vergleichsweise wenig Energie, was wichtig ist, wenn die Energieversorgung über eine Batterie erfolgt.
Linksammlung für vertiefende MQTT Infos:
Wissen Allgemein
Kurze übersichtliche Erklärung von Thomas Beyer – DE
Noch mehr IoT Know How in der Thesis Arbeit von Mario Sallat
Programmierung
MQTT Client / Server Software Mosquitto
Mit Raspberry Pi und Mosquitto Client