¿Qué es MQTT?
El MQTT se trata de un protocolo de comunicaciones estandarizado, muy ligero y sencillo que nos permite comunicar de una forma rápida y sin gran consumo dispositivos de forma remota. Funciona sobre el TCP/IP, es decir, sobre las redes que habitualmente tenemos en casa y que reina en internet, por lo que podemos hacer el paso de dicha información, no solo a nivel de una red local sino dar el salto a través de internet.
Se trata de un protocolo en el que se envían los mensajes y, por otro lado, otros dispositivos están “escuchando” por si alguno de los mensajes enviados son de su interés. A pesar de que pueda parecer algo lioso, con un ejemplo podremos verlo de una forma más sencilla. Digamos que tenemos un dispositivo que recoge la temperatura en una cámara frigorífica y, cada muestreo, lo manda (ahora veremos como lo hace) con MQTT en el que informa con un mensaje sencillo del estilo a “CAMARA/TEMPERATURA 5”, otro dispositivo, podría estar pendiente de los mensajes que vayan etiquetados con “CAMARA/TEMPERATURA” con el fin de recoger el dato que le manda, en nuestro ejemplo, 5, para si bajara o subiera de un nivel concreto realizar alguna acción (alarma, encender ventiladores, etc).
Para poder hacer el paso de mensajes, es necesario instalar un software llamado broker que es el encargado de recibir los mensajes, así como aceptar suscripciones de otros dispositivos (los que están “pendientes” de ciertos mensajes) para mostrarles los mensajes relacionados con su interés.
El mensaje enviado, puede tener lo que llaman QoS (Quality of Service, o calidad del servicio) en el que le decimos al broker si queremos que sea simplemente enviado (nivel 0), enviado con al menos 1 confirmación de entrega (nivel 1) o bien que garanticemos la entrega por completo (nivel 2).
Se trata de un protocolo en el que se envían los mensajes y, por otro lado, otros dispositivos están “escuchando” por si alguno de los mensajes enviados son de su interés. A pesar de que pueda parecer algo lioso, con un ejemplo podremos verlo de una forma más sencilla. Digamos que tenemos un dispositivo que recoge la temperatura en una cámara frigorífica y, cada muestreo, lo manda (ahora veremos como lo hace) con MQTT en el que informa con un mensaje sencillo del estilo a “CAMARA/TEMPERATURA 5”, otro dispositivo, podría estar pendiente de los mensajes que vayan etiquetados con “CAMARA/TEMPERATURA” con el fin de recoger el dato que le manda, en nuestro ejemplo, 5, para si bajara o subiera de un nivel concreto realizar alguna acción (alarma, encender ventiladores, etc).
Para poder hacer el paso de mensajes, es necesario instalar un software llamado broker que es el encargado de recibir los mensajes, así como aceptar suscripciones de otros dispositivos (los que están “pendientes” de ciertos mensajes) para mostrarles los mensajes relacionados con su interés.
El mensaje enviado, puede tener lo que llaman QoS (Quality of Service, o calidad del servicio) en el que le decimos al broker si queremos que sea simplemente enviado (nivel 0), enviado con al menos 1 confirmación de entrega (nivel 1) o bien que garanticemos la entrega por completo (nivel 2).
¿En que se puede usar MQTT?
Gracias a este protocolo, los microcontroladores como el ESP8266, son capaces de funcionar de manera bidireccional (ya que mandan y se suscriben en el broker) mensajes para el control de diferentes dispositivos, desde sensores, hasta control tipo relé.
Al ser un protocolo abierto, tenéis más información técnica en la web oficial de MQTT.
Al ser un protocolo abierto, tenéis más información técnica en la web oficial de MQTT.
Santa Cruz |
|