![]() | ![]() |
|---|---|
| RAK1906 환경 센서가있는 Wisblock Environment Sensor (Wisblock Kit 4)의 예제 코드입니다. |
이 예제는 저전력 소비 애플리케이션을 생성하고 어깨에서 통신을 처리하기 위해 부하를 취하는 데 도움이되는 Wisblock API를 사용합니다.
이 모든 모듈은 Wisblock Kit 4와 같은 일치 인클로저와 함께 구입할 수 있습니다.
MCU 및 LORA 트랜시버는 측정주기 사이에 수면 모드로 들어가 전력을 절약합니다. 전체 시스템의 40UA의 수면 전류를 측정 할 수 있습니다.
라이브러리는 모두 platformio.ini 에 나열되어 있으며 프로젝트가 컴파일 될 때 자동으로 설치됩니다.
로라완 설정은 세 가지 다른 방식으로 정의 될 수 있습니다.
Wisblock Toolbox를 사용하면 Wisblock Over BLE에 연결하고 모든 Lorawan 매개 변수를 설정할 수 있습니다.
자세한 내용은 Wisblock Toolbox에서 찾을 수 있습니다
이 장치는 전원을 켜고 나서 첫 30 초 만에 BLE에 광고 한 다음 측정을 위해 웨이크 업 후 15 초 동안 다시 광고합니다. 이 장치는 RAK-ENVS-xx 로 광고를하고 있으며 여기서 XX는 장치의 BLE MAC 주소입니다.
AT 명령 인터페이스를 사용하여 Wisblock은 USB 포트를 통해 설정할 수 있습니다.
AT 명령에 대한 자세한 매뉴얼은 AT-Command-Manual에 있습니다.
다음은 장치를 준비하는 데 필요한 일반적인 명령에 대한 예입니다 (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 폴더에 있습니다. 각각의 성공적인 컴파일 버전의 이름은 다음으로 명명됩니다
WisBlock_ENV_Vx.y.z_YYYYMMddhhmmss
XYZ는 버전 번호입니다. 버전 번호는 ./platformio.ini 파일에서 설정됩니다.
yyyymmddhhmmss는 컴파일의 타임 스탬프입니다.
생성 된 .zip 파일은 Wisblock Toolbox 또는 Nordic NRF Toolbox 또는 NRF Connect를 사용하여 Over BLE를 업데이트하는 데 사용될 수 있습니다.
Debug 출력은 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에서 찾을 수 있습니다.
실시간 데이터
