打印

如何借助MQTT远程给数据采集器RAK7421下发 轮询指令

[复制链接]
394|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 RAK瑞科慧联 于 2020-10-27 13:56 编辑

前言
RS485转LoRaWAN数据采集器,顾名思义,其是工业常用的RS485接口的传感器与LoRaWAN网络之间的桥梁。受限于工业上的传感器设置的位置,RS485转LoRaWAN数据采集器安装的位置有可能不太方便于现场调试,因此,远程下发指令就显得很重要。
另外,设置轮询指令的作用在于,我们可以使得传感器定时轮询,而无需每次都从服务器下发指令,从而可以大大降低网络拥塞的可能性。
本文基于RAK瑞科慧联的数据采集器RAK7421,介绍如何通过MQTT工具来远程下发 轮询指令给到RAK7421。

一、远程下发 轮询指令的类型
通过MQTT工具来远程下**询指令给到RAK7421,总共包括三种轮询指令:
(a)增加定时轮询任务单消息
(b)移除定时轮询任务单
(c)读取定时轮询任务单
接下来我们将对这三种轮询指令进行具体介绍。

mqtt下发指令给RAK7421,需要通过LoRaWAN网关来下发。
因此,为了能够利用MQTT工具来远程下发 轮询指令到RAK7421,我们需要首先登陆RAK瑞科慧联提供的网关的用户界面,如图1所示,并通过以下路径:LoRa Network sever->Application->Edit->Integrations,来修改数据编码类型HEX String。
1   RAK瑞科慧联的LoRaWAN网关用户界面
修改完成后,我们就可以利用MQTT工具来下发指令给到RAK7421。

二、增加定时轮询任务单消息
下行指令消息格式如表1所示。
1     增加定时轮询任务单消息的下行指令消息格式
注:消息长度不包含报文头

2是RAK7421节点添加定时轮询温湿度传感器任务单示例图。
2    RAK7421节点添加定时轮询温湿度传感器任务单示例

如图2所示,发布主题:
Application/1/device/60c5a8fffe76ddc1/tx
(注:Application ID和Device EUI与网关内的设置一致)
内容:
{
"comfirmed":true,
"fPort":129,
"data":"030001000901010300000002C40B"
}
任务单内容解释:

03 0001 0009 01 010300000002C40B
①  ②   ③ ④        ⑤

① DTU命令字CMD
② 消息序号
③ 消息长度(不含报文头)
任务单ID
⑤ 任务单内容

执行成功上行消息格式如表2所示。
2     增加定时轮询任务单执行成功的上行指令消息格式

如图3所示,MQTT订阅栏即可看到执行成功的上行消息“8300010000”,随后开始轮询并接收到的传感器温湿度信息。
3  MQTT订阅栏显示执行成功的上行消息的示意图

三、移除定时轮询任务单
下行指令消息格式如表3所示。

3  移除定时轮询任务单的下行指令消息格式

RAK7421节点移除定时轮询温湿度传感器任务单示例如图4所示。
4  RAK7421节点移除定时轮询温湿度传感器任务单示例

发布主题:
Application/1/device/60c5a8fffe76ddc1/tx
内容:
{
"comfirmed":true,
"fPort":129,
"data":"040001000101"
}

执行成功上行消息格式如表4所示。
4  移除定时轮询任务单执行成功的上行指令消息格式

MQTT订阅栏查看到执行成功的上行消息“8400010000”,即表示任务移除成功。

四、读取定时轮询任务单
下行指令消息格式如表5所示。

5   读取定时轮询任务单的下行指令消息格式

RAK7421节点读取定时轮询温湿度传感器任务单示例如图5所示。
5  RAK7421节点读取定时轮询温湿度传感器任务单示例
发布主题:
Application/1/device/60c5a8fffe76ddc1/tx
内容:
{
"comfirmed":true,
"fPort":129,
"data":"050001000101"
}

执行成功上行消息格式如表6所示。
6   读取定时轮询任务单执行成功的上行指令消息格式
打开MQTT订阅栏即可看到执行成功的上行消息:“850001000901010300000002C40B”
即查询到的任务单ID为1,任务单内容为010300000002C40B(温湿度感应器轮询单)

结语
本文基于RAK瑞科慧联的数据采集器RAK7421,介绍了如何通过MQTT工具来远程下发 轮询指令给到RAK7421。
通过设置轮询指令,我们可以使得传感器定时轮询,而无需每次都从服务器下发指令,从而可以大大降低网络拥塞的可能性。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

68

帖子

0

粉丝