ZigBee设备如何对接开源物联网平台ThingsPanel
发布日期:
ZigBee设备通过ZigBee2MQTT网关,可以转换ZigBee协议为MQTT,通过MQTT协议接入ThingsPanel,实现对ZigBee设备的智能管理。
本文主要讲解ZigBee设备到ThingsPanel的主要过程。其他问题可以加入我们的QQ群进一步交流。
将ZigBee设备的数据发送到ThingsPanel,基本的流程是:
- Zigbee设备:Zigbee设备,如传感器或开关,会生成一些数据(如传感器读数或设备状态)。
- Zigbee2MQTT硬件网关接收并使用MQTT发布:这些数据被发送到Zigbee2MQTT硬件网关,它具有Zigbee协调器的功能,可以与多个Zigbee设备进行通信。网关接收并转换数据为JSON格式,并通过MQTT发布到预定的MQTT主题。
- ThingsPanel接收并转换数据:ThingsPanel订阅了相应的MQTT主题,因此它会接收到Zigbee设备的数据,并在其平台上进行处理和展示。
第一步:准备设备
我使用的设备是涂鸦温湿度传感器。
硬件网关使用的是ZigBee2MQTT网关。
主机可使用树莓派或者homeassistant,电脑也可以。
硬件网关具备自动扫描、识别、添加设备的能力。
需要将这些设备通电并链接。
第二步:安装网关,并按照ThingsPanel创建设备生成的参数配置网关
安装 https://github.com/Koenkk/zigbee2mqtt 项目,如果是Homeassistant,安装相对简单
安装后需要进行MQTT配置,这里配置时需要使用ThingsPanel在添加设备时所产生的配置,例如用户名、主题、密码等。
然后扫描并识别设备
识别之后,可以通过mosquitto来订阅访问是否收到数据
mosquitto_sub -h 192.168.31.31 -p 1883 -u uesr -P Password -t zigbee2mqtt/# -N -v
输出的代码是,为了方便看,我已经格式化了:
zigbee2mqtt/涂鸦温度传感器
{
"battery": 100,
"humidity": 78.3,
"linkquality": 142,
"temperature": 29.65,
"voltage": 3000
}
zigbee2mqtt/bridge/logging
{
"level": "info",
"message": "MQTT publish: topic 'zigbee2mqtt/涂鸦温度传感器', payload '{\"battery\":100,\"humidity\":78.3,\"linkquality\":142,\"temperature\":29.65,\"voltage\":3000}'"
}
zigbee2mqtt/涂鸦温度传感器
{
"battery": 100,
"humidity": 78.3,
"linkquality": 142,
"temperature": 29.65,
"voltage": 3000
}
zigbee2mqtt/bridge/logging
{
"level": "info",
"message": "MQTT publish: topic 'zigbee2mqtt/涂鸦温度传感器', payload '{\"battery\":100,\"humidity\":78.3,\"linkquality\":142,\"temperature\":29.65,\"voltage\":3000}'"
}
第三步:ThingsPanel编辑解析脚本
需要根据具体的报文编写。
编写脚本后,进行测试,如果脚本正常,数据将自动进入ThingsPanel物联网平台。