目前我有自己的LoRaWAN网络,大约有45个设备用这个有效载荷发送数据: ID=D0001&T=23&H=60,其中ID是sensorId;T-温度;H-湿度。
在从我的设备中获取上下文之前,我需要做哪些步骤?
以下是我所做的步骤:
1-已安装物联网-超光速剂
使用我的MQTT数据在config.js文件上配置MQTT
config.mqtt ={ host:'HOST_NAME',端口: 1883,协议:mqtt__,用户名:‘用户名’,密码:‘密码’,保留:假,重试: 5,retryTime: 5,保持活动: 0,avoidLeadingSlash: false };
得到以下消息:时间=2020-12-01T10:44:48.197 z lvl=INFO区corr=526 cdc56-62b8-4791-b95d-f5110ca18b7e反式=526 cdc56-62b8-4791-b95d=526 cdc56-62b8-4791-b95d-f5110ca18b7e op=IOTAUL.MQTT.Binding 44/a srv=n/a subsrv=n/a msg=connected comp=IoTAgent
发布于 2020-12-02 08:32:11
目前还不清楚您需要的是超光速的IoT代理还是IoT代理LoRaWAN。超轻是一种有效负载语法,IoT代理支持HTTP、MQTT和AMPQ传输。LoRaWAN是一种传输,它支持一些COAP协议。
如果您确实在发送LoRa COAP消息,那么您将需要LoRaWAN代理。
如果您在MQTT上使用Ultralight,那么您的消息负载应该如下所示
ID|D0001|T|23|H|60 关于MQTT教程的超轻存在于“逐步指南”中.
如果您在LoRaWAN上使用COAP,那么您的消息有效负载将是来自LoRa网关的base64字节流。事物网络教程描述了设置.
如果您的有效负载实际上是:ID=D0001&T=23&H=60,则需要创建自己的解析器(如自定义IoT代理教程 ),并按照更改IoT代理代码基的步骤进行操作。
具体来说,使用HTTPBindings parseData()函数的控制流。需要重写ulParser以接受您的替代语法。它看起来非常相似,您所需要做的就是:
if (payload) {
data = ulParser.parse(payload.replace(/&/g, "|").replace(/=/g, "|"));
}(更好的方法是在发送到超轻型IoT代理之前就可以这样做)
重用现有的IoT代理(或使用IoT代理节点库编写新的代理)的优点是使用现有代码实现实体创建和属性映射等功能。
https://stackoverflow.com/questions/65089132
复制相似问题