本节是关于如何将您的RAK7268 网关及其内置LoRa网络服务器与另一个RAK网关通过MQTT桥接器互连组网的应用程序示范样本。
组网网关和主网关之间使用MQTT桥接器方式互连通信一般适用于主网关和组网网关之间无法直接通信的广域网内,需要LoRaWAN网关将报文发布到MQTT Broker,再由其它网关进行订阅。因此需要在公网部署一台MQTT服务器(所有参与组网的LoRaWAN网关都可直接访问的服务器),将主网关和组网网关都连接到这台MQTT服务器进行通信。
下图为广域网内多网关组网方式图例:
Figure 1: 广域网内多网关组网
#LoRaWAN网关选取
用于组网的网关,必须是内置NS也就是内置Server的LoRaWAN网关。比如本公司商业网关RAK7249或者RAK7268。
#前期准备
本文档中使用商业网关RAK7268进行多网关组网示例。
- 主网关:RAK7268 户外网关(内置LoRa网络服务器)
- 组网网关:RAK7268 户外网关(使用MQTT桥接器)
- 主网关与组网网关连接至互联网。
- 在公网部署一台MQTT服务器。
#外部MQTT Broker设置
本章节提供设置外部MQTT Broker的过程。
#部署公网 MQTT 服务器
首先,需在公网部署一台 MQTT 服务器(所有网关都可直接访问的服务器),将主网关和组网网关都连接到这台 MQTT 服务器进行通信。
用户可租用云服务器进行部署,也可以选用共有云 MQTT 服务(如阿里微消息队列)。网关的 MQTT 采用标准 MQTT 协议,支持 MQTT V3.1 和 V3.1.1,用户可选择任意一种开源或商用 MQTT 服务,本文不做详细介绍。
下面是本示例所需的工具及其下载链接:
PuTTY SSH客户端
1、在PuTTY SSH客户端,连接至云服务器:
Figure 2: 接口IP地址
2、执行以下命令,查看将用来连接到网络的接口IP地址。
Figure 3: 接口IP地址
#安装Mosquitto
1、通过以下命令安装MQTT Broker(Mosquitto):
Figure 4: 安装Mosquitto
2、Mosquitto客户端通过一个命令行工具轻松测试MQTT,将使用两个命令窗口一个用于订阅主题,一个用于向其发布消息。
注意:此命令是非强制性的,但建议使用,因为它创建了一个mosquitto服务,将在启动时运行代理。
#内置LoRa Network Server的网关-A
本节详细讨论了如何使用Web管理平台为您的RAK7268户外网关设置内置LoRa服务器。
操作以下访问Web管理平台:
1、在浏览器地址栏中输入192.168.230.1,并按"Enter"。
2、在打开的登录页面中输入用户名及密码后,单击"Login",即可登录到Web管理平台。
用户名:root
密码:root
#LoRa服务器配置
注意:关于这一部分的其他设置和详细文件,请浏览Web管理平台文件的LoRa Network部分。
1、浏览导航页签进入LoRa Network -> Network Settings -> LoRa Network Settings,将下拉列表中的Mode模式设置为Network Server。单击"Switch mode"进入新标签页。
Figure 5: 网关内置LoRa服务器协议
2、单击"Switch mode"进入新标签页。其余设置项可保留为默认值,单击页面右下角"Save & Apply"完成设置。
3、浏览导航页签进入Channel Plan,选择相应Region(频段),此示例中使用EU868频段。单击"Save & Apply"完成设置。
Figure 6: LoRa网络服务器频段设置
4、浏览导航页签进入LoRa Network -> Gateway -> General Setup,更新以下所需参数后单击"Save & Apply"。
MQTT Broker Address:云服务器IP。
MQTT Broker Port:默认情况下,值为1883。如果不是,请更新。
#发布到MQTT Broker
在内置的LoRa服务器中,将配置网关连接到外部MQTT Broker。
1、进入LoRa Network-> Global Integration页签,在MQTT Broker Address字段输入Mosquitto实例运行的地址(云服务器IP),将”Port“ 保留为默认值1883。
Figure 7: 设置MQTT Broker Address
#带有MQTT桥接器的网关-B
在本章节中,我们将演示如何将外部户外网关RAK7268-B连接到户外网关Gateway-A的内置LoRa服务器。
#Packet Forwarder配置
1、浏览导航页签进入LoRa Network -> Network Settings -> LoRa Network Settings,将下拉列表中的Mode模式设置为Packet Forwarder后,单击"Switch mode"进入新标签页。
Figure 8: Packet Forwarder配置
2、浏览导航页签进入LoRa Network -> Network Settings -> Packet Forwarder Settings,将下拉列表中的协议设置为MQTT for the Embedded RAK Network Server。
Figure 9: 设置LoRa网关MQTT桥接器协议
3、其余设置项可保留为默认值,单击页面右下角"Save & Apply"完成设置。
#LoRa网关MQTT配置
1、浏览导航页签进入LoRa Network -> Network Settings -> General Setup。
2、在下面提供的列表中更新所需的参数。
MQTT Broker Address:云服务器IP。
MQTT Broker Port:默认情况下,值为1883。如果不是,请更新。
Figure 10: LoRa网关MQTT桥接配置
3、单击"Save & Apply",所有LoRa流量应通过网关-B的桥接重定向到网关-A的MQTT代理。
#节点发送数据
1、按照以上的配置完成后,添加节点如下图所示发送数据:
Figure 11: 节点发送数据
注意:添加节点详情步骤,可参考节点配置。
2、组网网关 LoRaWAN Packet Logger:
Figure 12: LoRaWAN数据包日志
3、主网关内置 NS 收到节点报文:
Figure 13: 节点报文
4、以上过程表示主网关内置NS可以接收组网网关报文,即主网关和组网网关通过MQTT桥接器方式成功组网。