IoT-AgentUL如何获取数据
IoT-AgentUL how to get data
目前我有自己的 LoRaWAN 网络,大约有 45 台设备使用此有效负载发送数据:ID=D0001&T=23&H=60 其中 ID 是传感器 ID; T-温度; H - 湿度。
接下来我必须执行哪些步骤才能从我的设备获取上下文?
这些是我完成的步骤:
1 - 已安装 IoT-Agent Ultralight
2 - 在 config.js 文件上使用我的 MQTT 数据配置 MQTT
config.mqtt = {
主持人:'HOST_NAME',
端口:1883,
协议:mqtt
,
用户名:'USERNAME',
密码:'PASSWORD',
保留:假,
重试:5,
重试时间:5,
保活:0,
避免前导斜线:假
};
3 - IoTAgent-ul(节点 bin/iot-agentul),收到此消息:time=2020-12-01T10:44:48.197Z | lvl=信息 | corr=526cdc56-62b8-4791-b95d-f5110ca18b7e |反式=526cdc56-62b8-4791-b95d-f5110ca18b7e | op=[=38=] |来自=n/a | srv=n/a | subsrv=n/a |味精=连接 | comp=IoTAgent
不清楚您是否需要 IoT Agent for Ultralight or the IoT Agent for LoRaWAN。 Ultralight 是一种有效负载语法,Ultralight IoT 代理支持 HTTP、MQTT 和 AMPQ 传输。 LoRaWAN 是一种传输方式,它支持多种 COAP 协议。
如果您真的要发送 LoRa COAP 消息,那么您将需要 LoRaWAN 代理。
如果您在 MQTT 上使用 Ultralight,那么您的消息负载应该如下所示
ID|D0001|T|23|H|60
分步指南中存在 Ultralight over MQTT Tutorial。
如果您在 LoRaWAN 上使用 COAP,那么您的消息负载将是来自 LoRa 网关的 base64
字节流。 Things network tutorial 描述了设置。
如果您的有效负载确实是:ID=D0001&T=23&H=60
,您将需要像 Custom IoT Agent Tutorial 一样创建自己的解析器,并按照更改 IoT 代理代码库的步骤进行操作。
具体来说,用HTTPBindings
parseData()函数控制流程。 ulParser
需要重写以接受您的替代语法。它看起来非常相似,您需要做的就是:
if (payload) {
data = ulParser.parse(payload.replace(/&/g, "|").replace(/=/g, "|"));
}
(如果能在发送到 Ultralight IoT 代理之前完成就更好了)
重用现有物联网代理(或使用物联网代理节点库编写新的物联网代理)的优势在于,实体的创建和属性映射等功能是使用现有代码实现的。
目前我有自己的 LoRaWAN 网络,大约有 45 台设备使用此有效负载发送数据:ID=D0001&T=23&H=60 其中 ID 是传感器 ID; T-温度; H - 湿度。
接下来我必须执行哪些步骤才能从我的设备获取上下文?
这些是我完成的步骤:
1 - 已安装 IoT-Agent Ultralight
2 - 在 config.js 文件上使用我的 MQTT 数据配置 MQTT
config.mqtt = {
主持人:'HOST_NAME',
端口:1883,
协议:mqtt
,
用户名:'USERNAME',
密码:'PASSWORD',
保留:假,
重试:5,
重试时间:5,
保活:0,
避免前导斜线:假
};
3 - IoTAgent-ul(节点 bin/iot-agentul),收到此消息:time=2020-12-01T10:44:48.197Z | lvl=信息 | corr=526cdc56-62b8-4791-b95d-f5110ca18b7e |反式=526cdc56-62b8-4791-b95d-f5110ca18b7e | op=[=38=] |来自=n/a | srv=n/a | subsrv=n/a |味精=连接 | comp=IoTAgent
不清楚您是否需要 IoT Agent for Ultralight or the IoT Agent for LoRaWAN。 Ultralight 是一种有效负载语法,Ultralight IoT 代理支持 HTTP、MQTT 和 AMPQ 传输。 LoRaWAN 是一种传输方式,它支持多种 COAP 协议。
如果您真的要发送 LoRa COAP 消息,那么您将需要 LoRaWAN 代理。
如果您在 MQTT 上使用 Ultralight,那么您的消息负载应该如下所示
ID|D0001|T|23|H|60
分步指南中存在 Ultralight over MQTT Tutorial。
如果您在 LoRaWAN 上使用 COAP,那么您的消息负载将是来自 LoRa 网关的 base64
字节流。 Things network tutorial 描述了设置。
如果您的有效负载确实是:ID=D0001&T=23&H=60
,您将需要像 Custom IoT Agent Tutorial 一样创建自己的解析器,并按照更改 IoT 代理代码库的步骤进行操作。
具体来说,用HTTPBindings
parseData()函数控制流程。 ulParser
需要重写以接受您的替代语法。它看起来非常相似,您需要做的就是:
if (payload) {
data = ulParser.parse(payload.replace(/&/g, "|").replace(/=/g, "|"));
}
(如果能在发送到 Ultralight IoT 代理之前完成就更好了)
重用现有物联网代理(或使用物联网代理节点库编写新的物联网代理)的优势在于,实体的创建和属性映射等功能是使用现有代码实现的。