2016-12-03 129 views
0

我有一個LoRa蜜蜂的SODAQ Mbili板。我也有一個GPS傳感器。在下面你可以找到我如何添加蜜蜂和傳感器。我可以使用LoRa發送JSON數據嗎?

該板上我做一個JSON字符串與GPS座標,我會在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嗎?

+1

由於巨大的數據開銷,發送json over lorawan是非常糟糕的做法。您應該考慮儘可能多地壓縮數據,只發送真正需要的字節。否則,你會殺死你的工作週期時間! – cambierr

回答

2

如果您有正確的NWSessionKey和APPSessionKey等,您可以嘗試通過Actility的免費合作伙伴區域加載您的設備。 https://partners.thingpark.com/

一旦你這樣做,你將需要:

  • 瞭解如何執行下行
  • 創建自己的有效載荷機制,如過有符號整數編碼的GPS叻,長和Alt。
  • 然後將設備內解碼

您的設備也可以發送ACK到應用型服務器,你會插上Actility的解決方案(REST-POST/JSON)

讓我們知道如何去 最佳問候,

-1

使用的庫有哪些?我還沒有在sodaq網站上找到LoRaModemMicrochip對象定義。您是否看過http://support.sodaq.com/sodaq-one/lorabee/

我強烈建議您不要在LoRa中使用JSON,因爲這非常冗長,會佔用大量的空閒時間,而LoRa運行的頻段具有強大的佔空比限制。

相關問題