如何实现RS485转LoRaWAN数据采集器RAK7421的定时轮询功能

今日头条

1094人已加入

描述

RS485转LoRaWAN数据采集器,顾名思义,其是工业常用的RS485接口的传感器与LoRaWAN网络之间的桥梁。受限于工业上的传感器设置的位置,RS485转LoRaWAN数据采集器安装的位置有可能不太方便于现场调试,因此,远程下发指令就显得很重要。

另外,设置轮询指令的作用在于,我们可以使得传感器定时轮询,而无需每次都从SERVER下发指令,从而可以大大降低网络拥塞的可能性。本文基于RAK瑞科慧联的数据采集器RAK7421,介绍如何通过MQTT工具来远程下发轮询指令给到RAK7421。希望了解什么是RS485转LoRaWAN数据采集器的,可以参见文章《RS485转LoRaWAN:工业应用场景无线组网的正确打开方式》。

远程下发轮询指令的类型

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

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

数据采集

修改完成后,我们就可以利用MQTT工具来下发指令给到RAK7421。希望了解更多的MQTT功能在LoRaWAN网关上的应用,还可以查看文章《如何在LoRaWAN网关的网页上设置MQTT的订阅的Topic》、《如何测试LoRa节点内置MQTT SERVER的数据传输是否正常》。

下图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

⑤ 任务单内容

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

数据采集

移除定时轮询任务单

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

数据采集

发布主题:Application/1/device/60c5a8fffe76ddc1/tx

内容:

{

"comfirmed":true,

"fPort":129,

"data":"040001000101"

}

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

读取定时轮询任务单

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

数据采集

图5  RAK7421节点读取定时轮询温湿度传感器任务单示例

发布主题;Application/1/device/60c5a8fffe76ddc1/tx

内容:

{

"comfirmed":true,

"fPort":129,

"data":"050001000101"

}

打开MQTT订阅栏即可看到执行成功的上行消息:“850001000901010300000002C40B”,即查询到的任务单ID为1,任务单内容为010300000002C40B(温湿度感应器轮询单)。

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

fqj

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

全部0条评论

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

×
20
完善资料,
赚取积分