登录

登录您的账户,查询专属价格。

忘记密码?
注册

如果您已与我们取得过联系并在系统中创建过客户编号,我们会将其自动关联至您的新账号。

注册
Products
Service & Support
Industries & Solutions
Company
版本 2.0
·
最后编辑日期 2025-03-03

通过 Python 读取 HW9 (BNI) MQTT 数据

1. 导言

提供如何使用 Python 从 MQTT 主题订阅和检索数据的说明,特别针对 BNI(Balluff HW9 IO-Link Master)设备系列。

2. 先决条件

  • 系统中已安装 Python
  • 对 MQTT 协议有基本了解。
  • 访问已安装并运行的 MQTT 代理。


3.1. 安装所需程序库

确保安装了 `paho-mqtt` 库。如果尚未安装,可以使用下面的 pip 命令进行安装:

pip install paho-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()

3.3. 了解守则

on_connect:处理与 MQTT 代理的连接,并订阅指定的主题。
on_message:处理传入的 MQTT 消息。它解码 JSON 有效载荷,并从消息中检索相关数据。

3.4. 运行脚本

运行 Python 脚本。它将连接到端口为 `1883` 的 `192.168.10.200` 的 MQTT 代理,并开始监听指定主题上的消息。

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

能耗标签
能耗标签

EPREL - 欧洲能源标签产品数据库

免费试用产品

要在购物车中添加免费样品,我们需要删除购物车中的所有普通产品。您确定要继续