2023年04月22日 18:46:04 来源:厦门星纵物联科技有限公司 >> 进入该公司展台 阅读量:56
目录
星纵物联LoRaWAN®网关内置网络服务器Network Server,支持通过MQTT / HTTP(S)转发传感器数据到第三方服务器。为提高上报内容的可读性,可使用网关自带的解析上报内容。本文主要描述如何在网关上使用载荷编。
登录网关配置界面,进入“Network Server > 载荷编” 界面,可对编进行配置与管理。
星纵物联LoRaWAN®网关程序内置载荷编解码库,为所有星纵物联终端节点设备提供编解码示例。内置载荷编解码库支持两种获取方式:

若需要对第三方终端节点设备进行编解码,可点击自定义编解码函数。
然后在解码函数功能框写入终端节点设备对应的解码函数,点击保存。


当您在网关“Network Server > 设备” 界面添加终端节点设备时,可在载荷编位置选择所需的编解码。

如下以EM300-TH设备为例,列举三种数据转发的情景供参考。
注意:

保存配置后,在网关“Network Server > 数据流” 界面,点击上报数据流详情信息,可以看到解码后的JSON数据。

网关收到EM300-TH数据后将会转发如下数据
{"temperature": 30.8,"humidity": 50.5,}
星纵物联LoRaWAN®网关支持通过LoRaObject语句,在原始转发内容上筛选需要的字段。假如需要转发DevEUI,RSSI,SNR等属性包及原始数据至服务器,可以在解码函数功能框输入如下内容:
function Decode(fPort, bytes) {var decoded = {};decoded.devEUI = LoRaObject.devEUI;decoded.rssi = LoRaObject.rxInfo[0].rssi;decoded.snr = LoRaObject.rxInfo[0].loRaSNR;decoded.data = LoRaObject.data;return decoded;}
将会收到如下格式数据
{"devEUI":24e1611234567890"rssi": -5,"snr": 11,"data": AXVkA2cgAQRoeg==}
若想要转发解析数据并附带设备DevEUI信息到第三方服务器,可将EM300-TH复制粘贴到解码函数功能框中,并添加LoRaObject内容。
注意:当需要在解析数据中添加所有信息,可使用decoded.obj= LoRaObject;来实现。点击获取所有属性包。
function Decode(fPort, bytes) {var decoded = {};
//Data decoderfor (var i = 0; i < bytes.length;) {var channel_id = bytes[i++];var channel_type = bytes[i++];
//BATTERYif (channel_id === 0x01 && channel_type === 0x75) {decoded.battery = bytes[i];i += 1;}//TEMPERATUREelse if (channel_id === 0x03 && channel_type === 0x67) {decoded.temperature = readInt16LE(bytes.slice(i, i + 2)) / 10;i += 2;}//HUMIDITYelse if (channel_id === 0x04 && channel_type === 0x68) {decoded.humidity = bytes[i] / 2;i += 1;} else {break;}}
decoded.devEUI = LoRaObject.devEUI;return decoded;}
/* ******************************************* bytes to number********************************************/function readUInt16LE(bytes) {var value = (bytes[1] << 8) + bytes[0];return value & 0xffff;}
function readInt16LE(bytes){var ref = readUInt16LE(bytes);return ref > 0x7fff ? ref - 0x10000 : ref;}
将转发如下数据
{"battery": 92,"temperature": 30.8,"humidity": 50.5,"devEUI":24e1611234567890}