MQTT (Message Queuing Telemetry Transport)

Inhaltsverzeichnis

MQTT ist ein leichtgewichtiges Nachrichtenprotokoll für den Datenaustausch zwischen Geräten und Softwareanwendungen. MQTT basiert auf dem Publish-Subscribe-Prinzip und eignet sich besonders für die Übertragung von Messwerten, Zuständen und Ereignissen zwischen Sensoren, Gateways, EMS, Monitoringplattformen und Cloud-Systemen.

MQTT auf einen Blick

  • MQTT überträgt Nachrichten über einen zentralen Broker, der sie anhand definierter Topics an berechtigte Empfänger verteilt.
  • Publisher und Subscriber kommunizieren nicht direkt miteinander. Dadurch sind sie technisch voneinander entkoppelt, müssen jedoch dieselbe Topic-Struktur und dasselbe Datenmodell verwenden.
  • Drei Quality-of-Service-Stufen ermöglichen eine anwendungsspezifische Abwägung zwischen Übertragungssicherheit und Kommunikationsaufwand.
  • MQTT legt den Transport der Nachrichten fest, definiert aber nicht automatisch deren Datenmodell, Einheit oder fachliche Bedeutung.

Wie funktioniert MQTT?

Ein MQTT-System besteht aus einem Broker und mehreren Clients. Clients können Nachrichten veröffentlichen und damit als Publisher arbeiten oder bestimmte Nachrichten als Subscriber abonnieren. Ein Client kann beide Rollen gleichzeitig übernehmen.

Ein Energiezähler kann beispielsweise seine aktuelle Wirkleistung unter einem Topic wie standort/anlage/zaehler/wirkleistung veröffentlichen. Ein EMS oder eine Monitoringplattform abonniert dieses Topic. Der Broker nimmt die Nachricht entgegen, prüft die Zugriffsrechte und verteilt sie an die berechtigten Abonnenten.

Topics lassen sich hierarchisch nach Standort, Anlage, Gerät und Messwert gliedern. Über Platzhalter können Clients auch mehrere Ebenen oder Gerätegruppen abonnieren. Damit die empfangenden Systeme die Daten eindeutig interpretieren können, müssen Topic-Struktur, Datenformat und fachliche Bedeutung dokumentiert sein.

MQTT bietet drei Quality-of-Service-Stufen. Diese gelten jeweils für einen Übertragungsabschnitt zwischen einem Sender und einem Empfänger. Bei einer Kommunikation über einen Broker werden die Übertragung vom Publisher zum Broker und die Weiterleitung vom Broker zum Subscriber getrennt behandelt. Die QoS der Weiterleitung kann dabei niedriger sein als die QoS der ursprünglich veröffentlichten Nachricht.

  • QoS 0 – höchstens einmal: Die Nachricht wird ohne Empfangsbestätigung übertragen. Sie kann verloren gehen, verursacht aber nur geringen Kommunikationsaufwand.
  • QoS 1 – mindestens einmal: Der Empfänger bestätigt die Nachricht. Innerhalb des jeweiligen Übertragungsabschnitts wird die Zustellung sichergestellt, allerdings können Duplikate entstehen.
  • QoS 2 – genau einmal: Ein mehrstufiger Bestätigungsprozess stellt innerhalb des jeweiligen Übertragungsabschnitts sicher, dass die Nachricht genau einmal zugestellt wird. Dies verursacht den höchsten Kommunikations- und Verarbeitungsaufwand.

Eine Retained Message ermöglicht es dem Broker, die zuletzt entsprechend gekennzeichnete Nachricht eines Topics zu speichern. Neue Abonnenten erhalten dadurch unmittelbar den letzten gespeicherten Wert. Da dieser Wert veraltet sein kann, sollte die empfangende Anwendung Zeitstempel, Gültigkeitsdauer und Datenqualität prüfen.

Mit dem Last-Will-Mechanismus kann ein Client außerdem eine Nachricht hinterlegen, die der Broker bei einem unerwarteten Verbindungsabbruch veröffentlicht. Andere Systeme können dadurch beispielsweise erkennen, dass ein Gateway nicht mehr erreichbar ist.

Wo wird MQTT im Energiemanagement eingesetzt?

Es wird häufig verwendet, um Messwerte von Energiezählern, Sensoren oder IoT-Gateways an ein EMS oder eine Monitoringplattform zu übertragen. Dazu gehören beispielsweise Wirkleistung, Energieverbrauch, Temperaturen, Betriebszustände und Alarmmeldungen.

Ein weiterer Anwendungsfall ist die Verbindung lokaler Anlagen mit Cloud-Plattformen. Ein Gateway kann Daten mehrerer Geräte erfassen, aufbereiten und über MQTT an ein übergeordnetes System senden. Auch der Datenaustausch zwischen verschiedenen Softwareanwendungen lässt sich auf diese Weise umsetzen.

Steuerbefehle und Sollwerte können ebenfalls über MQTT übertragen werden. Für Steuerungsanwendungen muss zusätzlich festgelegt werden, wie Annahme, Ausführung und tatsächliche Wirkung eines Befehls zurückgemeldet und überwacht werden. Eine erfolgreiche Nachrichtenzustellung bestätigt nicht automatisch, dass das Zielgerät den Sollwert angenommen oder umgesetzt hat.

Vorteile, Grenzen und technische Voraussetzungen

MQTT verursacht vergleichsweise wenig Protokollaufwand und ermöglicht die flexible Verteilung von Informationen an mehrere Empfänger. Durch die technische Entkopplung lassen sich weitere Clients einbinden, ohne direkte Kommunikationsverbindungen zu allen anderen Teilnehmern einzurichten.

Das Protokoll definiert jedoch nur die Nachrichtenübertragung. Topic-Struktur, Datenformat, Einheit, Zeitstempel, Vorzeichen, Datenqualität und fachliche Bedeutung müssen separat vereinbart werden. Ohne ein gemeinsames Datenmodell können Systeme eine technisch korrekt übertragene Nachricht unterschiedlich interpretieren.

MQTT ist außerdem nicht automatisch echtzeitfähig. Übertragungsdauer und Verfügbarkeit hängen unter anderem vom Netzwerk, Broker, der gewählten QoS-Stufe und den beteiligten Anwendungen ab. Für schnelle, deterministische Schutz- oder Regelungsfunktionen kann daher eine andere Kommunikationslösung erforderlich sein.

Für einen sicheren Betrieb sind in der Regel TLS-Verschlüsselung, eine Authentifizierung der Clients, differenzierte Zugriffsrechte und ein geschützter Broker erforderlich. Zusätzlich müssen Wiederverbindungen, veraltete Werte, Nachrichtenduplikate und Kommunikationsausfälle eindeutig behandelt werden.

Wie kann EcoPhi MQTT einsetzen?

EcoPhi kann das Konzept abhängig von der Projektkonfiguration für die Integration von Sensoren, Gateways und externen Plattformen einsetzen. EcoPhi-Systeme können dabei als MQTT-Clients Daten aus definierten Topics empfangen oder Anlageninformationen über entsprechende Topics bereitstellen.

Auch Steuerbefehle können bei geeigneter Systemarchitektur über MQTT verarbeitet werden. Die konkrete Umsetzung hängt von den verfügbaren Geräteschnittstellen, dem vereinbarten Datenmodell, den Sicherheitsanforderungen und dem vorgesehenen Ausfallverhalten ab. Welches System den Broker bereitstellt und betreibt, wird innerhalb der jeweiligen Projektarchitektur festgelegt. Zusätzliche Konfigurations- oder Engineering-Leistungen können erforderlich sein.

MQTT zusammengefasst

MQTT ist ein ressourcenschonendes Publish-Subscribe-Protokoll für die flexible Übertragung von Messwerten, Zuständen und Ereignissen. Ein zuverlässiger Einsatz im Energiemanagement setzt ein eindeutiges Datenmodell, eine geeignete QoS-Auswahl, geregelte Rückmeldungen und eine abgesicherte Kommunikationsinfrastruktur voraus.

Häufig gestellte Fragen zu MQTT

Was ist ein MQTT-Broker?

Der MQTT-Broker ist die zentrale Vermittlungsstelle. Er empfängt veröffentlichte Nachrichten und verteilt sie anhand der Topics, Abonnements und Zugriffsrechte an die jeweiligen Empfänger.

Was ist ein MQTT-Topic?

Ein Topic ist ein hierarchisch aufgebauter Nachrichtenkanal. Es kann eine Nachricht beispielsweise einem Standort, einer Anlage, einem Gerät und einem bestimmten Messwert zuordnen.

Verschlüsselt MQTT die übertragenen Daten?

MQTT selbst verschlüsselt die übertragenen Daten nicht. Für eine geschützte Kommunikation werden üblicherweise TLS, eine sichere Authentifizierung und differenzierte Zugriffsrechte eingesetzt.

Ist MQTT für Anlagensteuerungen geeignet?

MQTT kann Sollwerte und Steuerbefehle übertragen, ist aber nicht automatisch deterministisch oder echtzeitfähig. Die Eignung hängt unter anderem von den erforderlichen Reaktionszeiten, Rückmeldungen, Sicherheitsanforderungen und Rückfallstrategien ab.

Verwandte Artikel

C&I Monitoring

Wechselrichter

Wärmepumpe

Nach oben scrollen