El protocolo MQTT (Message Queuing Telemetry Transport – Transporte de Mensajes de Telemetría en Fila) es un protocolo industrial de mensajería ligera que se usa en los siguientes casos:
- Los clientes necesitan una huella de código pequeña.
- Los clientes están conectados a redes no confiables o con ancho de banda limitado.
- Los clientes requieren un bajo consumo de energía
El protocolo MQTT fue creado por el Dr. Andy Stanford-Clark y Arlen Nipper en 1999. Su propósito original era permitir a los dispositivos de monitoreo usados en la industria Oil & Gas enviaran sus datos a servidores remotos.
MQTT usa una topología de tipo PUSH/SUBSCRIBE para ejecutarse sobre TCP/IP. Dentro de la arquitectura del MQTT existen dos tipos de sistemas: Clientes y Brókeres. Un Broker es el servidor con el que se comunican los clientes y que cuentan con su dirección IP pública, en donde los mismo reciben comunicaciones a la vez que las mandan entre ellos. Los Clientes no se comunican directamente entre sí, sino que lo hacen al conectarse al Broker. Cada cliente puede tener la función de editor, subscriptor o ambos. En la imagen de abajo se explica la función del sensor para ‘publicar’ la información de su lectura al Broker usando el MQTT; y los clientes suscritos al Broker pueden ver la publicación (solicitar la información guardada en el bróker).
Este protocolo utiliza un control por eventos, donde no se transmiten los datos de forma periódica o continua. Esto permite el ahorro de datos y mantiene el volumen de transmisión al mínimo. El cliente puede iniciar una publicación al momento en que requiera enviar información, y el Broker envía esta información a los suscriptores cuando tiene nuevos datos.
De esta forma se mantiene la calidad de la transmisión (QoS). Existen 3 categorías de QoS: La primera es la QoS0 y sirve exclusivamente para la publicación de datos; la siguiente es la QoS1 y funciona para que el Broker notifique de que se recibe información publicada por un cliente (Nota: una posible desventaja es que el Broker aquí no especifica qué datos son los que recibe, por lo que hay que tener precaución si existen publicaciones simultáneas); la última es el QoS2 y en este apartado es donde podemos confirmar que la información que sube un cliente en específico es la que recibe el Broker, ya que además de notificar el recibo de dicha información manda una confirmación al cliente, una vez que el cliente confirma el Broker notifica esa confirmación. Todas estas categorías son utilizadas con el MQTT ya que dependiendo de la aplicación y el consumo de datos deseado se elige qué categoría utilizar: Más datos (4 veces QoS0) = QoS2, Regular (2 veces QoS0) = QoS1, menos datos = QoS0.
En resumen, el protocolo MQTT es un método innovador y avanzado en el que podemos controlar nuestras aplicaciones y al mismo tiempo el flujo de datos que consume el intercambio de información entre los equipos, los usuarios y el servidor. Es muy importante aprender las categorías para saber cuáles procesos deben tener un mayor flujo de datos y cuáles no; mientras que un ejemplo es revisar el estatus de un sensor puede ser de categoría QoS0 un proceso crítico como un sistema contra incendios o contra fugas debe tener una categoría Qos2.
En Logicbus contamos con varias soluciones MQTT como el módulo IoT industrial TCW242, el convertidor de protocolo PLC de Allen-Bradley a MQTT 460ETCQT-N2E-D, el IIoT Edge Gateway con E/S integradas R-PASS-W-2-0, entre otros; diseñados para cualquiera de sus aplicaciones como M2M, dispositivos móviles, Internet de las cosas de uso común (IoT) o industrial (IIoT) y para lograr la automatización inteligente basada en la industria 4.0. Esperamos con mucho gusto sus dudas y agradecemos su atención.
Contáctanos
ventas@logicbus.com | soporte@logicbus.com | 55-5431-67-18 | Iniciar conversación