La clave de la tecnología de Internet de las Cosas (IoT) es la comunicación, y varios protocolos desempeñan un papel importante en la conexión del enorme número de "cosas" a Internet. Este artículo presenta dos protocolos IoT complementarios: Message Queuing Telemetry Transport (MQTT), un protocolo de Internet escalable que soporta la comunicación global en el IoT, y Modbus, un protocolo local para conexiones de dispositivos a corta distancia, ofreciéndole una comprensión detallada de las diferencias entre ellos. la diferencia.
Protocolo MQTT
MQTT es un protocolo abierto y ligero de máquina a máquina diseñado para interacciones IoT. La red MQTT contiene un agente MQTT, que se encarga de coordinar las interacciones entre los agentes MQTT. Los agentes son editores responsables de publicar información para uso de los usuarios.
MQTT tiene muy pocos requisitos, ya que está diseñado para dispositivos integrados con recursos limitados. Además de su reducido tamaño, MQTT ofrece una excelente eficiencia de comunicación (incluso en redes con poco ancho de banda) y muy poca sobrecarga (en comparación con protocolos como HTTP). En redes 3G, la velocidad de transmisión de MQTT es 93 veces superior a la de Representational State Transfer (REST) mediante HTTP.
MQTT implementa un patrón de publicación/suscripción mediante el uso de métodos mínimos para indicar las operaciones a realizar en un tema específico. Los agentes se conectan a los brokers antes de publicar o suscribirse a los temas. Una vez completado, el agente se desconectará del broker. Definición de método MQTT:
- Conectar - Establecer una conexión con el broker MQTT.
- Desconectar - Desconectar del broker MQTT.
- Publicar - Publicar un tema en el broker MQTT.
- Suscribirse - Suscribirse a un tema desde un broker MQTT.
- Darse de baja - Darse de baja del tema en el broker MQTT.
MQTT permite definir la calidad del servicio (QoS). Existen tres niveles de QoS en MQTT:
QoS 0: Este nivel representa la entrega "como mucho una vez" (en el mejor de los casos). El mensaje no se confirmará, por lo que se trata de una entrega única.
QoS 1: Este nivel indica la entrega "al menos una vez". Los usuarios pueden recibir mensajes más de una vez, pero se permite al destinatario acusar recibo.
QoS 2: El nivel de calidad de servicio más lento pero con mayores garantías es el nivel 2. QoS2 significa "sólo una vez" y consiste en un apretón de manos de entrega en cuatro fases. Este nivel es el más lento, pero el más seguro.
El nivel de calidad de servicio que elijas dependerá de la importancia de los datos y de su entrega.
Protocolo Modbus
Modbus es un protocolo de comunicación serie que ha evolucionado hasta convertirse en un amplio conjunto de protocolos compatibles con múltiples enlaces físicos (como RS-485). El núcleo de Modbus es un protocolo de comunicación serie que utiliza el modo maestro-esclavo. El maestro envía una solicitud al esclavo y éste responde. En una red Modbus estándar, hay un maestro y hasta 247 esclavos (sin embargo, si se utiliza el direccionamiento de 2 bytes, este límite puede aumentar considerablemente).
MQTT Con RS-485, la comunicación entre maestro y esclavo se produce en tramas que indican códigos de función. Este código de función identifica la función que se va a operar, como la lectura de una entrada independiente; la lectura de una cola de primeras entradas primeras salidas; o la ejecución de una función de diagnóstico. A continuación, el esclavo responde basándose en el código de función recibido, que es una respuesta simple indicada por un conjunto de bytes. Por lo tanto, los esclavos pueden ser dispositivos inteligentes o dispositivos simples con un solo sensor.
A partir de esta descripción, se puede ver que el protocolo Modbus es muy simple, pero su apertura como protocolo lo convierte en el protocolo de comunicación de facto para industrias enteras o sistemas SCADA.
MQTT y Modbus pueden complementarse para mejorar el rendimiento del Internet de las cosas. El uso de Modbus como interfaz local para gestionar dispositivos y el uso de MQTT como protocolo global para ampliar el alcance del dispositivo desempeñan ambos un papel importante.