Modbus ist ein serielles Kommunikationsprotokoll, das erstmals 1979 erschien und ist ein Standardprotokoll, das für die Verbindung von Industriegeräten verwendet wird. MQTT ist bereits vor 20 Jahren verfügbar, aber die Kombination dieser beiden Protokolle bietet die Skalierung und Konnektivität des IoT für tief eingebettete Geräte.
Die folgende Abbildung zeigt die allgemeine Beziehung zwischen diesen Protokollen:
IoT-Gateways als unterstützende Lösungen für die IoT-Kommunikation betrachten wir nun Modbus und MQTT, um zu verstehen, wie sie sich unterscheiden und wie sie sich im IoT ergänzen.

Modbus
Seit seiner ersten Erscheinung im Jahr 1979 hat sich Modbus zu einem umfassenden Satz von Protokollen entwickelt, die mehrere physische Verbindungen (wie RS485) unterstützen. Der Kern von Modbus ist ein serielles Kommunikationsprotokoll, das einen Master-Slave - Modus verwendet. Der Host sendet eine Anforderung an den Slave und der Slave antwortet darauf. In einem Standardmodbus-Netzwerk gibt es einen Host und bis zu 247 Slaves (wenn Sie jedoch eine 2 - Byte-Adressierung verwenden, können Sie diese Grenze deutlich erhöhen).
Mit Hilfe von RS485 erfolgt die Kommunikation zwischen dem Master-Slave in einem Frame, der den Funktionscode angibt. Dieser Funktionscode identifiziert die Funktionen, die ausgeführt werden sollen, z. B. das Lesen von eigenständigen Eingängen, das Lesen von First-in - First-out - Warteschlangen oder die Ausführung von Diagnosefunktionen. Der Slave antwortet dann auf der Grundlage des empfangenen Funktionscodes, eine einfache Antwort, die durch eine Reihe von Bytes angegeben wird. So kann ein Slave ein intelligentes Gerät sein oder ein einfaches Gerät mit nur einem Sensor.
Aus dieser Beschreibung können Sie sehen, dass das Modbus-Protokoll sehr einfach ist, aber seine Offenheit als Protokoll macht es zu einem tatsächlichen Kommunikationsprotokoll für die gesamte Industrie oder SCADA-Systeme.
Nachrichtenübertragung der Fernmessung
MQTT ist ein offenes, leichtes Maschine-zu - Maschine-Protokoll, das speziell für die Interaktion im Internet der Dinge konzipiert wurde. Das MQTT-Netzwerk enthält einen MQTT-Broker, der die Interaktion zwischen den MQTT-Agents koordiniert. Der Agent ist ein Publisher, der für die Veröffentlichung von Informationen für den Benutzer verantwortlich ist (siehe unten).
Einflussfaktoren in der Nachrichtenwarteschlange Telemetrie Übertragungsnetzwerk

MQTT hat sehr wenige Anforderungen, da es für eingebettete Geräte mit begrenzten Ressourcen entwickelt wurde. Neben der geringen Flächenauslastung bietet MQTT eine hervorragende Kommunikationseffizienz (auch über Netzwerke mit geringer Bandbreite) und sehr geringe Overhead (im Vergleich zu Protokollen wie HTTP). Selbst in 3G-Netzwerken ist die Durchsatzgeschwindigkeit von MQTT 93 - mal höher als bei HTTP (REST) und die Steigerung bei 5G / 4G wird noch größer sein.
MQTT kann mit minimalen Methoden angeben, welche Aktionen auf einem bestimmten Thema ausgeführt werden sollen, und somit ein Veröffentlichungs - / Abonnements-Modell implementieren. Der Agent verbindet sich zuerst mit dem Broker, bevor er Themen veröffentlicht oder abonniert. Nach Abschluss wird der Agent die Verbindung vom Broker trennen. MQTT-Methode - Definition:
Verbindungen - Herstellen einer Verbindung mit einem MQTT-Broker.
Trennen - Trennen Sie die Verbindung mit dem MQTT-Broker.
Veröffentlicht - Veröffentlicht Themen auf dem MQTT-Broker.
Abonnieren - Abonnieren Sie Themen vom MQTT-Broker.
Abmeldung - Abmeldung von Themen vom MQTT-Broker.
Wie auch in der folgenden Abbildung gezeigt, zeigt die folgende Abbildung eine einfache Interaktion zwischen Herausgebern und Abonnenten mit dem MQTT-Broker. Wie in der Abbildung gezeigt, ist der Produzent mit dem MQTT-Broker verbunden. Ebenso ist der Informationsverbraucher (Consumer) mit dem MQTT-Broker verbunden. Verbraucher-Abonnements - Themen (hier definiert als / home / alarms / 1 / status). In diesem Beispiel-Themen werden Änderungen des Zustands des Alarmsystems für die Region 1 auf der Startseite erkannt. Wenn der Ersteller Informationen zum Teilen hat, sendet er eine Nachricht an den Broker, der die Informationen dann an alle Benutzer teilt, die das Thema abonnieren.
Einfache Interaktion zwischen Nachrichten-Warteschlangen - Telemetrie-Transport - Agenten

Bitte beachten Sie die hier geteilte Themenstruktur. Es ähnelt der Hierarchie des Dateisystems, was die Struktur des Themas vereinfacht. Diese Form der Ressourcenhierarchie wird auch in Protokollarchitekturen wie REST häufig gefunden.
MQTT ermöglicht sogar die Verwendung in Form von Wildcards, um den Abonnementprozess zu vereinfachen. Wenn Benutzer den Status aller Alarme erhalten möchten, können Sie direkt /home/alarms/+/status abonnieren, das den Benutzer über alle Änderungen des Alarmstatus informiert. Der gesamte Unterbaum kann auch unter dem Thema / home / # abonniert werden, das alle Ereignisse unter / home abonniert.
Servicequalität
MQTT ermöglicht die Definition der Servicequalität (QoS). MQTT gibt es drei Qualitätsstufen:
1 und QoS0. Diese Klasse bedeutet „maximal einmal" Lieferung (Best Condition). Die Nachricht wird nicht bestätigt, daher ist es ein ein für alle Mal Methode.
2 und QoS1. Diese Klasse bedeutet, dass "mindestens einmal" geliefert wird. Der Benutzer kann die Nachricht mehr als einmal erhalten, aber die Person, die sie empfängt, darf sie bestätigen, dass sie erhalten hat.
und QoS2. Die langsamste, aber sicherste Servicequalität ist die Stufe 2. QoS2 steht für „Once Only" und beinhaltet vier Phasen von Handshakes. Diese Klasse ist die langsamste, aber die sicherste.
Die von Ihnen gewählte QoS-Klasse hängt von der Wichtigkeit der Daten und ihrer Bereitstellung ab.
Antwort veröffentlichen