我有LoRa传感器,以卡宴LPP格式的有效载荷发送措施。My Gateway(LOrank8v1)捕获这些数据包并将它们转换为UDP。在网关中有一个服务(lora-网关-桥),它将数据包从UDP转换为TCP/MQTT。
然后,将MQTT数据包发布到云中的MQTT代理。然后我运行lora和lora server服务,以便解密、解码和销毁数据包.
然后,我再次向MQTT代理发布解密信息。以下是所有这些操作之后发布的一个示例: application/1/node/0000000000000000/rx
{
"applicationID":"1",
"applicationName":"Temperature-Humidity",
"deviceName":"Temperature-Humidity",
"devEUI":"0000000000000 000",
"rxInfo":[
{
"mac":"1dee18c14948a955",
"rssi":-27,
"loRaSNR":9.5,
"name":"1dee18 c14948a955",
"latitude":0,
"longitude":0,
"altitude":0
}
],
"txInfo": {
"frequency":8685 00000,
"dataRate": {
"modulation":"LORA",
"bandwidth":125,
"spreadFactor":9
},
"adr":false,
"codeRate":"4/5"
},
"fCnt":2,
"fPort":1,
"data":"AGcAxQFojA==",
"object": {
"temperatureSensor": {
"0":19.7
},
"humiditySensor": {
"1":70
}
}
}现在,我想使用Fiware的JSON/MQTT IOT代理将MQTT转换为NGSI,以便将数据发布到上下文代理。
数据应该像这样发布以便于阅读:
$ mosquitto_pub -h $HOST_IOTAGENT_MQTT -u theUser -P thePassword -t /myapikey/mydevicemqtt/attrs -m '{ "t": 19,7, "h": 70}'有同样的问题吗?我应该创建一个JSON解析器并将数据重新发布到MQTT代理中吗?我该如何处理这个问题?
发布于 2021-02-05 20:23:54
您应该为Lorwan使用IoT代理,它支持Cayenne。
发布于 2018-02-06 13:21:42
我不知道我是否正确地理解了你的问题。您的步骤是可以的,您需要一些东西从Cayenne转换为您所选择的代理所期望的JSON格式。当然,首先需要通过代理注册设备,在这一步中,定义设备提供的不同参数(这将配置如何发送json消息)。
https://github.com/telefonicaid/iotagent-json/blob/master/docs/stepbystep.md#provisioning-the-device
从卡耶尼到“特约”的翻译是一个“不可取的”步骤。因为您正在做cayene->json->NGSI (但我不确定是否还有其他选项)。我们正在研究创建一个能够理解Cayene格式的新代理的可能性,但还为时尚早,我不确定MQTT是否将是选定的传输协议。此外,lora服务器还将与基于Cayene的组合JSON相关,因此.这会使任务更加复杂..。让我们看看..。
https://stackoverflow.com/questions/48638932
复制相似问题