Ejemplo MQTT
Ejemplo MQTT
Ejemplo MQTT
Se tiene el siguiente diagrama bajo una arquitectura estrella que representa una casa
donde se desea implementar una aplicación IoT (domótica).
Una vez que tenemos instalado Mosquito, podemos proceder a crear nuestro primer emisor
y subscriptor siguiendo para ello una jerarquía que podría asemejarse a la empleada en
una aplicación real (en este caso, una vivienda).
Hab1
Luz: casa/habitaciones/hab1/luz
Presencia: casa/habitaciones/hab1/presencia
Hab2
Luz: casa/habitaciones/hab2/luz
Presencia: casa/habitaciones/hab2/presencia
Cocina
Luz: casa/cocina/luz
Presencia: casa/cocina/presencia
casa/habitaciones/hab1/luz
casa/habitaciones/#
casa/#
El '#' del final es semejante al asterisco y hace las veces de comodín por lo que todos sus
hijos deberían ser escuchados bajo esa cola.
Cada uno de los comandos que escriba ahora, debería ir en una terminal / consola
diferente. Por otra parte, dependiendo de tu sistema operativo puede que tengas que
arrancar el servidor de Mosquitto de forma manual, en mi caso (OSX) esta operación la
realicé mediante el siguiente comando:
/usr/local/sbin/mosquitto -c /usr/local/etc/mosquitto/mosquitto.conf
Empezamos por los subscriptores:
mosquitto_sub -t "casa/habitaciones/hab1/luz" -v
mosquitto_sub -t "casa/habitaciones/#" -v
mosquitto_sub -t "casa/#" -v
Y ahora empezamos a publicar mensajes desde alguno de los nodos que definimos antes.
Concretamente, voy a lanzar comandos que simulen los siguientes casos:
Como observarás, el "encendido luz Hab1" es detectado por todos nuestros subscriptores,
el "encendido luz Hab2" es detectado por el subscritor general y el subscritor a las
habitaciones y, por último, el "encendido presencia cocina" sólo es detectado por el
subscriptor general ya que el sensor no forma parte del árbol gerárquico de habitaciones
(ni lógicamente hab1).