Lectura de datos MQTT de HW9 (BNI) mediante Python
1. Introducción
Proporciona instrucciones sobre cómo utilizar Python para suscribirse y recuperar datos de un tema MQTT, específicamente dirigido a la serie de dispositivos BNI (Balluff HW9 IO-Link Master).
2. Requisitos previos
- Python instalado en su sistema.
- Conocimientos básicos del protocolo MQTT.
- Acceso a un broker MQTT instalado y en ejecución.
3.1. Instalar las bibliotecas necesarias
Asegúrate de tener instalada la librería `paho-mqtt`. Puedes instalarla usando el comando pip de abajo si no está ya instalada:
pip install paho-mqtt
3.2. Configuración del código Python
Cree un script Python utilizando el siguiente código para conectarse al broker MQTT y suscribirse al tema especificado:
Introduce el siguiente código en tu IDE de python
importar paho.mqtt.client como mqtt
importar json
def on_connect(client, userdata, flags, rc):
if rc == 0:
print("Conectado")
client.subscribe("balluff//iolink/devices/master1port8/processdata/in")
si no
print("Error al conectar, Código de error", rc)
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
item = payload.get("datos", {}).get("items", {})
print(item)
cliente = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("192.168.10.200", 1883)
client.loop_forever()
3.3. Entender el Código
on_connect: Gestiona la conexión al broker MQTT y se suscribe al tema especificado.
on_message: Procesa los mensajes MQTT entrantes. Descodifica la carga JSON y recupera los datos relevantes del mensaje.
3.4. Ejecutar el script
Ejecute el script Python. Se conectará al broker MQTT en `192.168.10.200` en el puerto `1883` y comenzará a escuchar mensajes en el tema especificado.
4. Conclusión
Esto concluye el manual para la lectura de datos MQTT desde el dispositivo BNI usando Python. Para una mayor personalización o integración en sistemas más grandes, consulte la documentación de MQTT y Python.
5. Solución de problemas
- Asegúrese de que la dirección del broker MQTT (`192.168.10.200`) y el puerto (`1883`) son correctos y accesibles desde su red.
- Compruebe si existe algún cortafuegos o restricción de red que pueda impedir las conexiones.
- Confirme el estado del broker: Asegúrese de que su broker MQTT se está ejecutando utilizando herramientas de depuración como MQTT Explorer. Vaya a Servicios > Mosquitto para comprobar que está activo.
- Compruebe la conexión del dispositivo BNI: Confirme que su dispositivo BNI está correctamente configurado y conectado al broker. Si está conectado, verá los indicadores de estado correspondientes, como se muestra en la imagen siguiente.
- Instrucciones de configuración: Si aún no ha configurado su broker o su dispositivo BNI, consulte los siguientes recursos:
- Notas técnicas de aplicación
- Documento: doc-18588303 - Instalar Mosquitto Broker y Conectar MQTT en dispositivos HW9 (BNI)