MQTT – Message Queuing Telemetry Transport
MQTT (Message Queuing Telemetry Transport) es un protocolo de mensajería diseñado para redes restringidas de bajo ancho de banda y dispositivos IoT con latencia muy alta. Dado que está especializado en entornos de baja capacidad y alta latencia, es un protocolo ideal para la comunicación máquina a máquina (M2M).
MQTT funciona bajo el principio publicador/suscriptor y se opera mediante un broker central. Esto significa que el emisor y el receptor no tienen una conexión directa. Las fuentes de datos envían su información a través de una publicación (publish) y todos los receptores interesados en ciertos mensajes (“marcados por un tema o topic”) reciben esos datos porque se han registrado como suscriptores.
En IoT e IIoT, MQTT se utiliza incluso para la conexión con entornos en la nube. Aquí encontrarás todo lo que necesitas saber sobre el uso de MQTT con un enfoque industrial.
- ¿Qué significa MQTT?
MQTT significa Message Queuing Telemetry Transport. Es un protocolo de mensajería extremadamente sencillo y liviano (suscripción y publicación) diseñado para dispositivos y redes limitados con alta latencia, bajo ancho de banda o conexiones poco confiables.
Sus principios de diseño buscan reducir el consumo de ancho de banda y los requisitos de recursos de los dispositivos, garantizando al mismo tiempo seguridad en la transmisión. Esto es especialmente ventajoso en dispositivos M2M o IoT, donde el rendimiento de la batería y la eficiencia en la red son críticos.
- ¿Qué es un topic en MQTT?
Con MQTT, los dispositivos IoT con recursos limitados pueden enviar (publicar) información sobre un tema específico (topic) a un servidor que actúa como broker de mensajes MQTT.
El broker luego transmite la información a todos los clientes que previamente se hayan suscrito a ese tema.
Para los humanos, un topic se asemeja a una ruta jerárquica de archivos. Los clientes pueden suscribirse a un nivel específico de esa jerarquía o usar caracteres comodín para abarcar múltiples niveles.
El protocolo MQTT es especialmente útil en redes inalámbricas con latencias variables, limitaciones ocasionales de ancho de banda o conexiones inestables.
- Si un cliente suscriptor pierde la conexión con el broker, este almacena en búfer los mensajes y los entrega cuando el cliente vuelva a estar en línea.
- Si un cliente publicador se desconecta sin aviso, el broker puede cerrar la conexión y enviar un mensaje en caché al suscriptor con las instrucciones del publicador.
- ¿Qué es un broker MQTT?

El broker MQTT es el núcleo de todo protocolo Publish/Subscribe. Según su implementación, un broker puede gestionar hasta miles de clientes conectados simultáneamente.
Sus funciones principales son:
- Recibir todos los mensajes.
- Filtrarlos.
- Determinar qué clientes están suscritos a cada mensaje.
- Reenviar los mensajes a los clientes correspondientes.
- Mantener las sesiones de los clientes persistentes (suscripciones y mensajes perdidos).
- Autenticar y autorizar a los clientes.
Además, el broker suele ser extensible, lo que permite integrarlo con sistemas backend y añadir autenticación personalizada. Esto es clave porque normalmente el broker está expuesto a internet, atiende a numerosos clientes y debe redirigir mensajes a sistemas de análisis o procesamiento posteriores.
En resumen: el broker es el centro de intercambio de todos los mensajes, por lo que debe ser escalable, integrable, monitoreable y tolerante a fallos.
Ejemplos industriales: HiveMQ MQTT Broker, mosquitto de Cedalo. Proveedores cloud como Microsoft y Amazon también ofrecen brokers propios: Azure IoT Hub y AWS IoT Core.
- ¿Qué es un payload en MQTT?
Cada mensaje transmitido mediante MQTT contiene dos elementos:
- Un topic que define cómo debe procesarse el mensaje.
- Un contenido o carga útil (payload), que puede diseñarse libremente.
El payload no está atado a una estructura fija, pero es recomendable definir un formato estandarizado (ej. JSON, XML, OPC UA) para garantizar que todos los dispositivos y aplicaciones puedan interpretar los datos correctamente.
- ¿Qué es un cliente MQTT y cómo funciona?
Todos los dispositivos y aplicaciones conectados al broker se denominan clientes MQTT (ejemplo: OPC Router). Un cliente puede:
- Publicar mensajes en el broker.
- Suscribirse a topics para recibir mensajes.
Los mensajes pueden transmitirse con distintos niveles de calidad de servicio (QoS):
- QoS 0: el mensaje se envía una sola vez, sin confirmación de entrega.
- QoS 1: el mensaje se reenvía hasta que el broker confirme su recepción (puede llegar varias veces).
- QoS 2: garantiza la entrega exactamente una vez, con más consumo de ancho de banda.
Un cliente puede usar comodines para recibir múltiples temas, por ejemplo:
- planta1/hall1/temperatura → recibe solo esa variable.
- planta1/hall1/# → recibe todos los datos de hall1.
- planta1/+/temperatura → recibe todas las temperaturas de planta1.
Además, los clientes MQTT pueden configurar un “Último Mensaje” (Last Will), que se envía automáticamente si pierden la conexión con el broker.
- ¿Cuándo usar (y no usar) MQTT?
MQTT es útil cuando muchas máquinas envían datos a un único destino (ej. la nube) para análisis, interpretación y distribución.
- El broker en la nube actúa como intermediario entre máquinas y usuarios.
- Los datos se organizan mediante topics y se comunican con el modelo publish/subscribe.
Ejemplo: un sistema de aire acondicionado publica datos sobre el estado de sus compresores en un topic. Los interesados (ingenieros de mantenimiento, sistemas de planificación, software de repuestos) se suscriben a ese topic y reciben la información en tiempo real.
Esto abre enormes oportunidades en IoT e IIoT: detección temprana de fallas, reducción de costos, mayor eficiencia y optimización de la planificación.
- ¿Para qué se usa MQTT en IoT?
Un topic en MQTT es una cadena UTF-8 que el broker usa para filtrar mensajes.
- Los niveles del topic se separan con /.
- No es necesario declararlos antes de usarlos.
- Los topics distinguen mayúsculas y minúsculas (casa/temp ≠ Casa/Temp).
- El / solo también es válido como topic.
⚠️ Excepción: los topics que empiezan con $ están reservados para estadísticas internas del broker (ej. $SYS/). Los clientes no pueden publicar en ellos.
- ¿Cómo empezar fácilmente con MQTT?
Una forma sencilla es usar HiveMQ como broker MQTT, ya que está basado en estándares IoT abiertos y ofrece compatibilidad con una amplia variedad de clientes.
El protocolo MQTT, gracias a su simplicidad y modelo publish/subscribe, es ideal para aplicaciones IoT y en la nube, especialmente con:
- Sensores de bajo consumo.
- Dispositivos móviles.
- Computadoras embebidas y microcontroladores.
Combinado con herramientas como OPC Router, la integración de conexiones industriales se simplifica enormemente.
