Cliente MQTT para monitorizar del sistema
Cliente MQTT para monitor del sistema
En esta entrada se recoge la información necesaria para poder comprender una de las muchas maneras que hay para monitorizar el sistema del parking que hay que realizar para las prácticas. En este caso se ha optado por una solución mediante consola ejecutando un script en lenguaje Python.
El siguiente código está ajustado para que funcione simulando dos plazas de parking, sin embargo, es fácilmente adaptable a cualquier número de plazas con la que se quieran hacer las pruebas.
Para poder usar este código es necesario instalar la librería paho.mqtt
Para poder usar este código es necesario instalar la librería paho.mqtt
#usr/bin/python3
import paho.mqtt.client as paho
import os
global vehiculos
vehiculos = []
vehiculos.append("Suelo")
vehiculos.append("Suelo")
# Evento que se lanza cuando se subscribe a la escucha del servicio
def on_subscribe(client, userdata, mid, granted_qos):
print("Subscribed: "+str(mid)+" "+str(granted_qos))
# Evento que se lanza cuando se envía un mensaje
def on_message(client, userdata, msg):
global vehiculos
topic = (str(msg.topic)).split("/")[2]
vehiculo = str(msg.payload).split("'")[1]
plaza = int(topic[-1:])
vehiculos[plaza-1] = vehiculo
print ("En la plaza1 hay un " + vehiculos[0] + ", en la plaza2 hay un " + vehiculos[1] )
client = paho.Client()
# Estableciendo el funcionamiento de los métodos de la clase cliente para responder a los eventos
# Estableciendo el funcionamiento de los métodos de la clase cliente para responder a los eventos
client.on_subscribe = on_subscribe
client.on_message = on_message
# Conexión al broker público en el puerto específico
# Conexión al broker público en el puerto específico
client.connect("broker.mqttdashboard.com", 1883)
# Subscripción a todos los eventos que comiencen por "iiott2018/"
# Subscripción a todos los eventos que comiencen por "iiott2018/"
client.subscribe("iiot2018/#", qos=1)
client.loop_forever()
El código se encuentra disponible en Código Python MQTT
El código se encuentra disponible en Código Python MQTT
Funcionamiento
A continuación, se muestra un vídeo donde se puede ver el funcionamiento del sistema descrito en esta entrada.Posibles errores
Uno de los posibles errores que se pueden dar al realizar esta prueba es la conexión al broker. En concreto, para realizar esta práctica se proporcionó al dispositivo internet mediante el móvil personal para que no hubiese problemas de bloqueo de puertos, seguridad, etc...
Comentarios
Publicar un comentario