Está en la página 1de 10

Telemetría y Sistemas Ciberfísicos

Laboratorio #3
Monitoreo Remoto (MQTT)
Tipo de trabajo: X Individual Grupal

Fecha: Haga clic aquí o pulse para escribir una fecha.

Paralelo: Elija un elemento.

Nombre: Haga clic aquí para escribir texto.

Objetivo:
 Obtener datos de dispositivos a través del protocolo MQTT para un monitoreo remoto
 Configurar parámetros de dispositivos de Clase A de manera remota a través del
protocolo MQTT
Duración:
Ciento veinte (120) minutos.

Materiales y Herramientas:
 Navegador Web
 Terminal (CMD)
 Dispositivo móvil
 Cliente MQTT

Introducción:
MQTT son las siglas Message Queuing Telemetry Transport. Es un protocolo de comunicación
M2M (machine-to-machine) de tipo message queuing. Está basado en el modelo TCP/IP como
base para la comunicación. En el caso de MQTT cada conexión se mantiene abierta y se
"reutiliza" en cada comunicación.

1
Telemetría y Sistemas Ciberfísicos

El funcionamiento del MQTT es un servicio de mensajería push con patrón publicador/suscriptor (pub-
sub). En este tipo de infraestructuras los clientes se conectan con un servidor central denominado
bróker.

Los clientes inician una conexión TCP/IP con el bróker, el cual mantiene un registro de los
clientes conectados. Esta conexión se mantiene abierta hasta que el cliente la finaliza.

Para filtrar los mensajes que son enviados a cada cliente los mensajes se disponen en tópicos
organizados jerárquicamente. Un cliente puede publicar un mensaje en un determinado tópico,
otros clientes pueden suscribirse a este tópico y el bróker le hará llegar los mensajes suscritos.

ESTRUCTURA DE UN MENSAJE MQTT


Uno de los componentes más importantes del protocolo MQTT es la definición y tipología de los
mensajes, ya que son una de las bases de la agilidad en la que radica su fortaleza. Cada
mensaje consta de 3 partes:

2
Telemetría y Sistemas Ciberfísicos

VENTAJAS DEL PROTOCOLO MQTT


La principal ventaja es su sencillez y ligereza. Esto lo hace adecuado para aplicaciones IoT,
donde frecuentemente se emplean dispositivos de escasa potencia.
Además, menor necesidad de recursos se traduce en un menor consumo de energía, lo cual es
útil en dispositivos que funcionan 24/7 y muy especialmente en dispositivos alimentados por
batería.

Otra ventaja es la ligereza del protocolo MQTT, requiere un ancho de banda mínimo, lo cual es
importante en redes inalámbricas, o conexiones con posibles problemas de calidad.

Por último, MQTT dispone de medidas adicionales importantes, como la seguridad y calidad del
servicio (QoS). Es una solución largamente testada y consolidada que aporta robustez y
fiabilidad.
TOPOLOGÍA

3
Telemetría y Sistemas Ciberfísicos

Investigación
Pregunta 1: ¿Qué diferencias hay entre MQTT y HTTP?
Haga clic o pulse aquí para escribir texto.

Pregunta 2: ¿En qué aplicaciones usaría MQTT y en cuáles HTTP?


Haga clic o pulse aquí para escribir texto.

Procedimiento

Paso 1: Instalación del servidor Mosquitto

a) Abra un terminal y actualice los repositorios de Ubuntu.

sudo apt-get update

b) Instale el servidor de mosquitto y el cliente para pruebas.

sudo apt-get install mosquitto mosquitto-clients

c) Verificar el estado del servicio instalado.

service mosquitto status

Captura del terminal del estado del servicio

Para detener el servicio ejecute el comando “service mosquitto stop” y para iniciarlo el comando
“service mosquitto start”

Paso 2: Creación de publicadores y suscriptores.


a) Abra otro terminal para crear un publicador y un suscriptor respectivamente.
b) Basado en la topología anterior, crearemos un suscriptor que estará escuchando mensajes
con el tópico dormitorio/aire. Digite el siguiente código para escuchar el tópico mencionado:

mosquitto_sub -h localhost -t dormitorio/aire

4
Telemetría y Sistemas Ciberfísicos

Puede agregar -v al final del comando anterior para que cuando llegue un mensaje también se imprima
el tópico.

c) En el otro terminal publicaremos un mensaje en el tópico dormitorio/aire con el siguiente


código:
mosquitto_pub -h localhost -t dormitorio/aire -m 0
d) Modifique el comando del publicador para que envíe el mensaje “Nivel de aire: 3”
Haga clic o pulse aquí para escribir texto.
Comando modificado

Captura del terminal del suscriptor con el mensaje recibido


Pregunta 3: Si el publicador envía mensajes bajo el tópico salon/aire ¿El suscriptor
configurador anteriormente recibirá ese mensaje?, ¿Por qué?
Haga clic o pulse aquí para escribir texto.
Pregunta 4: Si el publicador envía mensajes bajo el tópico dormitorio/aire/nivel ¿El
suscriptor configurador anteriormente recibirá ese mensaje?, ¿Por qué?
Haga clic o pulse aquí para escribir texto.

Paso 3: Uso de wildcards.


En MQTT se pueden manejar dos tipos de wildcards: wildcard de nivel único (+) y wildcard de
nivel múltiple (#).

a) En el terminal del suscriptor presione la combinación de teclas CTRL+C, para dejar de


escuchar mensajes de ese tópico.

b) En el mismo terminal suscríbase al siguiente tópico: ‘+’/aire

c) Abra un tercer terminal y suscríbase al siguiente tópico: dormitorio/‘#’

d) Desde el terminal publicador envíe un mensaje a cada tópico de la topología mostrada al


inicio de la práctica (6 mensajes en total).

5
Telemetría y Sistemas Ciberfísicos

Captura del terminal del suscriptor (+/aire)

Captura del terminal del suscriptor (dormitorio/#)


Pregunta 5: Analice e investigue el funcionamiento de los dos tipos de wildcards
Haga clic o pulse aquí para escribir texto.

Paso 4: Uso de clientes MQTT para móviles y web.


a) Descargamos una app MQTT cliente, para el caso de Android puede ser “MyMQTT”.
b) Ingresamos la dirección IP del bróker en el campo host.

6
Telemetría y Sistemas Ciberfísicos

c) Suscribimos la app móvil a un solo tópico general que va a recibir mensajes tanto el estado
de la puerta del garaje como de la luz del garaje.
Haga clic o pulse aquí para escribir texto.
Tópico a escuchar

7
Telemetría y Sistemas Ciberfísicos

d) En la app móvil seleccionamos la pestaña Dashboard y enviamos un dato desde el terminal.

Captura de la app móvil con el mensaje recibido


e) Instalar MQTT Explorer desde http://mqtt-explorer.com/
f) Creamos una nueva conexión que apunte a la ip del bróker de su compañero

8
Telemetría y Sistemas Ciberfísicos

g) Suscribimos la app web al tópico de temperatura, dando clic en ADVANCED.

h) Enviamos valores de temperatura desde el terminal tanto del segmento dormitorio como el
de salon.

Captura de la app web con los mensajes recibidos

RETO
Configurar el bróker MQTT para que sólo permita publicadores y suscriptores mediante usuario y
contraseña.
Haga clic o pulse aquí para escribir texto.

9
Telemetría y Sistemas Ciberfísicos

Evidencias de envío y recepción

Conclusiones y Recomendaciones
Haga clic o pulse aquí para escribir texto.

Bibliografía
MQTT: https://www.luisllamas.es/que-es-mqtt-su-importancia-como-protocolo-iot/
Usos de Mosquitto: https://aprendiendoarduino.wordpress.com/2018/11/19/mosquitto/
Formatos TTN: https://www.thethingsindustries.com/docs/reference/data-formats/
Mosquitto MQTT-TTN: https://www.thethingsindustries.com/docs/integrations/mqtt/mqtt-clients/eclipse-
mosquitto/
MQTT TTN: https://www.thethingsindustries.com/docs/integrations/mqtt/

10

También podría gustarte