版本 2.0
·
最后编辑日期 2025-03-03
通过 Python 读取 HW9 (BNI) MQTT 数据
1. 导言
提供如何使用 Python 从 MQTT 主题订阅和检索数据的说明,特别针对 BNI(Balluff HW9 IO-Link Master)设备系列。
2. 先决条件
- 系统中已安装 Python
- 对 MQTT 协议有基本了解。
- 访问已安装并运行的 MQTT 代理。
3.2. Python 代码设置
使用以下代码创建 Python 脚本,连接到 MQTT 代理并订阅指定主题:
在您的 Python IDE 中输入以下代码
import paho.mqtt.client as mqtt
导入 json
def on_connect(client, userdata, flags, rc):
如果 rc == 0:
print("Connected")
client.subscribe("balluff//iolink/devices/master1port8/processdata/in")
否则
print("Failed to connect, Error code", rc)
def on_message(client, userdata, msg):
payload = json.loads(msg.payload.decode())
item = payload.get("data", {}).get("items", {})
print(item)
客户端 = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message
client.connect("192.168.10.200", 1883)
client.loop_forever()
4. 结论
使用 Python 从 BNI 设备读取 MQTT 数据的手册到此结束。如需进一步定制或集成到更大的系统中,请参阅 MQTT 和 Python 文档。
5. 故障排除
- 确保 MQTT 代理地址("192.168.10.200")和端口("1883")正确且可从网络访问。
- 检查是否有可能阻止连接的防火墙或网络限制。
- 确认代理状态:使用调试工具(如 MQTT Explorer)确保 MQTT 代理正在运行。导航至 "服务">"Mosquitto",验证其是否处于活动状态。

- 检查 BNI 设备连接:确认 BNI 设备已正确配置并连接到代理。如果已连接,您将看到相关状态指示器,如下图所示。

- 设置说明:如果您尚未设置代理或配置 BNI 设备,请参考以下资源:
- 技术应用说明
- 文档:doc-18588303 - 在 HW9 (BNI) 设备上安装 Mosquitto 代理和连接 MQTT

