Gratis ¡Obtén tu consultoría de 1 hora—agenda tu sesión hoy mismo! »

· Eduardo Vieira · IIoT  · 2 min de lectura

Diseñar formatos de payload MQTT para IIoT

Cómo estructurar payloads MQTT útiles para operaciones, analítica y sistemas empresariales sin generar deuda técnica.

Cómo estructurar payloads MQTT útiles para operaciones, analítica y sistemas empresariales sin generar deuda técnica.

Diseñar formatos de payload MQTT para IIoT

MQTT facilita mover datos, pero el formato del payload define si los sistemas aguas abajo pueden aprovecharlos. Así diseño payloads que escalan entre operaciones, TI y analítica.

1. Elige la codificación adecuada

CodificaciónVentajasDesventajasÚsalo cuando
JSONLegible, tooling ubicuoPayload más grande, parseo más lentoTelemetría general, dashboards
Binario (protobuf, MessagePack)Compacto, rápidoRequiere gestión de esquemasEnlaces con poco ancho de banda
CSVSimple, bajo overheadTipos ambiguos, poca metadataIntegraciones heredadas
Sparkplug BEstandarizado, con estadoRequiere clientes específicosBrokers MQTT empresariales

La mayoría de los proyectos inician con JSON por su legibilidad y evolucionan a Sparkplug B al escalar.

2. Define un contrato de datos

  • Usa nombres de campos consistentes (snake_case o camelCase) y documéntalos.
  • Incluye timestamps (ISO 8601), unidades y flags de calidad.
  • Versiona los payloads (schema_version) para manejar cambios.

Ejemplo JSON:

{
  "schema_version": "1.2",
  "asset": "linea01.envasadora",
  "timestamp": "2025-04-09T14:30:05Z",
  "process": {
    "oee": 0.87,
    "temperatura_c": 192.5,
    "presion_bar": 4.2
  },
  "alarms": [
    {"code": 102, "severity": "high", "message": "Puerta abierta"}
  ]
}

3. Soporta localización y unidades

  • Estandariza unidades (preferentemente SI) y convierte en el borde si es necesario.
  • Incluye catálogos de mensajes por idioma cuando los operadores hablan múltiples lenguas.

4. Maneja lotes y streaming

  • Para señales de cambio rápido, envía actualizaciones incrementales solo con campos modificados.
  • Para cargas históricas, empaqueta arreglos de mediciones con timestamps de inicio/fin.

5. Incluye calidad y metadata de origen

  • Añade campos de quality (good, bad, uncertain) e intervalos de muestreo.
  • Identifica la fuente (plc_id, gateway_id, versión de firmware) para trazabilidad.

6. Consideraciones de seguridad

  • Firma los payloads o usa TLS con autenticación mutua.
  • Evita incrustar secretos o credenciales dentro del payload.
  • Cifra campos sensibles a nivel aplicación si lo exige la normativa.

7. Pruebas y validación

  • Crea JSON Schemas o definiciones protobuf y valida mensajes en pipelines CI.
  • Usa gemelos digitales o simuladores para reproducir payloads antes del despliegue.

8. Documentación y gobierno

  • Mantén las definiciones en un repositorio compartido con registro de cambios.
  • Comunica deprecaciones con anticipación y soporta esquemas duales durante la transición.

Un payload bien estructurado convierte a MQTT en la columna vertebral de la manufactura inteligente. Trátalo como un contrato de API y los equipos aguas abajo construirán sobre él con confianza.

Volver al blog

Related Posts

View All Posts »