星纵 LoRaWAN UG65 网关使用消息规则转发数据到子设备
约 585 字大约 2 分钟
星纵 LoRaWAN UG65 网关使用消息规则转发数据到子设备
客户使用星纵 LoRaWAN UG65 网关接入 ThingsCloud,网关连接多个 LoRa 子设备,这个示例介绍如何利用 ThingsCloud 消息规则,使平台上的网关设备收到的上报数据,转发给相应的子设备。
UG65 网关硬件端的配置,这里不做详细介绍,可参考另一篇博客:
略有不同的是,在这个示例中,我们不在网关硬件端对数据做解码,而是让网关将原始数据直接上报到 ThingsCloud,通过平台的消息规则转发到子设备,再由不同子设备的规则来解码数据。
网关设备接收属性上报
首先,确认在网关设备的调试日志中,看到属性上报消息,如下图:
通过分析消息 JSON
信息,可以看到 data
和 devEUI
,如下图:
这两个字段非常重要,含义如下:
data
:设备上报的数据,使用 base64 格式编码。devEUI
:代表数据来自子设备的地址,用于转发给子设备。
创建属性上报规则
接下来,为网关设备或所属设备类型,创建一个属性上报规则,如下:
添加操作,选择向当前网关上报子设备属性,如下:
云函数中填写一段简单的 Javascript
代码,如下图:
module.exports = function (report_attributes) {
/**
* report_attributes: 上报的属性对象,作为函数参数传入
*/
var data = {};
if (report_attributes.devEUI) {
data[report_attributes.devEUI] = report_attributes;
}
return data;
}
创建好的规则是这样的,如下图:
添加子设备及地址
在 ThingsCloud 平台上的网关设备中,添加子设备,并且设置子设备地址,使用前边的 devEUI
,注意大小写必须一致。
详细了解 ThingsCloud 消息规则,请浏览 消息规则
子设备收到转发的消息
大功告成,子设备收到了从网关转发的消息,在设备调试日志中可以看到,如下图: