Dossier sobre el IoT

OPC UA a MQTT: puente industrial y espacio de nombres unificado

Puente de cliente OPC UA a emisor MQTT: espacio de nombres unificado, Sparkplug B, HiveMQ, AWS IoT.

En resumen
Un puente OPC UA → MQTT se conecta como cliente OPC UA a tus servidores (autómatas, SCADA, robots) y publica los valores de los nodos a los que está suscrito en MQTT JSON o Sparkplug B hacia un bróker en la nube. Es el pilar de laEspacio de nombres unificado (UNS), la arquitectura de referencia de la Industria 4.0 para centralizar todos los datos de producción.

OPC UA: el protocolo de la Industria 4.0

OPC UA (OPC Unified Architecture, IEC 62541) es el protocolo de referencia de la Industria 4.0. A diferencia de Modbus, que expone registros sin contexto, OPC UA expone un modelo de información orientado a objetos: cada variable es un nodo tipado en un espacio de direccionamiento jerárquico, con metadatos (unidad de ingeniería, rango, descripción), métodos invocables y eventos.

Los autómatas modernos (Siemens S7-1500, Beckhoff CX, Rockwell ControlLogix), los robots y los sistemas SCADA recientes incorporan todos un servidor OPC UA. El puente OPC UA → MQTT permite extraer estos datos tan completos e integrarlos en la arquitectura en la nube.

Arquitectura del puente OPC UA → MQTT

Serveurs OPC UA Bridge Eziwan MQTT Broker / UNS
─────────────── ────────────── ─────────────────
Controlador Siemens ─┐ ┌── Cliente OPC UA HiveMQ Cloud
Robot Beckhoff ─┤── TCP ───►│ Subscriptions MQTT AWS IoT Core
SCADA Ignition ─┤ │ MonitoredItems ──TLS► Mosquitto
MES Wonderware ─┘ │ Decode + Map Eziwan UNS
└── Sparkplug B / JSON

El puente mantiene una conexión OPC UA persistente con cada servidor. Crea suscripciones OPC UA con MonitoredItems en los nodos que se van a supervisar. El servidor envía de forma proactiva los valores modificados (modo push), lo cual es mucho más eficaz que el sondeo Modbus.

Asignación de nodos OPC UA a temas MQTT

La configuración del puente consiste en asociar NodeID de OPC UA a temas MQTT. Existen dos enfoques:

Asignación manual

OPC UA NodeID → Topic MQTT
ns=2;s=Estación1.Bomba.Presión → fábrica/línea1/bomba01/presión_bar
ns=2;s=Estación1.Bomba.Caudal → planta/línea1/bomba01/caudal_m3h
ns=2;s=Estación1.Bomba.Estado → fábrica/línea1/bomba01/estado

Asignación automática (OPC UA → UNS) El puente recorre el espacio de direccionamiento de OPC UA y genera automáticamente una jerarquía de temas MQTT que lo refleja. Este es el método recomendado para instalaciones con numerosos nodos.

Espacio de nombres unificado: OPC UA como fuente de verdad

El Unified Namespace (UNS) es la arquitectura IIoT moderna recomendada por los expertos en Industria 4.0. En ella, un broker MQTT central (HiveMQ, EMQX, VerneMQ) actúa como único centro de datos:

FuentePublicación en el UNS
Controladores (OPC UA)Puente OPC UA → MQTT
Equipos heredados (Modbus RTU)Puente Modbus → MQTT
Contadores M-BusPuente M-Bus → MQTT
MES / ERPAPI → MQTT
Sensores IoTMQTT nativo

Todas las aplicaciones (SCADA, MES, paneles de control, IA) se suscriben al broker MQTT según sus necesidades. Se acabaron las integraciones punto a punto: cada sistema publica una vez y todos los consumidores reciben la información.

Sparkplug B: la especificación para el UNS industrial

Sparkplug B (Eclipse Foundation, spBv1.0) estandariza el uso de MQTT para el IIoT:

Estructura de los temas:

spBv1.0/{group_id}/NBIRTH/{edge_node_id} ← Conexión del nodo
spBv1.0/{group_id}/DBIRTH/{edge_node_id}/{device_id} ← Connexion device
spBv1.0/{group_id}/NDATA/{edge_node_id} ← Datos del nodo
spBv1.0/{group_id}/DDATA/{edge_node_id}/{device_id} ← Datos del dispositivo
spBv1.0/{group_id}/NDEATH/{edge_node_id} ← Desconexión (LWT)

Ventajas de Sparkplug B:

  • Carga útil Protobuf (binaria, entre 3 y 10 veces más compacta que JSON)
  • Gestión del ciclo de vida de los dispositivos (BIRTH/DEATH)
  • Alias de métricas para reducir el ancho de banda
  • Compatibilidad con HiveMQ Sparkplug Extension, Ignition Cirrus Link y AWS IoT SiteWise

Seguridad OPC UA + MQTT: defensa en profundidad

La combinación de OPC UA y MQTT ofrece dos niveles de seguridad:

Capa OPC UA (campo → puente):

  • Modo de seguridad: Sign & Encrypt (AES-256)
  • Autenticación: certificado x509 o nombre de usuario/contraseña
  • Validación de los certificados del servidor y del cliente

Capa MQTT (puente → nube):

  • Transporte: TLS 1.3
  • Autenticación: certificado de cliente x509 (TLS mutuo)
  • Autorización: ACL por tema en el broker

Esta arquitectura de defensa en profundidad cumple con las recomendaciones de la norma IEC 62443 sobre ciberseguridad de los sistemas industriales.

Compatibilidad con las principales plataformas en la nube

PlataformaProtocoloMódulo específico
AWS IoT CoreMQTT TLSAWS IoT SiteWise (OPC UA nativo)
Azure IoT HubMQTT / AMQPAzure IoT OPC Publisher (código abierto)
HiveMQ CloudMQTT 5.0 + SparkplugExtensión nativa de Sparkplug
Eziwan CloudMQTT TLSPanel de control + alertas integradas
Ignition (Inductive Automation)MQTT TransmissionMódulo Cirrus Link Sparkplug

Preguntas frecuentes

Ver también