Ein Überblick über MQTT

Die Grundlagen von MQTT Titelbild

In der sich ständig weiterentwickelnden Landschaft des Internets der Dinge (IoT) und der Echtzeit-Kommunikationsprotokolle hat sich MQTT als leistungsstarke und vielseitige Lösung erwiesen.

MQTT, früher ein Akronym für Message Queue Telemetry Transport (mehr dazu weiter unten), ist ein leichtgewichtiges und effizientes Nachrichtenprotokoll, das für Geräte mit eingeschränkten Ressourcen und unzuverlässige Netzwerke entwickelt wurde.

In diesem Beitrag möchte ich daher auf die Geschichte, die Anwendungen sowie die Vor- und Nachteile von MQTT eingehen.

Die Geschichte von MQTT

Die Ursprünge von MQTT reichen bis in die späten 1990er Jahre zurück, als Andy Stanford-Clark und Arlen Nipper das Protokoll zur Überwachung von Ölpipelines entwickelten. Die Überwachung langer Pipelines in abgelegenen Gebieten kann natürlich eine Herausforderung sein.

Die Idee war also, etwas zu entwickeln, das extrem leicht ist, so dass man die notwendigen Informationen (Status, Temperatur usw.) von Geräten mitten im Nirgendwo abrufen kann.

Ein Foto einer entfernten Pipeline, die mit MQTT überwacht werden kann

Das ursprüngliche Ziel bestand darin, ein Protokoll zu entwickeln, das die Bandbreitennutzung minimiert und gleichzeitig eine zuverlässige Datenübertragung gewährleistet. Mit anderen Worten, die Idee war, die Telemetrie-Kommunikation zwischen Ölpipeline-Sensoren zu erleichtern und die Bandbreitennutzung zu minimieren.

Das Publish-Subscribe-Modell ermöglichte es Sensoren und Geräten, Daten an einen zentralen Knotenpunkt zu übermitteln, wo die Teilnehmer (häufig Überwachungssysteme) diese Informationen empfangen und verarbeiten konnten.

Mit dem Aufkommen von IoT-Produkten und der Verbreitung von Raspberry Pis wurde MQTT zu einer bahnbrechenden Methode, um Geräte zur Kommunikation zu bewegen.

So wurde MQTT schnell über seine ursprüngliche Anwendung in der Telemetrie hinaus erweitert.

Diese Entwicklung führte zu einer bemerkenswerten Änderung des Namens.

Ursprünglich stand MQTT für MQ Telemetry Transport, wobei MQ für Message Queue (Nachrichtenwarteschlange) stand (obwohl keine Nachrichtenwarteschlangen verwendet wurden - mehr dazu weiter unten).

Mit der zunehmenden Verbreitung und der Diversifizierung seiner Anwendungen entwickelte sich das Protokoll jedoch über die telemetrieorientierte Nutzung hinaus. Jetzt kann man mit MQTT zum Beispiel Dinge steuern.

Wenn Sie diese Woche unseren Newsletter gelesen haben, dann wissen Sie das bereits, MQTT steht nicht mehr für einen bestimmten Satz von Wörtern.

Das ist richtig - MQTT heißt einfach MQTT.

Ein Foto eines Smart Home-Sensors, der mit MQTT gesteuert werden kann

Heute ist die Anwendungslandschaft viel umfangreicher und vielfältiger als in den 90er Jahren.

Über seine traditionelle Verwendung in der Telemetrie hinaus ist MQTT heute ein Eckpfeiler von IoT-Ökosystemen (einschließlich PiCockpit) und ermöglicht die nahtlose Kommunikation zwischen Geräten, Sensoren und Anwendungen.

Seine Effizienz und Leichtigkeit machen ihn zur idealen Wahl für ressourcenbeschränkte Umgebungen, wie z. B. eingebettete Systeme und Mikrocontroller.

Wie es funktioniert

MQTT verwendet das Publisher-Subscriber-Modell. Das bedeutet, dass der Kern der MQTT-Architektur aus zwei Schlüsselkomponenten besteht: Verleger und Abonnenten.

Diese Komponenten kommunizieren über einen zentralen Broker, der als Vermittler für die Weiterleitung von Nachrichten an die entsprechenden Ziele zuständig ist.

Sie haben also drei Geräte, Sensoren oder Anwendungen, die miteinander kommunizieren müssen, z. B. Ihren Laptop, Ihren Raspberry Pi und Ihren Router. Wenn Sie den Raspberry Pi und Ihren Laptop über den Router mit dem WLAN verbinden, können Sie den Router als Vermittler nutzen, um den Pi und den Laptop zu verbinden.

Im Einzelnen senden die Geräte Nachrichten aus, die auf Themen.

Das ist ein Schlüsselwort in der Welt von MQTT.

Themen sind superleichte Informationen. Sie sagen Ihnen, ob ein Gerät ein- oder ausgeschaltet ist, seine Temperatur, seine IP-Adresse usw. Themen geben Ihnen keine endlosen Mengen an Informationen.

Das ist es, was MQTT so effizient und stabil macht.

Das macht es auch perfekt für die Überwachung Ihres Raspberry Pis mit PiCockpit, zum Beispiel. Denn so erhalten Sie eine konsistente und zuverlässige Verbindung zwischen den Geräten.

Das Tolle ist, dass Themen ziemlich offensichtlich funktionieren. Ein Thema besteht aus einer Reihe von Texten, die durch Schrägstriche getrennt sind, z. B:

myRaspberryPis / livingRoomPi / Temperatur

Und dieses Thema dient als Nachrichtenkanal, der die Temperatur des Raspberry Pi im Wohnzimmer ausgibt.

Der Broker empfängt die Nachricht und speichert sie vorübergehend.

Und dann abonnieren Geräte bestimmte Themen auf dem Broker, um diese Informationen zu erhalten.

Dies ist auch der Grund dafür, dass der Name MQTT von Anfang an eine Fehlbezeichnung war. Dieses Publish-Subscribe-Modell unterscheidet sich stark vom Message Queuing, bei dem die Daten gespeichert werden, bis die Clients sie benötigen.

Anwendungen von MQTT

Wie Sie sehen können, ist MQTT großartig für das IoT-Ökosystem. Es ermöglicht eine effiziente Kommunikation zwischen verschiedenen Geräten, Sensoren und Anwendungen, selbst wenn das Netzwerk schlecht ist.

Das macht es ideal für Szenarien mit begrenzter Bandbreite und instabilen Verbindungen.

Sie können es für die nahtlose Kommunikation von Geräten wie intelligenten Thermostaten, Lampen und Sicherheitskameras verwenden. So kann beispielsweise ein Temperatursensor Daten an einen MQTT-Broker veröffentlichen, und ein Thermostat, der das Thema abonniert hat, kann diese Informationen in Echtzeit empfangen und entsprechend handeln.

Ich sollte erwähnen, dass dies alles Dinge sind, bei denen PiCockpit Ihnen helfen kann.

Ein Schiff überwacht das Wetter

In der Industrie verwenden Fabriken und Produktionslinien MQTT zur Überwachung von Maschinen, zur Erfassung von Daten über die betriebliche Effizienz und zur Fernsteuerung von Prozessen. MQTT hat sich in allen Arten von Branchen mit Fernzugriff etabliert.

Nehmen Sie zum Beispiel Wetterüberwachungsstationen in abgelegenen Gebieten oder Offshore-Ölplattformen. Um Informationen zu und von diesen Orten zu erhalten, funktioniert MQTT wirklich perfekt.

Vorteile

MQTT ist äußerst effizient. Sein leichtes Design minimiert den Overhead bei der Datenübertragung. Das binäre Format und der kompakte Header machen es zu einer guten Wahl für Geräte mit begrenzter Verarbeitungsleistung und Bandbreite.

Außerdem ist es sehr zuverlässig. Das Publish-Subscribe-Modell gewährleistet die zuverlässige Zustellung von Nachrichten. Abonnenten können verpasste Nachrichten empfangen, sobald sie online sind, was Datenverluste verhindert.

Und für Unternehmen, die es nutzen wollen, ist es super skalierbar. Die Architektur ermöglicht eine einfache Skalierung, wenn mehr Geräte oder Abonnenten dem Netzwerk beitreten. Makler können eine Vielzahl von Publishern und Abonnenten ohne nennenswerte Leistungseinbußen effizient verwalten.

Dennoch hat es, wie alle Protokolle, einige Nachteile.

Benachteiligungen

MQTT bietet zwar grundlegende Sicherheitsmechanismen wie die Authentifizierung mit Benutzernamen und Kennwort, doch reicht dies für hochsensible Anwendungen möglicherweise nicht aus. Daher ist es manchmal wichtig, Sicherheitsmaßnahmen wie SSL/TLS-Verschlüsselung und erweiterte Authentifizierung zu nutzen.

Ein weiterer Nachteil ist der Verlust von Daten. Standardmäßig speichern MQTT-Broker keine Nachrichten, was zu Datenverlusten führen kann, wenn ein Teilnehmer offline ist, wenn ein Gerät eine Nachricht veröffentlicht.

Natürlich könnte man dies als einen Vorteil für die Sicherheit ansehen, da es nicht viele Daten gibt, auf die man zugreifen kann.

Es stimmt jedoch, dass für persistentes Messaging eine zusätzliche Konfiguration erforderlich ist.

Während MQTT selbst relativ einfach ist (insbesondere für die Heimautomatisierung), kann die Implementierung eines vollständigen MQTT-Ökosystems mit Brokern, Publishern und Abonnenten sehr komplex werden.

Obwohl MQTT also recht skalierbar ist, können Unternehmen und Organisationen durchaus Probleme mit der Wartung haben.

Wie PiCockpit MQTT verwendet

PiCockpit, unsere bevorzugte Methode zur Überwachung und Steuerung von Raspberry Pis, nutzt die Leistungsfähigkeit von MQTT, um eine nahtlose und effiziente Kontrolle über ein Netzwerk von Geräten zu ermöglichen.

Durch die Verwendung von MQTT als Kommunikationsprotokoll bietet PiCockpit den Nutzern ein umfassendes Toolset, um ihre Raspberry Pi-Flotte aus der Ferne zu verwalten, was es zu einem unverzichtbaren Werkzeug für Enthusiasten, Entwickler und Profis macht.

Der PiCockpit MQTT Button

Im Kern ermöglicht PiCockpit den Nutzern die Überwachung verschiedener Aspekte ihrer Raspberry Pi-Geräte, wie CPU- und Speichernutzung, Netzwerkstatistiken und angeschlossene Hardwarekomponenten.

Einzelne Geräte sammeln Informationen und geben sie über das Netzwerk mithilfe der MQTT-Architektur (Publish-Subscribe) weiter. Jeder Raspberry Pi fungiert als MQTT-Client, der in der Lage ist, bestimmte Themen sowohl zu veröffentlichen als auch zu abonnieren, was einen Datenaustausch in Echtzeit ermöglicht.

Einer der Hauptvorteile des Einsatzes von PiCockpit ist sein geringes Gewicht, das perfekt auf die ressourcenbeschränkte Umgebung von Raspberry Pi-Geräten abgestimmt ist.

Die effiziente Paketierung von Nachrichten und der geringe Overhead sorgen dafür, dass auch Geräte mit begrenzter Verarbeitungsleistung ohne nennenswerte Leistungseinbußen am Datenaustausch teilnehmen können.

Der Ansatz von PiCockpit geht über die reine Datenüberwachung hinaus. Es erleichtert die Fernverwaltung und ermöglicht es Ihnen, Befehle auf Ihren Raspberry Pi-Geräten von einem zentralen Dashboard aus auszuführen.

Durch das Abonnieren der entsprechenden Themen können Benutzer Aktionen wie Software-Updates, System-Neustarts oder benutzerdefinierte Skripte auf den Geräten auslösen.

Diese bidirektionale Kommunikation sorgt dafür, dass PiCockpit nicht nur ein passives Überwachungswerkzeug ist, sondern eine aktive Plattform für das Gerätemanagement.

Darüber hinaus ermöglicht PiCockpit durch die Nutzung von MQTT eine einfache Skalierbarkeit für Ihre Projekte.

Wenn die Anzahl der überwachten Geräte wächst, bewältigt der MQTT-Broker nahtlos den zunehmenden Daten- und Nachrichtenfluss. Diese Skalierbarkeit ist ein Beweis für seine inhärente Fähigkeit, zahlreiche Clients ohne Leistungseinbußen zu verwalten.

PiCockpit überwacht und steuert Raspberry Pis

Zusammenfassend lässt sich sagen, dass die Integration von MQTT in PiCockpit die Vielseitigkeit und Effizienz des Protokolls im Bereich der Fernverwaltung von Geräten unter Beweis stellt.

So können Sie mit PiCockpit Ihre Raspberry Pi Flotte nicht nur überwachen, sondern auch ganz einfach verwalten. Alles, was Sie tun müssen, ist den PiCockpit Client auf Ihrem Raspberry Pi zu installieren und schon kann es losgehen!

Schlussfolgerung

MQTT ist eine wunderbare Möglichkeit, Geräte miteinander ins Gespräch zu bringen.

Es ist leicht. Er ist zuverlässig. Und er ist super vielseitig.

Vor allem aber ist es nicht mehr nur ein Kommunikationsprotokoll zur passiven Datenerfassung. Jetzt können Sie damit auch aktiv Geräte und Sensoren aus der Ferne steuern.

MQTT ist ein wertvolles Werkzeug im Arsenal der Protokolle für eine nahtlose und effiziente Kommunikation.

Und das Beste daran: Bei all den IoT- und Hausautomatisierungsprojekten, die es heutzutage gibt, kann MQTT Ihr Leben verbessern.

Installieren Sie PiCockpit auf Ihrem Raspberry Pi und überzeugen Sie sich selbst von den vielen Vorteilen!

Klicken Sie hier, um herauszufinden, wie man einen Fotowiderstand mit einem Pico W mit MQTT herstellt - es ist ein großartiges kleines Projekt, um die Leistungsfähigkeit und Effizienz von MQTT zu testen.

Was würden Sie mit MQTT tun, um Ihr tägliches Leben zu verändern?

2 Kommentare

  1. Veröffentlich von Сергей am August 30, 2023 um 8:52 am

    Автор статьи опоздал с написанием статьи о mqtt лет так на десять...

    • Veröffentlich von Adam am August 30, 2023 um 9:38 am

      Лучше поздно, чем никогда. Да, Сергей?

Hinterlassen Sie einen Kommentar