![]() | ![]() |
|---|---|
| これは、RAK1906環境センサーを備えたWisblock Environment Sensor(Wisblock Kit 4)のコードの例です。 |
この例は、Wisblock APIを使用して、低消費電力アプリケーションを作成し、肩からの通信を処理するために負荷をかけるのに役立ちます。
これらのモジュールはすべて、Wisblockキット4として一致するエンクロージャーと一緒に購入できます
MCUとLoraのトランシーバーは、測定サイクルの間にスリープモードになり、電力を節約します。システム全体の40UAの睡眠電流を測定できました。
ライブラリはすべてplatformio.iniにリストされており、プロジェクトのコンパイル時に自動的にインストールされます。
ロラワンの設定は、3つの異なる方法で定義できます。
Wisblockツールボックスを使用して、Wisblockに接続してBLEを介してすべてのLorawanパラメーターをセットアップできます
詳細については、Wisblockツールボックスをご覧ください
このデバイスは、測定のために起きてから15秒間、電源を上げてから最初の30秒のみで広告を出しています。このデバイスはRAK-ENVS-xxとして広告を掲載しています。ここで、xxはデバイスのBLE Macアドレスです。
ATコマンドインターフェイスを使用して、WisBlockをUSBポートにセットアップできます。
ATコマンドの詳細なマニュアルは、AT-Command-Manualにあります
以下は、デバイスを準備するために必要な典型的な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と互換性がありません。
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フォルダーにあります。成功した各コンパイルされたバージョンの名前はasですWisBlock_ENV_Vx.y.z_YYYYMMddhhmmss
XYZはバージョン番号です。バージョン番号は、./platformio.iniファイルで設定されています。
yyyymmddhhmmssは、コンピレーションのタイムスタンプです。
生成された.zipファイルも使用して、Wisblock ToolboxまたはNordic NRF ToolboxまたはNRF Connectのいずれかを使用してBLEでデバイスを更新できます
デバッグ出力は、 platformio.iniで定義することで制御できます
LIB_DEBUGは、SX126X-Arduino Lorawan Libraryのデバッグ出力を制御します
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にあります。
リアルタイムデータ
