在一个LoRa无线网络中,往往是一个网关南向需要管理多个终端并与其通信,北向通过MQTT协议与服务器通信,本文提供了一套快速实现LoRa转MQTT的一对多通信方案以供参考。
终端与MQTT客户端实现一对多通信简介
终端与网关中的LoRa模组使用广州致远电子股有限公司开发的ZLGLink智能组网协议。在终端与网关进行组网后,网关会为每一个组网终端分配设备地址(在该网络中每个终端的地址都是唯一的),通过设备地址网关与终端可以实现单播与广播通信。
根据终端与网关可以通过设备地址进行通信的机制,在MQTT主题的订阅/发布中添加设备地址信息便可以实现终端与MQTT客户端的一对多通信。MQTT客户端与网关订阅/发布MQTT主题的配置表,如表1所示。表1 订阅/发布主题配置表
设备 | 订阅 | 发布 | 备注 |
网关 | subtopic/+ | pubtopic /{addr} | 1.订阅主题使用通配符“+”可订阅不同地址的终端或客户端数据; 2.网关发布使用关键字“addr”可发布不同地址的终端数据; 3.MQTT客户端发布主题使用如“addr0x0001”可发布数据到指定终端; 4.MQTT客户端发布主题使用“addr0xFFFF”可发布数据到所有终端。 |
MQT客户端 | pubtopic/+ | 1. subtopic /addr0x0001 2. subtopic /addr0xFFFF |
无线转MQTT透传示意图,如图1所示。
图1 无线转MQTT透传示意图
ZLGLink终端与MQTT客户端一对多传输
1. 网关配置
网关配置主要包括协议转换配置,MQTT配置和网关ZLGLink配置三个部分。
1.1 协议转换配置
打开网关的网页配置页面,左边栏选择【协议转换】,在转换选择页面里选择【ZLGlink转MQTT】,然后点击【保存】,网关自动重启,如图2所示。
图2 协议转换选择
1.2 MQTT配置
左边栏选择【网络配置】,在网络配置里选择【MQTT】标签页。
在【基本配置】里配置网关需要连接的MQTT服务器的地址、端口号、MQTT用户名、密码和客户端ID。
在【订阅主题】里配置网关订阅的主题和服务质量。
在【发布主题】里配置网关发布消息的主题和服务质量,如图3所示。
图3 网关MQTT配置
1.3 ZLGLink配置
左边栏选择【ZLGLink配置】标签页。
图4 网关ZLGLink配置2. ZLGLink 终端配置
使用Wireless Tool上位机配置ZLGLink终端参数,如图5所示。
图5 ZLGLink终端配置3. MQTT客户端配置
MQTT客户端设置MQTT服务器的地址、端口号、MQTT用户名、密码和客户端ID并订阅从机信息。本文以MQTTX客户端上位机做演示,如图6所示。
图6 MQTT客户端配置4. 成果展示
ZLGLink终端与MQTT客户端进行一对多数据传输结果,如图7所示。
图7 ZLGLink终端与MQTT客户端通信展示
全部0条评论
快来发表一下你的评论吧 !