![]() | ![]() | ![]() |
|---|
Dies ist ein Beispielcode für Wisblock Weather Kit mit dem RAK1901, RAK1902 und RAK1903.
In diesem Beispiel wird mein Wisblock API-V2 verwendet
Alle diese Module können zusammen mit einem passenden Gehäuse als Wisblock Kit 1 gekauft werden
Der MCU und der LORA -Transceiver gehen zwischen Messzyklen in den Schlafmodus, um Strom zu sparen. Ich könnte einen Schlafstrom von 40UA des gesamten Systems messen.
Die Bibliotheken sind alle im platformio.ini aufgeführt und werden automatisch installiert, wenn das Projekt zusammengestellt wird.
Die Lorawan -Einstellungen können auf drei verschiedene Arten definiert werden.
Verwenden der Wisblock Toolbox
Weitere Details finden Sie in der Wisblock Toolbox
Das Gerät bewirbt nur die ersten 30 Sekunden nach dem Einschalten und dann 15 Sekunden nach dem Aufwachen für die Messungen wieder 15 Sekunden. Das Gerät bewirbt als RAK-GNSS-xx wobei XX die BLE-MAC-Adresse des Geräts ist.
Mit der AT -Befehlsschnittstelle kann der Wisblock über den USB -Anschluss eingerichtet werden.
Ein detailliertes Handbuch für die AT-Befehle befindet sich im Vertragsumfang
Hier ist ein Beispiel für das typische für die Befehle, die erforderlich sind, um das Gerät fertig zu machen (EUIs und Schlüssel sind Beispiele):
// 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
Das hier verwendete AT -Befehlsformat ist nicht mit dem RAK5205/RAK7205 bei Befehlen kompatibel.
void api_read_credentials(void);
void api_set_credentials(void); Wenn Lorawan -Anmeldeinformationen hartcodiert werden müssen (z. B. die Region, die Senden -Wiederholungszeit, ...), kann dies in setup_app() erfolgen. Zunächst müssen die gespeicherten Anmeldeinformationen mit api_read_credentials(); dann können Anmeldeinformationen geändert werden. Nach dem Ändern der Anmeldeinformationen müssen mit api_set_credentials() gespeichert werden. Da die Wisblock -API prüft, ob Änderungen gespeichert werden müssen, werden die geänderten Werte erst nach dem Flashen der Anwendung im ersten Start gespeichert.
Beispiel:
// 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 (); Bemerkung 1
Hard codierte Anmeldeinformationen müssen in void setup_app(void) eingestellt werden!
Bemerkung 2
Denken Sie daran, dass Parameter, die mit dieser Methode geändert werden, bei Befehl oder BLE verändert werden können , aber nach einem Neustart zurückgesetzt werden !
Bemerkung 3
Die Datencodierung basiert auf Cayenne -LPP -Sensor -IDs. Dies macht es sehr einfach, die Sensordaten in Mydevices Cayenne zu visualisieren.
Die kompilierten Dateien befinden sich im Ordner./Generiert. Jede erfolgreiche kompilierte Version wird als benannt
WisBlock_WEA_Vx.y.z_YYYYMMddhhmmss
XYZ ist die Versionsnummer. Die Versionsnummer wird in der Datei ./Platformio.ini eingerichtet.
Yyyymmddhhmms ist der Zeitstempel der Zusammenstellung.
Die generierte .zip
Die Debug -Ausgabe kann durch Definition im platformio.ini gesteuert werden
LIB_DEBUG -Steuerelemente Debug-Ausgabe der SX126X-Herduino Lorawan Library
My_debug steuert Debug -Ausgabe der Anwendung selbst
Cfg_debug steuert die Debug -Ausgabe des Nrf52 BSP. Es wird empfohlen, es fernzuhalten
[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
- 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
beegee-tokyo/WisBlock-API-V2
sparkfun/SparkFun SHTC3 Humidity and Temperature Sensor Library
adafruit/Adafruit LPS2X
closedcube/ClosedCube OPT3001
extra_scripts = pre:rename.py