![]() | ![]() |
|---|---|
| Ini adalah contoh kode untuk sensor lingkungan Wisblock (Wisblock Kit 4) dengan sensor lingkungan RAK1906 |
Contoh ini menggunakan API Wisblock saya yang membantu membuat aplikasi konsumsi daya rendah dan mengambil beban untuk menangani komunikasi dari bahu Anda.
Semua modul ini dapat dibeli bersama dengan kandang yang cocok sebagai Wisblock Kit 4
Transceiver MCU dan Lora masuk ke mode tidur antara siklus pengukuran untuk menghemat daya. Saya bisa mengukur arus tidur 40UA dari seluruh sistem.
Perpustakaan semuanya tercantum dalam platformio.ini dan secara otomatis diinstal saat proyek dikompilasi.
Pengaturan Lorawan dapat didefinisikan dalam tiga cara berbeda.
Menggunakan kotak alat wisblock Anda dapat terhubung ke wisblock over ble dan mengatur semua parameter lorawan seperti
Rincian lebih lanjut dapat ditemukan di kotak alat WisBlock
Perangkat ini hanya mengiklankan lebih dari 30 detik pertama setelah dinyalakan dan kemudian lagi selama 15 detik setelah bangun untuk pengukuran. Perangkat ini beriklan sebagai RAK-ENVS-xx di mana XX adalah alamat BLE MAC dari perangkat.
Menggunakan antarmuka AT Command Wisblock dapat diatur melalui port USB.
Manual terperinci untuk perintah AT berada di AT-Command-Manual
Berikut adalah contoh untuk perintah AT khas yang diperlukan untuk menyiapkan perangkat (EUI dan kunci adalah contoh):
// 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
Format perintah AT yang digunakan di sini tidak kompatibel dengan perintah AT RAK5205/RAK7205.
void api_read_credentials(void);
void api_set_credentials(void); Jika kredensial Lorawan perlu hardcoded (misalnya wilayah, waktu pengulangan, ...) Ini dapat dilakukan di setup_app() . Pertama, kredensial yang disimpan harus dibaca dari Flash dengan api_read_credentials(); , maka kredensial dapat diubah. Setelah mengubah kredensial harus disimpan dengan api_set_credentials() . Ketika API Wisblock memeriksa jika ada perubahan yang perlu disimpan, nilai yang diubah hanya akan disimpan pada boot pertama setelah mem -flash aplikasi.
Contoh:
// 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 (); KATAAN 1
Kredensial kode keras harus diatur dalam void setup_app(void) !
KATAAN 2
Perlu diingat bahwa parameter yang diubah dari metode ini dapat diubah pada perintah atau ble tetapi akan diatur ulang setelah reboot !
KATAAN 3
Pengkodean data didasarkan pada ID sensor LPP Cayenne. Ini membuatnya sangat mudah untuk memvisualisasikan data sensor di MyDevices Cayenne.
File yang dikompilasi terletak di folder ./generasi. Setiap versi kompilasi yang berhasil dinamai sebagai
WisBlock_ENV_Vx.y.z_YYYYMMddhhmmss
XYZ adalah nomor versi. Nomor versi diatur dalam file ./platformio.ini.
Yyyymmddhhmmss adalah cap waktu kompilasi.
File .zip yang dihasilkan dapat digunakan juga untuk memperbarui perangkat lebih baik menggunakan kotak alat wisblock atau nrf toolbox nordic atau nrf connect
Output debug dapat dikontrol dengan menentukan di platformio.ini
Lib_debug mengontrol output debug dari perpustakaan Lorawan SX126X-ODUINO
My_debug mengontrol output debug aplikasi itu sendiri
CFG_DEBUG mengontrol output debug dari BSP NRF52. Disarankan untuk mempertahankannya
[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.pyPayload dikodekan dalam format yang sama dengan perangkat Wisnode Rakwireless. Decoder muatan untuk ChirpStack, TTN dan DataCake dapat ditemukan di repo Github Rakwireless_Standized_Payload.
Data waktu nyata
