Enviar medidas LoRa para o agente Fiware IOT via MQTT
Eu tenho sensores LoRa que enviam medidas com carga útil no formato LPP Cayenne. Meu gateway (LOrank8v1) captura esses pacotes e os converte em UDP. No gateway, existe um serviço (lora-gateway-bridge) que converte os pacotes de UDP em TCP / MQTT.
Em seguida, os pacotes MQTT são publicados no broker MQTT do mosquito na nuvem. Então eu executo os serviços lora-server e lora-app-server para descriptografar, decodificar e desduplicar os pacotes.
Em seguida, publico as informações descriptografadas no broker do MQTT novamente. Aqui está um exemplo de publicação após todas essas operações: 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
}
}
}
Agora eu quero usar o agente JSON / MQTT IOT do Fiware para converter MQTT em NGSI para publicar dados no Context Broker.
Os dados devem ser publicados assim para serem legíveis:
$ mosquitto_pub -h $HOST_IOTAGENT_MQTT -u theUser -P thePassword -t /myapikey/mydevicemqtt/attrs -m '{ "t": 19,7, "h": 70}'
Alguém tem o mesmo problema? Devo criar um analisador JSON e republicar os dados para outro formato no MQTT Broker? Como eu poderia lidar com esse problema?