![]() | ![]() |
|---|---|
| 這是帶有RAK1906環境傳感器的Wisblock環境傳感器(Wisblock套件4)的示例代碼 |
此示例是使用我的Wisblock API,該API有助於創建低功耗應用程序並承擔負載以從肩膀上處理通信。
所有這些模塊都可以與匹配的外殼一起購買,因為Wisblock套件4
MCU和LORA收發器進入測量週期之間的睡眠模式,以節省功率。我可以測量整個系統40UA的睡眠電流。
這些庫都列在platformio.ini中,並在編譯項目時自動安裝。
可以通過三種不同的方式來定義洛萬設置。
使用Wisblock工具箱,您可以通過BLE連接到Wisblock,並設置所有Lorawan參數(例如)
可以在Wisblock工具箱中找到更多詳細信息
該設備僅在電源後的前30秒就通過BLE進行廣告,然後在喚醒後再次進行15秒進行測量。該設備作為RAK-ENVS-xx廣告,其中XX是設備的BLE MAC地址。
使用AT命令接口可以通過USB端口設置Wisblock。
AT命令的詳細手冊在符合命令中
以下是準備好設備所需的命令的典型示例(EUI和密鑰是示例):
// Setup AppEUI
AT+APPEUI=70b3d57ed00201e1
// Setup DevEUI
AT+DEVEUI=ac1f09fffe03efdc
// Setup AppKey
AT+APPKEY=2b84e0b09b68e5cb42176fe753dcee79
// Set automatic send interval in seconds
AT+SENDINT=60
// Set data rate
AT+DR=3
// Set LoRaWAN region (here US915)
AT+BAND=5
// Reset node to save the new parameters
ATZ
// After reboot, start join request
AT+JOIN=1,0,8,10
此處使用的AT命令格式與RAK5205/RAK7205 AT命令不兼容。
void api_read_credentials(void);
void api_set_credentials(void);如果需要對Lorawan憑據進行硬編碼(例如區域,發送重複時間,...)可以在setup_app()中完成。首先,必須使用api_read_credentials(); ,然後可以更改憑證。更改後,必須使用api_set_credentials()保存憑據。由於Wisblock API檢查是否需要保存任何更改,因此更改值僅在刷新應用程序後才保存在第一個引導中。
例子:
// Read credentials from Flash
api_read_credentials ();
// Make changes to the credentials
g_lorawan_settings.send_repeat_time = 240000 ; // Default is 2 minutes
g_lorawan_settings.subband_channels = 2 ; // Default is subband 1
g_lorawan_settings.app_port = 4 ; // Default is 2
g_lorawan_settings.confirmed_msg_enabled = LMH_CONFIRMED_MSG; // Default is UNCONFIRMED
g_lorawan_settings.lora_region = LORAMAC_REGION_AS923_3; // LoRa region
// Save hard coded LoRaWAN settings
api_set_credentials ();備註1
硬編碼的憑據必須在void setup_app(void)中設置!
備註2
請記住,可以通過此方法更改的參數可以在命令或BLE上更改,但重新啟動後將重置!
備註3
數據編碼基於Cayenne LPP傳感器ID。這使得在MyDevices Cayenne中可視化傳感器數據非常容易。
編譯的文件位於./generated文件夾中。每個成功的編譯版本都被稱為WisBlock_ENV_Vx.y.z_YYYYMMddhhmmss
XYZ是版本號。版本編號是在./platformio.ini文件中設置的。
yyyymmddhhmmss是編譯的時間戳。
生成的.zip文件也可以使用Wisblock工具箱或Nordic NRF工具箱或NRF Connect通過BLE更新設備
調試輸出可以通過platformio.ini中的定義來控制
lib_debug控制SX126X-Arduino Lorawan庫的調試輸出
my_debug控制應用程序本身的調試輸出
CFG_DEBUG控制NRF52 BSP的調試輸出。建議將其保留
[env:wiscore_rak4631]
platform = nordicnrf52
board = wiscore_rak4631
framework = arduino
build_flags =
; -DCFG_DEBUG=2
- DSW_VERSION_1 =1 ; major version increase on API change / not backwards compatible
- DSW_VERSION_2 =0 ; minor version increase on API change / backward compatible
- DSW_VERSION_3 =0 ; patch version increase on bugfix, no affect on API
- DLIB_DEBUG =0 ; 0 Disable LoRaWAN debug output
- DAPI_DEBUG =0 ; 0 Disable WisBlock API debug output
- DMY_DEBUG =0 ; 0 Disable application debug output
- DNO_BLE_LED =1 ; 1 Disable blue LED as BLE notificator
lib_deps =
beegee-tokyo/SX126x-Arduino
adafruit/Adafruit BME680 Library
beegee-tokyo/WisBlock-API
extra_scripts = pre:rename.py有效載荷以與Rakwireless Wisnode設備相同的格式編碼。 Chirpstack,TTN和DataCake的有效負載解碼器可在Rakwireless_standardized_payload github repo中找到。
實時數據
