一套快速实现LoRa转MQTT的一对多通信方案

电子说

1.3w人已加入

描述

在一个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所示。

LoRa模块
图1 无线转MQTT透传示意图

ZLGLink终端与MQTT客户端一对多传输

1. 网关配置

网关配置主要包括协议转换配置,MQTT配置和网关ZLGLink配置三个部分。

1.1 协议转换配置

打开网关的网页配置页面,左边栏选择【协议转换】,在转换选择页面里选择【ZLGlink转MQTT】,然后点击【保存】,网关自动重启,如图2所示。

LoRa模块

图2 协议转换选择

1.2 MQTT配置

左边栏选择【网络配置】,在网络配置里选择【MQTT】标签页。

在【基本配置】里配置网关需要连接的MQTT服务器的地址、端口号、MQTT用户名、密码和客户端ID。

在【订阅主题】里配置网关订阅的主题和服务质量。

在【发布主题】里配置网关发布消息的主题和服务质量,如图3所示。

LoRa模块

图3 网关MQTT配置

1.3 ZLGLink配置 

左边栏选择【ZLGLink配置】标签页。

在【基本配置】里配置ZLGLink的基本配置参数。

在【组网控制】里配置使能自组网并允许入网,如图4所示。

LoRa模块

图4 网关ZLGLink配置 2. ZLGLink 终端配置

使用Wireless Tool上位机配置ZLGLink终端参数,如图5所示。

LoRa模块

图5 ZLGLink终端配置 3. MQTT客户端配置

MQTT客户端设置MQTT服务器的地址、端口号、MQTT用户名、密码和客户端ID并订阅从机信息。本文以MQTTX客户端上位机做演示,如图6所示。

LoRa模块

图6 MQTT客户端配置 4. 成果展示

ZLGLink终端与MQTT客户端进行一对多数据传输结果,如图7所示。

LoRa模块

图7 ZLGLink终端与MQTT客户端通信展示





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分