研究筆記 - Enable LoRa extension
緣起
- 一開始只是想解決在場域上,需要的長距離解決方案
- 目前有模組願意支援,且有上架的打算,所以看看能不能將 LASS 推展到可以支援 LoRa
目前狀態
- 預計可取得非常少套數的 Gateway 以及模組
- 想辦法讓 LASS 能支援 LoRa extension
何謂一套
- 目前知道的是 1*Gateway + 5* 模組稱之為一套。
LASS 支援 LoRa 開發案
- 公開徵求高手將 LASS設備 透過 LoRa 上傳到 LASS 後台,依往例所有 LASS 相關的 code 都會開源 commit 進 LASS github
- 由於資源有限,目前暫定這些設備還是 LASS 所有,讓大家借出使用。
- 借出時,須確認能協助開發 LASS 支援 LoRa。由於設備有限,借出時不一定能以整套的方式借出
公開狀態
- 由於設備尚未公開可以被取得,資訊目前預設暫時不完全公開。
- 當然近期內會全部公開,LASS 不做無法被大家取得的設備
LASS 相關設計
簡單說從 Wifi 送 MQTT 這條路換成一次只能送 11 bytes 的不穩定管道,而且不提供重傳。我們必須加工將想要的必要資訊送出,然後再從 server subscribe 資料,轉成我們的資料格式,以MQTT 上傳 LASS
主板 ---(UART, AT command)--- LoRa module ---(922-928MHz, 16 Channel)--- LoRa Gateway ---(Vendor internal)---LoRa Service ---(Internet)--- LASS converter -- LASS Main Server
LoRa Frame Specification
那 11 byte 要如何定義
- Binary pack
- 可用多個 frame 輪流送,讓 LASS converter 去組成一個
- 或許 GPS 偶爾才送一次
- strucut {
- INT8U PageID(0: Sensor value, 1: GPS location )
- Page0:
- INT16U DeviceID( digital mapping )
- INT16U PM2.5 (Range: 0.0-500.0)
- INT16S Temperature(Range: -40.0 - 70.0)
- INT16U Humidity(Range: 0.0-100.0)
- Page1:
- L
- }
主板的選擇
基本上目前 LASS 的主板,應該都可以 support LoRa extension, 但是第一個帶起來的,還是要先建議一下
LoRa 通訊狀況驗證
- 在場域裡面,一直需要長距離的方案,從 spec 上看,LoRa 一直是個好選擇,但在真實場域的表現如何?試試就知道
- 目的:觀察困難場域可能發生的情況做驗證
- 可能情境:
- 測試遠距離(順便測試穿越雲霧)
- 測試無法通識狀況、
- 設備放林下測試要穿越冠層
- 驗證方法設計:
- 週期發感測值出去,確認 LASS 收到的數量的比例
- 最好發出去的資料含目前的 GPS 位置,這樣就可以將所有收到的資料接收率,用 GPS 位置做適當的 grouping,只要帶著感測器,到處移動,就可以於事後觀察哪裡收得不好
[ 請建議 ]
社群推廣步驟
- 持續基礎研究
- 串聯關鍵貢獻者
- 先用公開的資料在社群運作與找尋關鍵貢獻者
- 將板子發給社群貢獻者
- 將基礎技術打通
- 將設計資料公開與 sample code commit 到 github
- 推廣預設情境
- 上架,讓使用者取得,進行更多的應用
LASS 通訊模組驗證 - Gemtek - LoRa 相關分享
LASS LoRa format
LASS-Lora土炮搶先測試成功
參考
Where to buy(之前在網路上找的模組)
- ICSHOP: 420-450MHz 低功率無線數據傳輸模組 WirelessTag
LoRa Alliance
Ps:台北用的是920-928MHz
LASS-WirelessTag
- LASS----(SPI)----WirelessTag----(420~450MHz)----WirelessTag----(SPI)----LASS
Note:
- The data length have limitation of 200Byte
- We need segmentation method
References:
- OpenLORA forum
- LoRa USB Communication Stick
- Sample codes for Semtech LoRa SX1278 SX1276 module DRF1278F communicates with Arduino Mega2560
- Project on RFM92W/93W - Arduino Powered Low Power Long Range LoRa Transceiver
- IBM Long-Range Signaling and Control (LRSC)
- IBM LMIC for ARM’s mbed platform (https://developer.mbed.org/teams/Semtech/code/LoRaWAN-lmic-app/)
- IBM LMIC for Arduino platform (https://github.com/matthijskooijman/arduino-lmic) (https://github.com/quartzjer/arduino-lmic)
- Semtech LoRa Network Codes (https://github.com/Lora-net/)