· Industrial Protocols · 2 min de lectura
Diseño de Payloads MQTT IIoT: JSON vs Sparkplug B
Arquitectar el formato de tus mensajes es tan importante como el protocolo. Guía profunda sobre eficiencia binaria, estados y estandarización con Sparkplug B.

Muchos proyectos de IIoT fallan al escalar porque los ingenieros usan el formato que les resulta más fácil: un JSON desordenado. “Total, el ancho de banda sobra”, dicen. Hasta que tienen 500 máquinas enviando datos cada 100ms y el broker colapsa.
En esta guía, vamos a comparar el enfoque JSON (flexible pero ruidoso) con el estándar de oro de la industria: Sparkplug B.
1. El Problema de “MQTT a Secas”
MQTT es un transporte de “mensajería agnóstica”. Al broker no le importa si envías un JPG, un JSON o un PDF. Esto genera el problema del “Silos de Datos”: cada integrador inventa su propio formato.
Si mañana quieres conectar tu broker a un SCADA como Ignition o un sistema MES, vas a tener que escribir código personalizado para mapear cada mensaje.
2. JSON: Fácil pero Costoso
El JSON es excelente para prototipos. Cualquiera puede leerlo. Pero en IIoT tiene dos fallas críticas:
- Verbosismo: Mandar la palabra
"temperatura"1000 veces por segundo es un desperdicio de bytes. - Falta de Estado: MQTT tiene Last Will and Testament, pero no define cómo sincronizar el “nacimiento” de un dispositivo de forma estructurada.
3. Sparkplug B: El Estándar IIoT
Sparkplug B (desarrollado por Cirrus Link y ahora parte de la Fundación Eclipse) resuelve esto definiendo:
- Topic Namespace Estándar:
spBv1.0/Group/TYPE/Edge_Node/Device. - Payload Binario (Google Protobuf): Los datos se comprimen al máximo.
- Gestión de Estado: Define mensajes obligatorios de NBIRTH (Nacimiento del nodo) y NDEATH (Muerte certificado). Esto garantiza que tu SCADA siempre sepa qué tags están online y cuáles son “stale” (viejos).
👉 Comparativa de Código: mqtt-payload-toolkit
Ejemplo de Diferencia de Tamaño
Para enviar {"temp": 24.5, "press": 101.3}:
- JSON: ~50-80 bytes.
- Sparkplug B (Binary): ~15-20 bytes.
4. ¿Cuándo usar cada uno?
| Escenario | Recomendación |
|---|---|
| Pocos dispositivos, mucha RAM, integración con servicios web. | JSON |
| Miles de dispositivos, redes celulares (LTE/5G), SCADA industrial. | Sparkplug B |
| Control en tiempo real y misión crítica. | Sparkplug B |
Conclusión
Si estás construyendo un sistema IIoT que debe durar 10 años, estandariza hoy. Sparkplug B puede parecer más complejo al principio, pero te ahorra meses de trabajo en integración y miles de dólares en costos de transferencia de nube.
Fuentes y Referencias:
- Eclipse Foundation: Sparkplug 3.0 Specification
- Cirrus Link: What is Sparkplug B?
- HiveMQ: MQTT Sparkplug Essentials



