這是一個基本的Arduino框架,用於使用上升的HF Lorawan Radio-Modem並將傳感器連接到TTN等Lorawan網絡。
我們在地址0x50上使用I2C FRAM設備進行非易失性存儲器。可以省略此設備,也可以用較小的更改代替EEPROM。
DEVEUI來自Radio-Modem或通過地址0x52處的I2C 24AA025E64芯片,也可以在Config.h文件中設置。每個調製解調器的頂部都有一個QR碼,其DEVEUI。
為美國TTN頻帶開發並測試了此代碼庫,但可以更改為其他頻段。
測試了:RHF0M062-HF22和RHF0M0E5-HF22,但也應與RHF78-052LA-HF22和其他HF的其他導數模塊一起使用。
http://www.risinghf.com/home
該測試代碼有3個發送例程,
短狀態用於錯誤消息,僅限9個字節,僅在我們啟動時發送和有錯誤時發送...(dr0-> 11個字節-2個可能的Mac字節)
狀態很少發送設備信息...版本,編譯時間等...
傳感器數據是在默認情況下每小時發送的...
我們還支持定期重新加入。在TTN上從V2轉移到V3之後,很明顯,設備需要不時重新加入以支持未來的移動或網絡或TTN的變化。
此代碼庫還允許處理一些下載消息。
在啟動時,代碼讀取存儲在FRAM(如果有)的數據塊,並將編譯日期時間字段和CRC與Fram中存儲的內容進行比較,以查看我們是否有第一啟動。如果是這樣,我們將數據塊的副本保存在Fram中,以備將來使用。如果不是,我們調整了引導計數並保存引導原因。
USB端口在啟動時被關閉以節省電源,這需要重置開關的雙擊才能返回引導程序。
您可以在config.h文件中設置許多配置選項,包括lorawan鍵,頻率表,發送功能的時機等...
Radio-Modem具有一個EEPROM,它將在設置後保持其大多數參數... Config.h具有一個定義,如果不需要再次重置它們,該定義將禁用調製解調器中的重新設置參數。
可以禁用debug1和debug2宏來刪除串行端口的所有調試輸出,它們允許我們在代碼中使用更常見的“ c” printf(...)函數,而不是arduino serial.print.print(...)函數。
該代碼已使用專有硬件和火箭式迷你烏爾特拉 - 洛拉董事會進行了測試。
TBD:
Adding some logging to flash
look at over-the-air code upgrade...
Add support for EEProm option to replace FRAM
An option to get DEVEUI from the modem and or UUID from the CPU
Add more commands to support Class B in the modem library
Documentation of modem library
Add AT command to set various parameters from the serial port
Libraries used by this project:
LoRaWan-RFH0M062-mod
This radio-modem library was developed by SEEED studios for the RHF78-052 device, I have
made many changes to support the newer radios, added an error function, and speed up timing
on messages to/from the radio.
Stopwatch
RTCZero-MOD
FRAM_MB85RC_I2C
Arduino_CRC32