¿Cómo podemos ayudar?

Print

Guía para principiantes del protocolo MQTT

 

¿Qué es MQTT?

MQTT es un protocolo de transferencia de datos de máquina a máquina (M2M) que permite a los sistemas SCADA acceder a los datos de IIoT. Se considera uno de los principales protocolos de mensajería para el Internet Industrial de las Cosas (IIoT).

MQTT es un protocolo de mensajería, es decir, fue diseñado para transferir mensajes y utiliza un modelo de publicación y suscripción.

¿Cómo funciona MQTT?

MQTT es un protocolo de publicación/suscripción que permite a los dispositivos del borde de la red publicar a un intermediario. Los clientes se conectan a este intermediario, que media la comunicación entre los dos dispositivos. … Cuando otro cliente publica un mensaje en un tema suscrito, el intermediario reenvía el mensaje a cualquier cliente que se haya suscrito.

Término Explicación
Diagrama
Cliente Un programa o dispositivo que utiliza MQTT. Cliente:

  • abre la Conexión de Red con el Servidor
  • publica Mensajes de Aplicación que otros Clientes
  • se suscribe para solicitar Mensajes de Aplicación
  • se da de baja para eliminar una solicitud de mensajes de aplicación
  • cierra la conexión de red con el servidor
Servidor (Broker) Programa o dispositivo que actúa como intermediario entre los Clientes que publican Mensajes de Aplicación y los Clientes que han realizado Suscripciones. Servidor:

  • acepta Conexiones de Red de Clientes
  • acepta los mensajes de aplicación publicados por los clientes
  • procesa las solicitudes de suscripción y anulación de suscripción de los Clientes
  • reenvía los mensajes de aplicación que coinciden con las suscripciones de los clientes
  • cierra la conexión de red del cliente
Conexión Conecta el Cliente al Servidor. Proporciona los medios para enviar un flujo de bytes ordenado y sin pérdidas en ambas direcciones.
Sesión Una interacción con estado entre un Cliente y un Servidor.
Algunas Sesiones duran sólo lo que dura la Conexión de Red, otras pueden abarcar varias Conexiones de Red consecutivas entre un Cliente y un Servidor.
Suscripción La Suscripción comprende un Filtro de Temas y una QoS máxima. Una suscripción está asociada a una única sesión. Una sesión puede contener más de una suscripción. Cada suscripción dentro de una sesión tiene un filtro de temas diferente.
Filtro de temas Expresión contenida en una suscripción para indicar un interés en uno o más temas. Un filtro de temas puede incluir caracteres comodín.
Nombre de tema Etiqueta adjunta a un mensaje de aplicación que se compara con las suscripciones conocidas por el servidor.
Mensaje de aplicación Los datos transportados por el protocolo MQTT a través de la red para la aplicación.
Cuando un Mensaje de Aplicación es transportado por MQTT contiene:

  • datos de carga útil,
  • una Calidad de Servicio (QoS),
  • una colección de Propiedades,
  • un Nombre de Tema.
Mensaje Will Un Mensaje de Aplicación que es publicado por el Servidor después de que se rompe la Conexión de Red.
QoS 0 Como máximo una entrega
El mensaje se entrega según las capacidades de la red subyacente. El Servidor no envía ninguna respuesta y el Cliente no realiza ningún reintento. El mensaje llega al Servidor una vez o ninguna.
QoS 1 Al menos una vez devilery
Un paquete PUBLISH QoS 1 enviado por el Cliente es reconocido por un paquete PUBACK enviado por el Servidor. El mensaje llega al Servidor una o más veces.
QoS 2 Entrega exactamente una vez
El paquete PUBLISH del Servidor acusa recibo con un proceso de acuse de recibo en dos pasos. Se utiliza cuando no son aceptables ni la pérdida ni la duplicación de mensajes. La sobrecarga asociada a la QoS 2 es mayor.