![]() | ![]() |
|---|---|
| Dies ist ein Beispielcode für den Wisblock -Umgebungssensor (Wisblock Kit 4) mit RAK1906 Umgebungssensor |
In diesem Beispiel wird meine Wisblock -API verwendet, die dazu beiträgt, eine Anwendung mit geringem Stromverbrauch zu erzeugen und die Last zu nehmen, um die Kommunikation von Ihrer Schulter aus zu verarbeiten.
Alle diese Module können zusammen mit einem passenden Gehäuse als Wisblock Kit 4 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.
Mit der Wisblock -Toolbox können Sie über BLE eine Verbindung zum Wisblock herstellen und alle Lorawan -Parameter einrichten
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-ENVS-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 Vertragsmanual
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 überprü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_ENV_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
- 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.pyDie Nutzlast wird im selben Format wie die rakwireless Wisnode -Geräte codiert. Ein Payload -Decoder für ChirpStack, TTN und Datacake finden Sie im RAKWIRLESLESS_STANDARDIDISIDISCHE_PAYLOAD GitHub Repo.
Echtzeitdaten
