AprenderSparkplug B
Linter Sparkplug gratuito
Sparkplug B

MQTT mueve bytes. Sparkplug B les da significado.

Sparkplug B es una especificación abierta, mantenida en la Fundación Eclipse, que define cómo deben usar MQTT los equipos industriales: un espacio de topics fijo, una codificación compacta Protocol Buffers y un modelo de estado de sesión construido sobre certificados de nacimiento y muerte. Hace los datos MQTT autodescriptivos y dice a cada consumidor qué publicadores están en línea y qué valores son actuales.

Cómo Funciona

Una forma de topics fija, mensajes que llevan la lógica del protocolo.

spBv1.0/grupo/…
Forma de los topics: spBv1.0/{group_id}/{message_type}/{edge_node_id}/[{device_id}] — el espacio de nombres lo fija la especificación, no se inventa por proyecto.
NBIRTH / DBIRTH
Un nodo de borde o un dispositivo entra en línea y declara su conjunto completo de métricas: nombres, alias, tipos de datos, unidades.
NDATA / DDATA
Solo los cambios — report by exception, con payloads diminutos por alias, porque el certificado de nacimiento ya lo declaró todo.
NDEATH / STATE
El propio broker anuncia un nodo perdido mediante su testamento registrado; los consumidores deben marcar esas métricas como obsoletas en lugar de fiarse del último valor.

Fortalezas

Interoperabilidad entre herramientas conformes sin análisis a medida, bajo ancho de banda en redes limitadas, tipos y unidades explícitos, semántica en línea/obsoleto fiable desde el primer día.

Límites

El espacio de topics refleja la red — grupos, nodos, dispositivos — no el negocio. El mapeo hacia un UNS con forma ISA-95 sigue siendo su trabajo de modelado.

Binario

Los payloads son Protobuf, no JSON. Un consumidor MQTT genérico no puede leer topics Sparkplug sin decodificador — por diseño, no por accidente.

Trampas típicas en despliegues reales.

  • Equiparar Sparkplug B con un UNS. Estandariza payloads y estado de sesión; no diseña su jerarquía de negocio ni su gobernanza.
  • Apuntar consumidores MQTT/JSON corrientes a topics Sparkplug y extrañarse del galimatías.
  • Ignorar los alias y el «rebirth»: quien se incorpora a mitad de flujo debe solicitar un renacimiento para aprender el mapa de métricas, no adivinarlo.
  • Elegir a la ligera los identificadores de grupo y de nodo — son la cúspide de su espacio de nombres, y renombrarlos rompe a todos los suscriptores.
Conceptos Relacionados

El lugar de Sparkplug B en la pila.

Sparkplug B es la capa de payload y estado de muchos despliegues de UNS, y encaja con naturalidad en los requisitos técnicos mínimos — dirigido por el borde, report by exception, abierto, ligero. ISA-95 aporta la jerarquía de negocio que falta en sus topics centrados en dispositivos, la contextualización continúa donde terminan sus unidades y propiedades, y unos datos fiables y conscientes de su frescura figuran entre los puntos que verifica la preparación para la IA. Analice sus propios topics y payloads con el linter Sparkplug B gratuito.

Preguntas frecuentes

¿Qué diferencia hay entre Sparkplug B y MQTT a secas?

MQTT es un transporte: mueve bytes opacos entre publicadores y suscriptores y no prescribe nada sobre topics ni payloads. Sparkplug B añade las convenciones que faltan — un espacio de topics definido, un formato binario tipado y una semántica de sesión de nacimiento/muerte — para que las herramientas conformes interoperen sin código de integración a medida.

¿Es obligatorio Sparkplug B para un Unified Namespace?

No. Es una opción habitual para la capa de payload y estado. Algunos diseños de UNS usan en su lugar payloads JSON estructurados sobre topics de estilo ISA-95, cambiando la compacidad y el modelo de estado integrado de Sparkplug por legibilidad humana y un consumo ad hoc más sencillo. A lo que un UNS no puede renunciar es a una única convención documentada.

¿Qué ocurre cuando un dispositivo se cae de la red?

El broker publica el NDEATH del nodo de borde — registrado por adelantado como testamento MQTT — y los consumidores deben marcar como obsoletas todas las métricas de ese nodo y de sus dispositivos. Los valores frescos se reanudan con un nuevo NBIRTH/DBIRTH. Los consumidores siguen mostrando datos, pero señalados como no actuales.