In einer praktischen industriellen Anwendung ist MQTT keine alternative zum OPC-UA. Das ursprüngliche Ziel von OPC war es in den 90er Jahren, einen Standard-Kommunikationsmechanismus und ein Datenmodell bereitzustellen, die eine Interoperabilität zwischen Clients und Servern, die die Spezifikation implementiert haben, bereitstellen würden. OPC-UA erweitert und verallgemeinert das Datenmodell und die Kommunikation, ohne dieses Kernziel aufzugeben. Dazu muss der Standard Dinge wie das Format eines Zeitstempels, die Codierung von Datentypen, historische Werte, Alarme usw. angeben.
MQTT ist eine Nachrichtentransportschicht, die keine Interoperabilität durch Design bietet. Es legt nicht das Format der Nutzlast fest, spezifiziert nicht, wie ein bestimmter Datentyp, Zeitstempel, Wert, Hierarchie oder irgendetwas anderes übertragen wird, das es einer Anwendung erlauben würde, die übertragenen Daten zu verstehen. Sie können einen gültigen MQTT-Server erstellen, der XML-, JSON- oder benutzerdefinierte formatierte Daten ausgibt, die als Klartext, verschlüsselt, Base-64-kodiert oder in beliebiger anderer Form vorliegen. Eine Client-Anwendung kann nur dann mit Ihrem Server interagieren, wenn Sie im Voraus wissen, welches Datenformat der Server erstellt und akzeptiert.
OPC-UA hat kürzlich einen Publish/Subscribe-Mechanismus eingeführt, um die Bandbreitennutzung zu verbessern und so den Kommunikationsbandbreitenvorteil zu reduzieren, den MQTT derzeit bietet. Gleichzeitig muss die MQTT-Spezifikation wachsen, um Datenformate zu spezifizieren, um die Interoperabilität zu fördern. Erwarten Sie eine Konvergenz der Funktionalität zwischen MQTT und OPC-UA. Meistens wächst MQTT, um OPC-UA zu erfüllen.
MQTT ist im Moment eine viel einfachere Implementierung, die Vorteile für eingebettete und ressourcenbeschränkte Systeme bietet. Die Hinzufügung einer Datenmodellierungsspezifikation würde diesen Vorteil verringern.
Die Quintessenz ist, dass OPC-UA für Interoperabilität und MQTT für einfache benutzerdefinierte Kommunikation ist. MQTT muss wachsen, bevor es eine Alternative zu OPC-UA sein kann.
@NZFarmer MQTT scheint mir als Alternative zu OPC/OPC-UA in der Tat sehr vielversprechend. Behandelt MQTT jedoch die Informationsmodellierung? Wenn ja, wie? – cid
@cid MQTT ist im Kern ein Pub/Sub-Framework. Schlagen Sie vor, dass Sie die Spezifikation überprüfen. –
@NZFarmer Ja, es funktioniert in einer Pub/Sub-Architektur, die in Ordnung ist. Dies beantwortet die Frage _How_. Wie wäre es mit der Frage _Was_? Ich meine, eine der größten Stärken von OPC/OPC-UA ist, dass es eine Präsentation/Modellierung für die Daten definiert. h. diese Art von Daten wird einen Feldwert, einen Feldzeitstempel, eine Feldeinheit usw. haben. Wie wäre es mit MQTT? Definiert es das? – cid