复制代码到树莓派(Linux 系统,任意目录,添加开机自启动即可)
打开本工程,修改 config.py 里面 wifi 信息、MQTT 信息等。
下载程序完成之后接口正常工作。
树莓派 USB 口插入外置 USB 转串口模块,模块连接网关 Zigbee 部分即可
波特率 115200 ,可在 config.py 中配置
单片机端发送:
{'chip_id':'?'}
树莓派会回复:
{'chip_id':'36366'}
MQTT 接收到来自服务器话题为"er/" + chip_id + "/#"
的json 格式的字符串消息会自动下发到串口
其中 # 为通配符, 适配所有节点和传感器,下位机需要自行鉴定格式和指令是否合法。
节点直接上传数据格式为 类似:
{
"id": "er/1234567/1234x",
"type": "s",
"stype": "temp",
"data": "025"
}
通过网关 Zigbee 部分头传给树莓派之后,树莓派会自动获取其中 id 并把它作为 Topic 此条完整发送消息到服务器,订阅此话题的设备(推送下发,网关发送完成之后也会收到此信息;订阅此话题的 App 也会收到此信息)就会收到该消息。这样就可以通过预定义的协议部分进行设备控制、状态上传、状态获取。
网关与服务器交互采用 MQTT 协议,使用订阅/发布 机制,具体具体解释请参阅:
https://mcxiaoke.gitbooks.io/mqtt-cn/content/mqtt/01-Introduction.html
树莓派首先通过配置文件获取自身 id(用户自行配置),然后通知给网关的 Zigbee 部分,同时向服务器订阅 "er/" + chip_id + "/#"
话题,这样就可以接收到来自服务器关于 "er/" + chip_id + "/#"
话题树下级任何客户端的信息了。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。