我可以用 LoRa 发送 JSON 数据吗?如何发送?

Could I send JSON data with LoRa and how?

我有一个带有 LoRa 蜜蜂的 SODAQ Mbili 开发板。我还有一个 GPS 传感器。您可以在下面找到我如何添加蜜蜂和传感器。

在那块板上,我用 GPS 坐标制作了一个 JSON 字符串,我将通过 LoRa 网络发送该数据。但是我怎么能那样呢。

在我下载的源代码中,他们使用下一个代码:

LoRaModemMicrochip modem(&MODEM_SERIAL, &debugSerial);
Device libTest(&modem, &debugSerial);

void readGPSData() {
    GPSSensor gpsSens(4.3, 51.222, 15.5, 0);
    dumpSendResult(gpsSens);
}

void dumpSendResult(Sensor& sns) {
    bool sendResult = libTest.send(sns, true);
}

我将像下面的代码一样更改此代码,以便我可以发送我的 JSON 数据

LoRaModemMicrochip modem(&MODEM_SERIAL, &debugSerial);
Device libTest(&modem, &debugSerial);

void readGPSData() {
    String json = "My JSON code";
    dumpJsonResult(json);
}

void dumpJsonResult(String& text) {
    bool sendResult = libTest.send(text, true);
}

但是它给了我这个错误:

In function void dumpJsonResult(String&):

Error: no matching function for call to Device::send(String&, bool)

bool sendResult = libTest.send(text, true);
                                         ^

你知道我如何发送 JSON 数据到 LoRaWAN 吗?

使用了哪些库?我还没有在 sodaq 网站上找到 LoRaModemMicrochip 对象定义。

你看过http://support.sodaq.com/sodaq-one/lorabee/了吗?

我强烈建议您不要将 JSON 与 LoRa 一起使用,因为这非常冗长并且会占用大量广播时间,而 LoRa 运行 的频段具有很强的占空比限制.

如果您有正确的 NWSessionKey 和 APPSessionKey 等,您可以尝试通过 Actility 的免费合作伙伴区域注册您的设备。 https://partners.thingpark.com/

完成后,您需要:

  • 了解如何执行 下行链路
  • 创建您自己的有效负载机制,例如通过经签名的整数为 Lat、long 和 Alt 编码您的 GPS。
  • 然后在您的设备中对其进行解码

您的设备还可以向您将插入 Actility 解决方案的应用服务器发送确认 (REST-POST/JSON)

让我们知道进展如何 最好的问候,