Der Schlüssel zur Technologie des Internets der Dinge (IoT) ist die Kommunikation, und verschiedene Protokolle spielen eine wichtige Rolle bei der Verbindung der großen Anzahl von "Dingen" mit dem Internet. In diesem Artikel werden zwei sich ergänzende IoT-Protokolle vorgestellt: Message Queuing Telemetry Transport (MQTT), ein skalierbares Internetprotokoll, das die globale Kommunikation im IoT unterstützt, und Modbus, ein lokales Protokoll für Geräteverbindungen über kurze Entfernungen, und vermittelt Ihnen ein detailliertes Verständnis der Unterschiede zwischen ihnen.
MQTT-Protokoll
MQTT ist ein offenes, leichtgewichtiges Machine-to-Machine-Protokoll, das für IoT-Interaktionen entwickelt wurde. Das MQTT-Netzwerk enthält einen MQTT-Broker, der für die Koordinierung der Interaktionen zwischen MQTT-Brokern zuständig ist. Agenten sind Herausgeber, die für die Veröffentlichung von Informationen zur Verwendung durch Benutzer zuständig sind.
MQTT stellt nur sehr geringe Anforderungen, da es für eingebettete Geräte mit begrenzten Ressourcen konzipiert ist. Zusätzlich zu seinem geringen Platzbedarf bietet MQTT eine hervorragende Kommunikationseffizienz (selbst über Netze mit geringer Bandbreite) und einen sehr geringen Overhead (im Vergleich zu Protokollen wie HTTP). In 3G-Netzen ist die Durchsatzgeschwindigkeit von MQTT 93 Mal höher als die des Representational State Transfer (REST) über HTTP.
MQTT implementiert ein Publish/Subscribe-Muster, indem es minimale Methoden verwendet, um die für ein bestimmtes Thema auszuführenden Operationen anzugeben. Agenten stellen eine Verbindung zu Brokern her, bevor sie Themen veröffentlichen oder abonniert werden. Sobald der Vorgang abgeschlossen ist, trennt der Agent die Verbindung mit dem Broker. MQTT-Methoden-Definition:
- Connect - Stellt eine Verbindung zum MQTT-Broker her.
- Disconnect - Trennen Sie die Verbindung zum MQTT-Broker.
- Veröffentlichen - Veröffentlichen eines Themas auf dem MQTT-Broker.
- Abonnieren - Abonnieren eines Topics von einem MQTT-Broker.
- Abbestellen - Abbestellen des Themas auf dem MQTT-Broker.
MQTT ermöglicht die Definition der Dienstgüte (QoS). Es gibt drei QoS-Ebenen in MQTT:
QoS 0: Diese Stufe steht für eine "höchstens einmalige" Zustellung (Best-Case-Szenario). Die Nachricht wird nicht bestätigt, es handelt sich also um einen einmaligen Vorgang.
QoS 1: Diese Stufe bedeutet "mindestens einmalige" Zustellung. Benutzer können Nachrichten mehr als einmal erhalten, aber der Empfänger darf den Empfang bestätigen.
QoS 2: Die langsamste, aber am meisten garantierte Dienstgüte ist die Stufe 2. QoS2 steht für "just once" (nur einmal) und besteht aus einem vierphasigen Übergabe-Handshake. Diese Stufe ist die langsamste, aber auch die sicherste.
Die von Ihnen gewählte QoS-Stufe hängt von der Bedeutung der Daten und ihrer Übertragung ab.
Modbus-Protokoll
Modbus ist ein serielles Kommunikationsprotokoll, das sich zu einer umfassenden Reihe von Protokollen entwickelt hat, die mehrere physikalische Verbindungen (wie RS-485) unterstützen. Der Kern von Modbus ist ein serielles Kommunikationsprotokoll mit Master-Slave-Modus. Der Master sendet eine Anfrage an den Slave, und der Slave antwortet. In einem standardmäßigen Modbus-Netzwerk gibt es einen Master und bis zu 247 Slaves (bei Verwendung der 2-Byte-Adressierung kann diese Grenze jedoch deutlich erhöht werden).
MQTT Bei RS-485 erfolgt die Kommunikation zwischen Master und Slave in Frames, die Funktionscodes angeben. Dieser Funktionscode identifiziert die zu bedienende Funktion, wie z. B. das Lesen eines unabhängigen Eingangs, das Lesen einer First-in-first-out-Warteschlange oder die Ausführung einer Diagnosefunktion. Der Slave antwortet dann auf der Grundlage des empfangenen Funktionscodes, der eine einfache Antwort ist, die durch eine Reihe von Bytes angegeben wird. Daher können Slaves intelligente Geräte oder einfache Geräte mit nur einem Sensor sein.
Aus dieser Beschreibung können Sie ersehen, dass das Modbus-Protokoll sehr einfach ist, aber seine Offenheit als Protokoll macht es zum De-facto-Kommunikationsprotokoll für ganze Branchen oder SCADA-Systeme.
MQTT und Modbus können sich gegenseitig ergänzen, um die Leistung des Internets der Dinge zu verbessern. Die Verwendung von Modbus als lokale Schnittstelle zur Verwaltung von Geräten und die Verwendung von MQTT als globales Protokoll zur Erweiterung der Reichweite des Geräts spielen beide eine wichtige Rolle.