¿Qué es un broker MQTT?
MQTT es el protocolo de mensajería ligero que en silencio se convirtió en la columna vertebral del internet industrial de las cosas, y el broker es la pieza que lo hace funcionar. En lugar de que cada dispositivo hable directamente con cada consumidor, todo se conecta a un broker central que enruta los mensajes. Esta guía explica qué es un broker MQTT, cómo funciona la publicación y suscripción, y por qué los brokers importan para el SCADA nativo de nube en petróleo y gas.
Que es un broker MQTT en una línea: Un broker MQTT es un servidor que recibe mensajes publicados hacia tópicos nombrados y los reenvía a los clientes que se suscribieron a esos tópicos. Es el concentrador central en el modelo de publicación y suscripción de MQTT, desacoplando las fuentes de datos de los consumidores de datos, de modo que los dispositivos nunca hablan entre sí de forma directa.
Cómo funciona la publicación y suscripción a través de un broker
MQTT usa un patrón de publicación y suscripción en lugar del sondeo de petición y respuesta del que dependen los protocolos SCADA más antiguos. Un publicador - digamos una RTU o un gateway de borde en un pozo - abre una sola conexión TCP persistente al broker y publica lecturas hacia un tópico como permian/pad12/well3/tubing_pressure. Cualquier cantidad de consumidores (un SCADA en la nube, un historiador, un servicio de analítica) se suscribe a ese tópico y el broker empuja cada mensaje nuevo a todos ellos. El publicador y los suscriptores nunca se conocen entre sí; el broker es lo único a lo que ambos lados se conectan.
Ese desacople es el punto. Se pueden agregar nuevos consumidores sin tocar los dispositivos de campo, y un dispositivo de campo solo necesita una única conexión saliente - lo que importa enormemente sobre enlaces celulares o satelitales detrás de NAT de grado operador, donde el sondeo entrante es impráctico. El broker también maneja los mensajes retenidos (el último valor conocido de un tópico) y un mensaje de testamento (Last Will and Testament) que el broker publica de forma automática si un dispositivo se desconecta de forma inesperada.
Niveles de QoS y Sparkplug B
MQTT define tres niveles de calidad de servicio que el broker aplica por mensaje: QoS 0 (a lo más una vez, dispara y olvida), QoS 1 (al menos una vez, puede duplicar) y QoS 2 (exactamente una vez, con un intercambio en cuatro partes). Para telemetría sobre enlaces marginales, QoS 1 es la opción usual - la entrega está garantizada aunque se cuele un duplicado, y la sobrecarga es modesta.
El MQTT crudo solo mueve cargas útiles opacas sobre tópicos arbitrarios, así que la industria adoptó Sparkplug B, una especificación que estandariza la estructura de tópicos, la codificación de la carga útil (Google Protocol Buffers), la gestión de estado y la forma en que un dispositivo reporta todo su conjunto de tags al conectarse. Sparkplug B convierte un broker genérico en algo que una plataforma SCADA puede autodescubrir y modelar, y es la base de la mayoría de los diseños de espacio de nombres unificado. Cuando los operadores dicen SCADA sobre MQTT, casi siempre se refieren a MQTT con Sparkplug B corriendo a través de un broker.
Dónde encaja el broker en el SCADA en la nube
En una arquitectura de SCADA en la nube el broker es el punto de encuentro entre el campo y la plataforma. Los gateways de borde en cada sitio publican hacia el broker; el SCADA en la nube se suscribe e ingiere. Como la conexión es saliente y cifrada (MQTT sobre TLS en el puerto 8883), no hace falta abrir puertos de firewall entrantes en el pozo - una gran ventaja de seguridad sobre los protocolos de sondeo expuestos a internet.
Los brokers pueden autoalojarse (opciones de código abierto como Mosquitto y EMQX, o comerciales), correr en el borde, o entregarse como un servicio en la nube administrado. Merobix ingiere MQTT y Sparkplug B junto a Modbus, DNP3 y OPC UA, de modo que un operador que estandariza sobre un espacio de nombres unificado basado en broker puede llevar los mismos datos a un SCADA en la nube sin abandonar los dispositivos sondeados que ya opera.
Preguntas frecuentes
¿Qué hace realmente un broker MQTT?
Recibe cada mensaje que un cliente publica hacia un tópico y reenvía una copia a cada cliente suscrito a ese tópico. Maneja las garantías de entrega por calidad de servicio, los últimos valores conocidos retenidos, y la detección de desconexión, de modo que publicadores y suscriptores queden completamente desacoplados entre sí.
¿Cuál es la diferencia entre MQTT y un broker MQTT?
MQTT es el protocolo de mensajería - las reglas para conectarse, publicar y suscribirse. El broker es el software servidor que implementa esas reglas y enruta los mensajes entre clientes. No se puede correr la publicación y suscripción de MQTT sin un broker; es el componente central.
¿Por qué MQTT es bueno para la telemetría de petróleo y gas?
Los dispositivos de campo hacen una sola conexión saliente ligera al broker en lugar de aceptar sondeos entrantes, lo que conviene a los enlaces celulares y satelitales detrás de NAT y evita abrir puertos de firewall. Con Sparkplug B agrega modelado estandarizado, detección de desconexión y eficiencia de reporte por excepción que encajan con pozos y ductos remotos.
Servicios de automatización
¿Necesita convertir esta información en un sistema que funcione?
Merobix integra SCADA, programa PLC Allen-Bradley y Siemens, y diseña y fabrica tableros de control industrial.
Las solicitudes de reunión se revisan antes de confirmarse.