MQTT Simulación de datos Sparkplug con IoT Simulator
por Ponlakshmi
MQTT Sparkplug proporciona una especificación abierta y libremente disponible para cómo
Edge of Network (EoN) gateways or native MQTT
dispositivos finales habilitados y aplicaciones MQTT comunican bidireccionalmente
dentro de una infraestructura MQTT. Uno de los aspectos únicosProtocolo MQTTes que fue originalmente
diseñado
para tiempo realSCADAsistemas
ayudar a reducir la latencia de datos sobre la infraestructura de red limitada y a menudo poco fiable.
Del mismo modo, la intención de la especificación de Sparkplug es aprovechar plenamente el nativo de MQTT
Capacidad de conciencia de sesión continua como se aplica a soluciones SCADA/IIoT en tiempo real.
Este artículo le ayuda a simular la codificación Sparkplug B en IoT Simulator. Es crucial aprender sobre elMQTT Sparkplug Elementos del espacio de nombresySparkplug MQTT Tipos de mensajepara simular los datos.
Sparkplug MQTT Temas y mensajes
Elementos del espacio de nombres temático Sparkplug:
Todos los clientes que usen la especificación Sparkplug utilizarán este espacio de nombres de formato UTF-8 predeterminado.
namespace:Es el elemento raíz que definirá tanto la estructura
el
elementos del espacio de nombres restantes, así como la codificación
utilizado para los datos de carga útil asociados.
Formato para namespace esconstante de cadena UTF-8debería usarse. Del mismo modo
corriente
La especificación de Sparkplug define dos espacios de nombres:
Definición de la carga útil Sparkplug A
elemento namespace debe ser“spAv1.0”
Definición de la carga útil Sparkplug B
elemento namespace debe ser“spBv1.0”
group_id:Esto proporciona un ID de grupo lógico único de los nodos MQTT EoN. Para
group_id el formato debe ser
UTF-8 cadena alfanumérica, excepto para los caracteres reservados de ‘+’ (plus), ‘/’ (forward slash), y
'#
(número signo).
Ejemplos de dónde se podría utilizar el [group_id] incluyen la industria del cemento donde los nodos MQTT EoN en diferentes
Departamento
los diferentes [group_id].
message_type Elemento:Proporciona la indicación de cómo manejar el
MQTT
carga del mensaje.
Los siguientes elementos de mensaje_tipo se definen para el espacio de nombre del tema Sparkplug:
NBIRTH– Certificado de nacimiento para los nodos MQTT EoN.
NDEATH– Certificado de defunción para los nodos MQTT EoN.
DBIRTH– Certificado de nacimiento para dispositivos.
DDEATH– Certificado de defunción para Dispositivos.
NDATA– Mensaje de datos de nodos.
DDATA– Mensaje de datos del dispositivo.
NCMD– Mensaje de comando Node.
DCMD– Mensaje de comando del dispositivo.
ESTADO– Mensaje crítico del estado de aplicación.
edge_node_id:Identificación inquie para los nodos MQTT EoN dentro de los
infraestructura.
Para edge_node_id el formato debe ser cadena alfanumérica UTF-8, excepto para los caracteres reservados de
‘+’
(plus), ‘/’ (de frente),
y "#" (número signo).
El edge_node_id viaja con cada mensaje publicado, por lo que debe ser lo más corto posible
device_id:Unquie ID que utilizó para identificar el dispositivo conectado al
MQTT
Nodo EoN. device_id es un elemento opcional
ya que algunos mensajes serán originarios o destinados al edge_node_id, en ese lugar dispositivo_ id
no sería
requerido. El formato del dispositivo_id es un anillo alfanumérico válido UTF-8 excepto para el reservado
caracteres de ‘+’ (plus),
‘/’ (de frente), y ‘#’ (número signo). El dispositivo_id viaja con cada mensaje publicado, por lo que
debería
ser tan corto
como sea posible.
Simulate Sparkplug MQTT Device & Network
Descargar MQTT Simuladory es una herramienta de simulación que ayuda a los usuarios a probar y desarrollar el MQTT/IoT
Aplicaciones.
Para la instalación y configuración de Bevywise IoT Simulator, consulte nuestroayuda docSí.video tutorial.
En nueva red, crear tres nodos MQTT EoN a través deDispositivo MQTT
Creación:
spBv1.0, Nodo2, Nodo3.
Sparkplug MQTT Tipos de mensaje
Sparkplug define el espacio de nombres temático para el conjunto de mensajes MQTT que se utilizan para gestionar el estado de conexión
como
y bidireccional
intercambio de información métrica que se aplicaría a muchos SCADA/IIoT en tiempo real típico, monitoreo y datos
uso del sistema de recogida
casos. Los tipos de mensajes definidos incluyen:
NBIRTH– Certificado de nacimiento para los nodos MQTT EoN.
NDEATH– Certificado de defunción para los nodos MQTT EoN.
DBIRTH– Certificado de nacimiento para dispositivos.
DDEATH– Certificado de defunción para Dispositivos.
NDATA– Mensaje de datos de nodos.
DDATA– Mensaje de datos del dispositivo.
NCMD– Mensaje de comando Node.
DCMD– Mensaje de comando del dispositivo.
ESTADO– Mensaje crítico del estado de aplicación.
Ventajas de usar estos mensajes definidos:
Utilizando estos mensajes definidos la aplicación SCADA/IIOT puede:
Descubrir inicialmente todos los metadatos y monitorizar el estado de cualquier EoN/Device conectado al MQTT
infraestructura.
Descubre todas las métricas que incluyen todos los diagnósticos, propiedades, metadatos y estado actual
valores.
Emitir mensajes de escritura/comandancia a cualquier métrica EoN/Device.
Creando Sparkplug MQTT Tipos de mensaje en IoT Simulator
MQTT EoN NBIRTH y NDeath Certificado:El primer mensaje de MQTT que un EoN
nodos
DEBE publicar sobre el éxito
El establecimiento de una sesión MQTT es un certificado EoN BIRTH.
Una vez que un nodo MQTT EoN esté en línea con un NBIRTH adecuado, el NDATA se publicará.
Esto permite las ventajas de la conciencia de sesión continua nativa de MQTT para monitorear
ESTADO
todos los nodos MQTT EoN conectados y confiar en Report by Excepción (RBE) mensajes para
cambios de estado métricos sobre la conexión de sesión del MQTT.
La carga útil de los mensajes NDATA contendrá cualquier RBE o tiempo basado
valores métricos de los nodos EoN que necesitan ser reportados a cualquier subscripciónMQTT clientes.
Creación de NDATA:[namespace/group_id/NDATA/edge_node_id]
En eso, dar el tema de comando como“NBIRTH topic namespace”y comando“NBIRTH”.
A continuación, da el espacio de nombres de tema NDATA en Event y da datos de evento como tiempo actual y haga clic en guardar.
spBv1.0/Kiln/NDATA/1
Ahora NDATA se publicará para suscriptor una vez que se suscriban el espacio de nombres de tema NDATA.
Certificado de nacimiento del dispositivo [DBRITH]
El nodo MQTT EoN es responsable de la gestión de todos los dispositivos físicos y/o lógicos adjuntos.
Una vez que el nodo EoN ha publicado su NBIRTH, la aplicación de los clientes asegura que EoN Node es ONLINE
Pero cada dispositivo físico y/o lógico conectado a este nodo todavía necesita proporcionar este
DBIRTH
antes
las aplicaciones de consumo crean/actualizan la estructura métrica (si es la primera vez que este dispositivo tiene
han sido
visto)
y establecer cualquier métrica asociada en la aplicación a“GOOD”estado.
Creación del DBRITH:[namespace/group_id/DBIRTH/edge_node_id]
En eso, dar tema de comando como “NBIRTH tema namespace” y comando “NBIRTH”.
A continuación, da el espacio de nombres de tema DBIRTH en Event y da datos de evento como DBIRTH y haga clic en guardar.
spBv1.0/Kiln/DBIRTH/1
Ahora DBIRTH se publicará a suscriptor una vez que se suscriba el espacio de nombres de tema DBIRTH.
Mensajes de datos del dispositivo (DDATA):
Una vez que un nodo MQTT EoN y dispositivos asociados están todos en línea con certificados de nacimiento adecuados es
en un modo
de quiescencia
Report by Excepción (RBE) reporting of any métrica that changes.
Aprovecha para monitorear el STATE de todos los dispositivos conectados y puede confiar en Report by
Excepción (RBE)
mensajes para
cualquier cambio de valor métrico sobre la conexión de sesión del MQTT.
Creación de DATOS:[namespace/group_id/DDATA/edge_node_id/device_id]
Click spBv1.0 y
Haga clic en el evento con “Duración Específica” durante 20 min de duración con intervalo de 10 segundos.
En eso se da el tema como
spBv1.0/kiln/DDATA/1/LSM213
Seleccione QoS como 1 y conservar como 1
Dar el mensaje aleatorio como “ON TOTENOFF” y haga clic en guardar.
Device Death Certificate [DDEATH]
Si el dispositivo se vuelve indisponible por cualquier motivo
(sin respuesta, error de CRC, etc.) es responsabilidad del nodo EoN publicar un DDEATH en nombre
de la
Dispositivo final.
Una vez publicado el certificado DDEATH, cualquier cliente MQTT se suscribió a esto
dispositivo debe establecer la calidad de los datos de todas las métricas“STALE”.
En eso, dar tema de comando como “DDDATA tema namespace” y comando “OFF”.
A continuación, da el espacio de nombres de tema DBIRTH en Event y da datos de evento como DDEATH y haga clic en guardar.
spBv1.0/Kiln/DDEATH/1
Ahora DDEATH se publicará a suscriptor una vez que se suscriba el espacio de nombres de tema DBIRTH basado en el
DATOS.
SCADA/IIoT Certificados de Nacimiento y Muerte
El SCADA/IIoT Host Node es cualquier aplicación MQTT Client que se suscribe y publica mensajes.
En una infraestructura, los servidores MQTT mulitple proporcionan redundancia y escalabilidad, para ese MQTT EoN
nodos
necesita ser consciente
de la“estado”de las principales aplicaciones SCADA/IIoT Host.
El “estado” puede ser aquejado por el conjunto único de certificados de nacimiento/muerte que el SCADA/IIoT Host
MQTT
Cliente
publicar cuando se establezca una nueva sesión del MQTT.
Espacio de nombres para SCADA/IIOT Host :STATE/scada_host_id
Utiliza un aspecto del transporte MQTT llamado a"RETAINED"publicar
mantener el estado actual de la primaria
Host MQTT Cliente sesión estado a todos disponiblesServidores MQTT.
El formato de scada_host_id puede ser válido Estiramiento con la excepción de los caracteres reservados de
‘+’
(plus),
‘/’ (de frente), y ‘#’ (número signo).
Creación del certificado de nacimiento SCADA/IIoT
Haga clic en SCADA/IIOT y
Crear eventos con configuración “On Connect”.
En ese tema como SCADA/IIOT Host tema namespace/scada_host_id]:
ESTADO/SCADABIRTH
Set Retener la bandera como “1” y QoS como “1”
Seleccione el tipo de mensaje como “Texto” y variante como “Constant”.
Dar carga o mensaje como"ONLINE".
SCADA/IIoT Certificado de Muerte Anfitriona Payload (STATE):
Cuando el cliente SCADA/IIoT Host MQTT establece una sesión MQTT al servidor(s),
el Certificado de Muerte será parte delWill TopicyWill Payloadregistrados en el
transacción MQTT CONNECT.
El tema de la voluntad debe ser:STATE/scada_host_id
Creación de SCADA/IIoT DEATHCertificate Payload (STATE):
Haga clic en SCADA/IIOT y
Haga clic en el botón de interruptor directamente paraLo sé.
En ese tema dan como:STATE/SCADADEATH
Dar mensaje o carga útil“OFFLINE”
Set Retener la bandera como “1” y QoS como “1”
MQTT EoN Node Command (NCMD)
El tema de comando NCMD proporciona el espacio de nombres del tema utilizado para enviar comandos a cualquier EoN conectado
nodos.
Esto significa enviar un valor métrico actualizado a una métrica asociada incluida en la métrica NBIRTH
lista.
Espacio de nombre del tema:namespace/group_id/NCMD/edge_node_id
Seleccione el tipo de mensaje como JSON y haga clic en + botón.
En eso añadir NBIRTH métrica como:
ONLINE_STATE y TIEMPO ONLINE.
Dar la clave como ONLINE_STATE, seleccione “constant”, dar valor como TRUE y haga clic en ADD
Siguiente clic + botón y
Dar la llave como ONLINE_TIME, seleccione "variable sistema" y seleccione "$Current_time de la lista
siguiente clic ADD y guardar el JSON.
Una vez que ocurrió el DBIRTH, publicar el DCMD haciendo clic en el icono de acción
en el lado izquierdo, ahora el NCMD enviará comandos a los nodos EoN conectados.
SiguienteSuscríbeteel tema DCMD en SCADA/IIOT para obtener la métrica de actualización de spBv1.0.
Estos son el conjunto Sparkplug de MQTT Mensaje Tipos que se utilizan para gestionar el estado de conexión.
Siguienteadjunto
el Simulador de IoT Bevywisea
incorporadoMQTT Brokero conectarse a cualquier
MQTTBroker
para iniciar la simulación Spatkplug. También crea el tipo de mensaje Sparkplug para otros Nodos.
Especificaciones de MQTT Sparkplug
Actualmente hay dos esquemas de codificación definidos Sparkplug que esta especificación soporta.
Primero elSparkplug A
codificaciónesquema basado en la muy popular Kura código abierto Google Protocol definición Buffer.
Segundo,Sparkplug B
codificaciónesquema que proporciona un modelo de datos más rico desarrollado con la retroalimentación de muchos integradores del sistema y clientes finales del usuario utilizando MQTT.
Con el rico modelo de datos y la mensajería estandarizada de Sparkplug B en su lugar, las organizaciones pueden ahora
piensa más allá de los nodos y dispositivos individuales. Para aprovechar verdaderamente estos datos en tiempo real en toda una planta
o empresa,Unified Namespace (UNS)proporciona una forma estructurada y centralizada de organizar,
compartir y consumir todos los datos operativos sin problemas.
Unified Namespace (UNS) Integration with MQTT Sparkplug
Para ampliar la simulación Sparkplug MQTT y alinearse con IIoT moderno yIndustria 4.0arquitecturas, lasUnified Namespace (UNS) sirve como marco centralizado para gestionar e intercambiar datos.
El UNS actúa comocolumna vertebral de datos centralizadosde una empresa, reuniendo todo en tiempo real
e información histórica desde el borde hasta la nube bajo una estructura jerárquica unificada.
¿Qué es un espacio de nombres unificado (UNS)?
AUnified Namespacees una arquitectura de datos basada en eventos donde todos los sistemas de planta-floor, equipo,
y las aplicaciones empresariales se comunican a través decomúnMQTT brokerinfraestructura.
Representa a laestado actual del negocio en tiempo real,haciendo cada punto de datos disponibles y
consumible por cualquier sistema o aplicación que se suscriba a él.
En esencia, el UNS proporciona:
Afuente única de la verdadpara todos los datos operativos y comerciales.
Amodelo jerárquico consistenteque refleja la estructura de la planta física.
Flujo de datos decodificado,permitiendo productores (dispositivos, sensores, controladores) y consumidores
(Asuntos)SCADA,MES, ERP, análisis) para intercambiar información de forma independiente.
Role of MQTT Sparkplug in UNS
ElMQTT Sparkplug B specificationnaturalmente encaja como elmensajería y capa de definición de datospara el UNS.
Si bien el UNS define cómo se organizan los datos, el Sparkplug define la forma en que se comunican los datos:
mensajería confiable, consciente del estado y estructurada entre todos los componentes IIoT.
Combinando UNS y Sparkplug B:
Todos los nodos, dispositivos y aplicaciones comparten un tema común y estructura de carga útil.
El contexto en tiempo real se mantiene a través de mensajes de nacimiento/muerte y datos.
Los sistemas pueden descubrir métricas, propiedades y estado sin integración personalizada.
Las empresas pueden escalar horizontalmente a través de múltiples plantas y redes de bordes.
Típico ONUS Jerarquía temática con Sparkplug B
Una estructura bien diseñada del UNS suele reflejar el diseño físico de la empresa:
UNS/
- Planta
Zona 1/
- Línea 1/
- Máquina01/
- spBv1.0/PlantA/DBIRTH/Machine01
- spBv1.0/PlantA/DDATA/Machine01
- spBv1.0/PlantA/DCMD/Machine01
- Máquina02/
- Línea 2/
Àrea2/
- PlantB/
Descripción de la Arquitectura
UNS (Universal Namespace)
Piénsalo como unsistema de carpetas para su fábrica.
Se organizaplantas, áreas, líneas y máquinasAsí que todo tiene su lugar.
Niveles de Jerarquía
PlantA / PlantB→ Cada ubicación de la fábrica.
Zona1 / Área2→ Diferentes secciones dentro de la planta.
Línea 1 / Línea 2→ Líneas de producción en cada área.
Machine01 / Machine02→ Máquinas individuales en línea.
Temas Sparkplug en cada máquina
DBIRTH→ La máquina anuncia que está en línea.
DDATA→ La máquina envía sus datos (temperatura, velocidad, etc.).
DCMD→ La máquina recibe comandos del sistema de control.
Estos temas se clasifican bajo spBv1.0 y coinciden con la ruta del UNS asídata and commands go to
la máquina correcta.
Por esta arquitectura importa
Los espejosdiseño físicode la empresa, facilitando el seguimiento y la gestión de máquinas.
LetsSCADA, MES y herramientas de análisisactualizar datos en contexto (ya saben exactamente de qué planta, área, línea y máquina provienen los datos).
Mantienescomunicación organizada, escalable y fácil de alcanzar.
En resumen, la estructura de la UNS en Sparkplug B es como unsistema de presentación bien etiquetadopara todas tus máquinas.
Cada dispositivo tiene un lugar claro para enviar y recibir mensajes, por lo que su sistema de control y análisis
Siempre sepan de dónde vienen los datos y dónde deben ir los comandos.
UNS y Sparkplug B Architecture Overview
El siguiente diagrama ilustra cómoUNS integrado con MQTT Sparkplug Bdentro de un ecosistema IIoT.
Ventajas de integrar el UNS con Sparkplug B
Visibilidad centralizada:Todos los datos en tiempo real se publican en un solo espacio de nombres accesible a cada sistema.
Escalabilidad de plug-and-play:Se pueden añadir nuevos equipos o aplicaciones sin reorganizar los oleoductos de datos.
Normalización:Unificado tema y estructura de carga útil en todas las plantas y sistemas.
Baja latencia:MQTTproporciona una transferencia de datos eficiente y basada en eventos con una sobrecarga mínima.
Resiliencia:La conciencia de la sesión de Sparkplug asegura un seguimiento preciso del estado online/offline.
Empodere a su empresa con datos unificados
MQTT Sparkplug B combinado con un espacio de nombres unificado proporciona una visión estructurada en tiempo real de todo
datos operativos en toda su empresa. Este enfoque permite una escalabilidad perfecta, plug-and-play
integración y toma de decisiones más rápida en todas las plantas y sistemas.
Con nuestraMQTT broker, usted puede implementar esta arquitectura sin esfuerzo, asegurando confiable,
mensajería de estado para cada dispositivo y aplicación. Conecta tus sistemas, simplifica las operaciones,
y desbloquear información práctica a través de todo su ecosistema IIoT.
simplifica la simulación del Nodo y dispositivos EoN con un fácil interfaz de usuario
Cookie Consentimiento
Utilizamos cookies para mejorar tu experiencia. Su aceptación implica nuestro acuerdo de política. Sus datos son
manejado de forma segura, y usted puede aprender más acerca de nuestro compromiso con la seguridad de datos en nuestroPolítica de privacidad.