MQT Sparkplug bietet eine offene und frei verfügbare Spezifikation, wie
Edge of Network (EoN) Gateways oder native MQTT
aktivierte Endgeräte und MQTT Applications kommunizieren bidirektional
innerhalb einer MQTT-Infrastruktur. Einer der einzigartigen AspekteMQTT Protokolles war ursprünglich
mit einer Leistung von mehr als 20 kW
für Echtzeit SCADA
Systeme
zu helfen, die Datenlatenz über Bandbreite begrenzt und oft unzuverlässig Netzwerkinfrastruktur zu reduzieren.
In ähnlicher Weise ist die Absicht der Sparkplug-Spezifikation, die Vorteile von MQTTs Mutterschaft zu nutzen
Kontinuierliche Session Awareness-Fähigkeit, wie es für Echtzeit SCADA/IIoT Lösungen gilt.
Dieser Artikel hilft Ihnen, die Sparkplug B Kodierung im IoT Simulator zu simulieren. Es ist entscheidend, über dieMQT Sparkplug Topic Namespace ElementsundSparkplug MQTT Das ist ein Problem.zur Simulation der Daten.
Sparkplug MQTT Themen und Nachrichten
Sparkplug Topic Namespace Elements:
Alle Clients, die die Sparkplug-Spezifikation verwenden, verwenden diesen standardmäßigen UTF-8 Format Thema Namespace.
Namespace:Es ist das Wurzelelement, das sowohl die Struktur der
die
restliche Namespace-Elemente sowie die Codierung
für die zugehörigen Nutzdaten verwendet.
Format für Namespace istUTF-8 String Konstantesollte verwendet werden. In ähnlicher Weise
Strom
Sparkplug-Spezifikation definiert zwei Namespaces:
Sparkplug Payload Definition A
Namespace-Element sollte‚spAv1.0‘
Sparkplug Payload Definition B.
Namespace-Element sollte‚spBv1.0‘
Gruppe_id:Dies bietet eine einzigartige logische Gruppen-ID von MQTT EoN-Knoten. Für
group_id das Format sollte
UTF-8 alphanumerische Zeichenfolge mit Ausnahme der reservierten Zeichen von „+“ (plus), „/“ (forward slash) und
„#“
(Zahlenzeichen).
Beispiele dafür, wo das [group_id] verwendet werden könnte, sind die Zementindustrie, in der MQTT EoN-Knoten auf verschiedenen
haben
die unterschiedliche [group_id].
Passwort vergessen?Es gibt die Anzeige, wie man die
MQT
Nutzlast der Nachricht.
Für den Sparkplug Topic Namespace sind folgende Message_type-Elemente definiert:
NBIRTH– Geburtsurkunde für MQTT EoN-Knoten.
NTEAT– Todesfallanzeige für MQTT EoN-Knoten.
DBIRTH– Geburtsurkunde für Geräte.
DTEATH– Todesfallanzeige für Geräte.
NDATA– Keine Datennachricht.
DATEN– Gerätedatennachricht.
NCMD- Keine Befehlsnachricht.
DCMD– Befehlsnachricht für Geräte.
STAAT– Critical Application State Message.
englisch:Unquie Identifikation für die MQTT EoN-Knoten innerhalb der
Infrastruktur.
Für edge_node_id sollte das Format UTF-8 alphanumerische Zeichenfolge sein, mit Ausnahme der reservierten Zeichen von
„+“
(plus), „/“ (vorwärts geschlagen)
und „#“ (Nummernschild).
Die edge_node_id fährt mit jeder veröffentlichten Nachricht, so dass es so kurz wie möglich sein sollte
Benachrichtigung:Unquie ID, die das Gerät an der
MQT
EoN Knoten. device_id ist ein optionales Element
da einige Meldungen entweder mit Ursprung oder zum Edge_node_id bestimmt werden, an diesem Ort Gerät_ id
würde nicht
erforderlich. Das Format der device_id ist ein gültiger UTF-8 alphanumerischer String mit Ausnahme des reservierten
Zeichen von „+“ (plus),
„/“ (Forward Slash) und „#“ (Nummernschild). Das device_id fährt mit jeder veröffentlichten Nachricht, so dass es
sollte
als kurz
wie möglich.
Simulieren von Sparkplug MQTT Device & Network
MQTT herunterladen Simulatorund es ist ein Simulationstool, das Anwendern hilft, den MQTT/IoT zu testen und zu entwickeln
Anwendungen.
Zur Installation und Einrichtung von Bevywise IoT Simulator finden Sie unsereHilfeundVideo-Tutorial.
In neuem Netzwerk erstellen Sie drei MQTT EoN-Knoten überMQTT Gerät
Leben und Leben:
spBv1.0, Node2, Node3.
Sparkplug MQTT Nachrichtentypen
Sparkplug definiert den Thema Namespace für Satz von MQTT-Nachrichten, die verwendet werden, um den Verbindungszustand zu verwalten
wie
sowie bidirektional
metrischer Informationsaustausch, der für viele typische Echtzeit-SCADA/IIoT, Überwachung und Daten gelten würde
Nutzung des Systems
Fälle. Die definierten Nachrichtentypen umfassen:
NBIRTH– Geburtsurkunde für MQTT EoN-Knoten.
NTEAT– Todesfallanzeige für MQTT EoN-Knoten.
DBIRTH– Geburtsurkunde für Geräte.
DTEATH– Todesfallanzeige für Geräte.
NDATA– Keine Datennachricht.
DATEN– Gerätedatennachricht.
NCMD- Keine Befehlsnachricht.
DCMD– Befehlsnachricht für Geräte.
STAAT– Critical Application State Message.
Vorteil Verwendung dieser Nachrichten:
Mit diesen definierten Nachrichten kann die SCADA/IIOT Anwendung:
Entdecken Sie zunächst alle Metadaten und überwachen Zustand jedes EoN/Gerätes, das mit dem MQTT verbunden ist
Infrastruktur.
Entdecken Sie dann alle Metriken, die alle Diagnosen, Eigenschaften, Metadaten und aktuellen Zustand enthalten
Werte.
Schreib-/Befehlsnachrichten an jede EoN/Gerät-Metriktik ausgeben.
Sparkplug erstellen MQT Nachrichtentypen im IoT-Simulator
MQTT EoN NBIRTH und NDeath Certificate:Die erste MQTT-Nachricht, die ein EoN
Knotenpunkt
MUSS veröffentlichen
Die Einrichtung einer MQTT-Sitzung ist ein EoN-BIRTH-Zertifikat.
Sobald ein MQTT EoN-Knoten mit einer richtigen NBIRTH online ist, wird die NDATA veröffentlicht.
Dies ermöglicht die Vorteile der nativen Continuous Session Awareness von MQTT, um die
STAAT
alle angeschlossenen MQTT EoN-Knoten und auf Report by Exception (RBE)-Nachrichten für
metrische Zustandsänderungen über die MQTT-Sitzungsverbindung.
Die Nutzlast von NDATA-Nachrichten enthält jede RBE oder Zeit basiert
metrische EoN-Knotenwerte, die einer Anmeldung gemeldet werden müssenMQTT Kunden.
Klicken Sie auf das +-Symbol und wählen SieVerhalten
Geben Sie das Kommandothema als„NBIRTH Thema Namespace“und Befehl„NBIRTH“.
Geben Sie anschließend den Namensbereich des NDATA-Themens in Event und geben Sie Ereignisdaten als aktuelle Zeit und klicken Sie auf Speichern.
SpBv1.0/Kiln/NDATA/1
Nun wird NDATA beim Abonnenten veröffentlicht, sobald sie den NDATA-Themennamenraum abonnieren.
Geräte-Geborenzertifikat[DBRITH]
Der MQTT EoN-Knoten ist für die Verwaltung aller angeschlossenen physikalischen und/oder logischen Geräte verantwortlich.
Sobald der EoN-Knoten seine NBIRTH veröffentlicht hat, stellt die Kunden-Anwendung sicher, dass EoN Node ONLINE ist
Aber jedes physikalische und/oder logische Gerät, das mit diesem Knoten verbunden ist, muss noch diese bereitstellen
DBIRTH
vor
Verbraucheranwendungen erstellen/aktualisieren die metrische Struktur (wenn dies das erste Mal ist, dass dieses Gerät
werdest ausgeschüttet haben
gesehen)
und alle zugehörigen Metriken in der Anwendung auf eine‚GOOD‘Zustand.
Erstellung der DBRITH:[namespace/group_id/DBIRTH/edge_node_id]
Klicken Sie auf spBv1.0 und
Klicken Sie auf das +-Symbol und wählen SieVerhalten
Geben Sie dazu das Kommandothema „NBIRTH-Themennamespace“ und den Befehl „NBIRTH“.
Geben Sie anschließend den DBIRTH-Themennamenraum in Event und geben Sie Eventdaten als DBIRTH und klicken Sie auf Speichern.
SpBv1.0/Kiln/DBIRTH/1
Nun wird DBIRTH beim Abonnenten veröffentlicht, sobald sie den DBIRTH-Themennamenraum abonnieren.
Gerätedaten-Nachrichten (DDATA):
Sobald ein MQTT EoN-Knoten und zugehörige Geräte alle online mit richtigen Geburtsurkunden sind, ist es
in einem Modus
von Quiescent
Bericht von Ausnahme (RBE) über jede Änderung der Metrik.
Es nutzt die Möglichkeit, die STATE aller angeschlossenen Geräte zu überwachen und kann sich auf Report by
Ausnahme (RBE)
Nachrichten für
jede Metrikwertänderung über die MQTT-Sitzungsverbindung.
Klicken Sie auf Ereignis mit “Specific Duration” für 20 min Dauer mit 10 sec Intervall.
In diesem Zusammenhang das Thema als
SpBv1.0/kiln/DDATA/1/LSM213
Wählen Sie QoS als 1 und behalten Sie 1
Geben Sie Random-Nachricht als “ON|OFF” und klicken Sie auf Speichern.
Geräte-Todeszertifikat[DDEATH]
Wenn das Gerät aus irgendeinem Grund nicht verfügbar wird
(keine Antwort, CRC-Fehler usw.) ist es die Aufgabe des EoN-Knotens, eine DDEATH im Auftrag zu veröffentlichen.
von
Endeinrichtung.
Sobald das DDEATH-Zertifikat veröffentlicht wurde, abonnierte jeder MQTT-Client diese
Gerät sollte die Datenqualität aller Metriken auf„STALE“.
Klicken Sie auf das +-Symbol und wählen SieVerhalten
Geben Sie dazu das Kommandothema als „DDATA-Themennamespace“ und Befehl „OFF“.
Geben Sie anschließend den DBIRTH-Themennamenraum in Event und geben Sie Eventdaten als DDEATH und klicken Sie auf Speichern.
SpBv1.0/Kiln/DDEATH/1
Nun wird DDEATH beim Abonnenten veröffentlicht, sobald sie den DBIRTH-Themennamenraum basierend auf dem
DDATA.
SCADA/IIoT Host Geburt und Tod Zertifikate
Der SCADA/IIoT Host Node ist jede MQTT Client-Anwendung, die Nachrichten abonniert und veröffentlicht.
In einer Infrastruktur bieten mulitple MQTT Server Redundanz und Skalierbarkeit, für das MQTT EoN
Knoten
muss bewusst sein
von‚State‘der primären SCADA/IIoT Host-Anwendung(en).
Der „Zustand“ kann durch den einzigartigen Satz von Birth/Death-Zertifikaten, die der SCADA/IIoT Host
MQT
Client MUST
veröffentlichen, wenn eine neue MQTT-Sitzung eingerichtet wird.
Topic namespace for SCADA/IIOT Host :STATE/Scada_host_id
Es verwendet einen Aspekt des MQTT-Transports namens a‚RETAINE‘veröffentlichen
den aktuellen Zustand des Primars beibehalten
Host MQTT Client Session Zustand für alle verfügbarenMQTT Server.
Das Format der scada_host_id kann gültig sein String mit Ausnahme der reservierten Zeichen von
„+“
(plus)
„/“ (Forward Slash) und „#“ (Nummernschild).
Erstellung von SCADA/IIoT Birth Certificate Payload (STATE):
Klicken Sie auf SCADA/IIOT und
Erstellen Sie Veranstaltungen mit der Konfiguration „On Connect“.
In diesem Beitrag als SCADA/IIOT Host Thema Namespace/scada_host_id]:
STAAT/SCADABIRTH
Set WILL Flagge als “1” und QoS als “1” halten
Wählen Sie den Nachrichtentyp als „Text“ und Variante als „Constant“.
Payload oder Nachricht als„ONLINE“.
SCADA/IIoT Host Death Certificate Payload (STATE):
Wenn der SCADA/IIoT Host MQTT-Client eine MQTT-Sitzung auf den MQTT Server(s) erstellt,
die Todesurkunde wird Teil derWill TopicundDas ist nicht möglich.in der
MQTT CONNECT Transaktion.
Das Thema Will sollte sein:STATE/Scada_host_id
Erstellung von SCADA/IIoT DEATHZertifikat Payload (STATE):
Klicken Sie auf SCADA/IIOT und
Klicken Sie auf die Schaltfläche Schalter direktWILL
In diesem Beitrag als :STAAT/SCADADEATH
Nachricht oder Payload als„OFFLINE“
Set WILL Flagge als “1” und QoS als “1” halten
MQTT EoN Node Command (NCMD)
Das NCMD-Befehlsthema liefert den Topic Namespace, der verwendet wird, um Befehle an jedes angeschlossene EoN zu senden
Knoten.
Dies bedeutet, dass ein aktualisierter Metrikwert auf eine zugehörige Metrik übertragen wird, die in der NBIRTH-Metrik enthalten ist
Liste.
Wählen Sie den Nachrichtentyp als JSON und klicken Sie auf + Taste.
In diesem Fügen Sie NBIRTH metrisch wie:
ONLINE_STATE und ONLINE TIME.
Geben Sie den Schlüssel als ONLINE_STATE, wählen Sie “constant”, geben Sie Wert als TRUE und klicken Sie auf ADD
Nächster Klick + Taste und
Geben Sie Schlüssel als ONLINE_TIME, wählen Sie “Systemvariable” und wählen Sie “$Current_time aus der Liste
klicken Sie auf ADD und speichern Sie den JSON.
Sobald die DBIRTH aufgetreten ist, veröffentlichen Sie die DCMD, indem Sie auf das Aktionssymbol klicken
auf der linken Seite wird nun der NCMD Befehle an angeschlossene EoN-Knoten senden.
Der Nächsteabonnierendas DCMD-Thema in SCADA/IIOT, um die Update Metrik von spBv1.0 zu erhalten.
Dies sind die Sparkplug-Set von MQTT Message Types, die zur Verwaltung des Verbindungszustands verwendet werden.
Nächste)
Der Bevywise IoT Simulatorbis
eingebautMQTT Brokeroder anschließen
andere MQTTBroker
um die Spatkplug Simulation zu starten. Ebenso erstellen Sie Sparkplug Nachrichtentyp für andere Nodes.
Spezifikationen von MQTT Sparkplug
Derzeit gibt es zwei Sparkplug definierte Codiersysteme, die diese Spezifikation unterstützt.
Erstens:Sparkplug A
KodierungRegelung
basierend auf der sehr beliebten Kura Open Source Google Protocol Buffer Definition.
Zweitens:Sparkplug B
KodierungSystem, das ein reicheres Datenmodell bietet, das mit dem Feedback vieler Systemintegratoren entwickelt wurde und das Ende
Benutzer
Kunden mit MQTT.
Erhalten Sie Ihre Umwelt validiert
Daten mit keinem Code generieren
vereinfacht die Simulation der EoN Node und Geräte mit einer einfachen Benutzeroberfläche