MQTT es un protocolo de mensajería ligero de publicación y suscripción. Se diseñó para dispositivos con enlaces lentos o poco fiables, y se ha convertido en la forma predeterminada de que sensores, controladores y gateways envíen datos a una plataforma IoT. Esta guía cubre lo que necesita saber para conectar dispositivos industriales con MQTT, y los errores que conviene evitar.
Cómo funciona MQTT
MQTT tiene tres roles.
- Publicadores envían mensajes. Un sensor de temperatura publica sus lecturas.
- Suscriptores reciben mensajes. Una plataforma se suscribe a las lecturas que necesita.
- El broker se sitúa en medio. Recibe cada mensaje y lo pasa a los suscriptores que lo han solicitado.
Los dispositivos nunca se comunican directamente entre sí. Cada uno mantiene una única conexión abierta con el broker. Eso hace que MQTT sea compatible con cortafuegos y redes móviles: el dispositivo abre una conexión saliente, y nada necesita llegar hasta el interior de la instalación.
Topics
Cada mensaje se publica en un topic, una ruta de texto como site-a/line-2/filler/temperature. Los suscriptores pueden usar comodines para recibir muchos topics a la vez. El diseño de los topics importa más de lo que parece al principio.
- Mantenga un orden fijo, por ejemplo sitio, área, dispositivo, medición.
- Evite espacios y caracteres especiales.
- No incluya valores ni marcas de tiempo en el topic; deben ir en el payload.
- Cuando una plataforma define los topics por usted, utilícelos. Hermetry indica a cada dispositivo qué topics usar, de modo que los datos llegan al dispositivo correcto sin mapeo personalizado.
Calidad de servicio
MQTT ofrece tres niveles de entrega, llamados QoS.
- QoS 0, como máximo una vez. El mensaje se envía una vez sin confirmación. Adecuado para lecturas frecuentes en las que perder una no importa.
- QoS 1, al menos una vez. El mensaje se repite hasta que el broker lo confirma. Puede llegar dos veces, por lo que el receptor debe tolerar duplicados. Es la opción habitual para telemetría.
- QoS 2, exactamente una vez. Un handshake de cuatro pasos asegura que el mensaje llegue una sola vez. Consume más tráfico y rara vez se necesita para lecturas.
Una regla práctica: use QoS 1 para mediciones y eventos, e incluya una marca de tiempo en el payload para poder reconocer los duplicados.
Mensajes retenidos y last will
Un mensaje retenido lo almacena el broker y se entrega a cualquiera que se suscriba después. Es útil para estados que cambian lentamente, como una configuración o la última posición conocida de una válvula. No retenga lecturas rápidas; un nuevo suscriptor recibiría un valor obsoleto sin aviso.
El last will es un mensaje que el broker publica en nombre de un dispositivo cuando su conexión se cae de forma inesperada. Es una forma sencilla de marcar un dispositivo como desconectado. Combinado con un intervalo de keep-alive, le indica en segundos o minutos que un dispositivo ha dejado de responder, según el intervalo que elija.
Payloads
MQTT no se preocupa por lo que hay dentro de un mensaje. JSON es la opción más común porque es fácil de leer y depurar. Un buen payload incluye:
- una marca de tiempo del dispositivo, en UTC;
- valores con nombre y unidades claras, como temperature_c en lugar de t;
- solo lo que ha cambiado o lo que es necesario, para mantener los mensajes pequeños en enlaces medidos.
Los formatos binarios ahorran ancho de banda en enlaces muy limitados, pero cuestan legibilidad. Empiece con JSON salvo que tenga un motivo medido para no hacerlo.
Seguridad
Una conexión MQTT es una puerta a su plataforma. Trátela como tal.
- Use siempre TLS. Las credenciales y los datos nunca deben cruzar una red en texto plano.
- Asigne a cada dispositivo sus propias credenciales. Un usuario compartido para toda una flota significa que, si se filtra un dispositivo, quedan expuestos todos.
- Limite lo que cada dispositivo puede publicar y a qué puede suscribirse. Un sensor solo debería poder escribir en sus propios topics.
- Rote las credenciales cuando se sustituya un dispositivo o cuando se marche un técnico.
- Use certificados donde los dispositivos los necesiten. Algunos dispositivos y algunos clientes exigen una identidad basada en certificados además de contraseñas.
En Hermetry, los dispositivos MQTT se conectan con un usuario y una contraseña por dispositivo a través de una conexión cifrada, y el servicio de certificados de la plataforma emite certificados donde los dispositivos los necesitan.
Gateways y dispositivos que no hablan MQTT
Muchos equipos industriales hablan Modbus, SNMP o un protocolo del fabricante. La respuesta habitual es un gateway in situ: lee los dispositivos locales y publica sus datos a través de una única conexión MQTT o HTTP. Esto también ayuda cuando solo una máquina de la instalación puede acceder a Internet.
Una lista de comprobación antes de poner en producción
- Los topics siguen un patrón fijo y están documentados.
- QoS 1 para telemetría, con marcas de tiempo en cada payload.
- TLS activado, una credencial por dispositivo y un plan para rotarlas.
- Keep-alive y last will configurados, para detectar los dispositivos desconectados.
- Los perfiles de dispositivo definen lo que envía cada tipo de dispositivo, de modo que cien dispositivos se configuran igual que uno.
Lea cómo funcionan los perfiles de dispositivo y el aprovisionamiento en la página de dispositivos, o consulte la lista completa de protocolos en la documentación.

