![]() | ![]() | ![]() |
|---|
Dies ist ein neuer Ansatz für Wisblock. Es scannt den I2C -Bus und die Serie, um festzustellen, welche Wisblock -Module an der Wisblock -Basis angeschlossen sind, und erstellt eine Lorawan -Nutzlast in Cayenne LPP mit den Daten der gefundenen Module.
Diese Firmware verwendet die Wisblock API V2
Dieser Code kann ohne Änderungen für verwendet werden
| Kit/Lösung | Setup -Handbuch |
|---|---|
| Wisblock Kit 1 | Setup Kit 1 |
| Wisblock Kit 2 | Setup -Kit 2 |
| Wisblock Kit 3 | Setup Kit 3 |
| Wisblock Kit 4 | Setup -Kit 4 |
| Rak Developer Kit | Setup Dev Kit 2 Setup Dev Kit 3 Setup Dev Kit 4 |
| Helium Mapper Kit | Setup Helium Mapper |
| Wisblock GNSS Tracker für Lorawan | Setup GNSS Tracker |
| Modul | Funktion | Verwendet in Kit |
|---|---|---|
| RAK4631 | Wisblock -Kernmodul | - - |
| RAK5005-O | Wisblock Base Board | - - |
| RAK19007 | Wisblock Base Board | - - |
| RAK19003 | Wisblock Mini Base Board | - - |
| RAK19001 | Wisblock Fullize Base Board | - - |
| RAK1901 | Wisblocktemperatur und Feuchtigkeitssensor | Wisblock Kit 1, Rak Developer Kit 2 |
| RAK1902 | Wisblock -Barometer -Drucksensor | Wisblock Kit 1, Rak Developer Kit 2 |
| RAK1903 | Wisblock Umgebungslichtsensor | Wisblock Kit 1, Rak Developer Kit 2 |
| RAK1904 | Wisblock -Beschleunigungssensor (verwendet für GNSS -Lösungen) | Wisblock Kit 2 & 3, Wisblock Tracker für Lorawan, Rak Developer Kit 3 |
| RAK1905 | Wisblock 9 DOF -Sensor | - - |
| RAK1906 | Wisblock -Umgebungssensor | Wisblock Kit 4, Rak Developer Kit 4 |
| RAK1910 | Wisblock GNSS -Sensor | Wisblock Kit 2 & 3, Rak Developer Kit 3 |
| RAK1921 | Wisblock OLED -Display | (Statusanzeige) |
| RAK5814 | Wisblock ACC608 Verschlüsselungsmodul | - - |
| RAK12002 | Wisblock RTC -Modul | - - |
| RAK12003 | Wisblock -FIR -Sensor | - - |
| RAK12004 | Wisblock MQ2 -Gassensor | - - |
| RAK12008 | Wisblock SCT31 CO2 -Gassensor | - - |
| RAK12009 | Wisblock MQ3 Alkoholgassensor | - - |
| RAK12010 | Wisblock Umgebungslichtsensor | - - |
| RAK12014 | Wisblock Laser Tof Sensor | - - |
| RAK12019 | Wisblock UV -Lichtsensor | - - |
| RAK12025 | Wisblock -Gyroskopsensor | - - |
| RAK12023/RAK12035 | Wisblock -Bodenfeuchtigkeit und Temperatursensor | Wisblock -Bodensensorlösung |
| RAK12027 | Wisblock Erdbebensensor | - - |
| RAK12032 | Wisblock -Beschleunigungssensor | - - |
| RAK12034 | Wisblock 9 DOF -Sensor | - - |
| RAK12037 | Wisblock CO2 -Sensor | - - |
| RAK12039 | Wisblock -Partikelsensor | - - |
| RAK12040 | Wisblock AMG8833 Temperaturarray -Sensor | - - |
| RAK12047 | Wisblock VOC -Sensor | - - |
| RAK12052 | Wisblock MLX90640 32x24 Temperaturarray -Sensor | - - |
| RAK12500 | Wisblock GNSS -Sensor | Wisblock Tracker für Lorawan |
| RAK14002 | Wisblock 3 Button Touch Pad | - - |
| RAK14003 | Wisblock LED -Bar Display | - - |
| RAK14008 | Wisblock -Gestensensor | - - |
| RAK15000 | Wisblock EEPROM -Modul | - - |
| RAK15001 | Wisblock Flash -Modul | - - |
| RAK14008 | Wisblock -Gestensensor | - - |
| RAK16000 | Wisblock DC Stromsensor | - - |
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 für eine Lösung messen, die den Schlaf ermöglicht. Einige Lösungen wie GNSS-Tracker oder der RAK12047-VOC-Sensor, für die längere Weckzeiten oder häufigere Aufwachen erfordern, haben einen höheren Stromverbrauch.
Darüber hinaus verbrauchen Sensoren wie die MQ -Gassensoren, die ein Heizelement verwenden, auch mehr Strom.
... Um aktualisiert zu werden, überprüfen Sie Platformio.ini für eine Liste aller verwendeten Bibliotheken
Das Projekt wurde mit Plattform IO entwickelt. Für die Benutzer, die sich immer noch an Arduino IDE halten, befindet sich eine arduino -ide -kompatible Kopie der Quellen im Ordner Arduinoid. Der Code kompiliert nicht auf Arduino IDE ATM.
Das vollständige Projekt für PIO befindet sich im Platformio -Ordner.
Bei der Verwendung von Platformio sind die Bibliotheken alle im platformio.ini aufgeführt und werden automatisch installiert, wenn das Projekt zusammengestellt wird. Bei der Verwendung von Arduino IDE müssen alle Bibliotheken manuell mit dem Arduino Library Manager installiert werden.
Kompilieren Sie die Firmware und flashen Sie sie auf einem Wisblock mit allen erforderlichen Modulen.
Schließen Sie sich über USB an, um die LPWAN -Anmeldeinformationen einzurichten. Verwenden Sie den auf dem RAK4631 gedruckten Deveui. Verwenden Sie den Appeui und den Appey von Ihrem LPWAN -Server. Aktivieren Sie noch keine automatische Verbindung. Da sich die Wettersensorpegel nicht sehr schnell ändern, kann es ausreichen, die Sendungsfrequenz alle 10 Minuten zu setzen. Die Sendungsfrequenz ist in Sekunden festgelegt, sodass der Wert 10 * 60 ==> 600 beträgt
Beispiel bei Befehlen:
AT+NWM=1
AT+NJM=1
AT+BAND=10
AT+DEVEUI=1000000000000001
AT+APPEUI=AB00AB00AB00AB00
AT+APPKEY=AB00AB00AB00AB00AB00AB00AB00AB00
AT+SENDINT=600
| Befehl | Erläuterung |
|---|---|
| At+nwm = 1 | Stellen Sie den Knoten in den Lorawan -Modus ein |
| At+njm = 1 | Setzen Sie die Netzwerk -Join -Methode auf OTAA |
| At+band = 10 | Setzen Sie die LPWAN-Region (hier AS923-3) unter dem Befehlshandbuch |
| AT+Deveui = 1000000000000001 | Legen Sie das Gerät EUI ein, um das Deveui am besten zu verwenden, das auf dem Etikett Ihres Wisblock -Kernmoduls gedruckt wird |
| AT+appeui = AB00AB00AB00AB00 | Stellen Sie die Anwendung EUI fest, die auf dem Lorawan -Server erforderlich ist |
| AT+appey = AB00AB00AB00AB00AB00AB00AB00 | Legen Sie den Anwendungsschlüssel fest, der zum Verschlüsselung des Datenpakets während des Netzwerkverbindung verwendet wird |
| AT+SENDINT = 600 | Stellen Sie das Intervall ein, den der Sensorknoten sendet, Datenpakete. 600 == 10 x 60 Sekunden == 10 Minuten |
Das Handbuch für alle bei Befehlen finden Sie hier: t-commands.mdAT?
Verwenden Sie die Wisblock Toolbox
Die Paketdaten werden mit der erweiterten Cayenne -LPP -Codierung von Electroniccats/Cayennelpp kompatibel gemacht
Der Inhalt des Pakets hängt von den auf der Wisblock Base Board installierten Modulen ab:
| Daten | Kanal # | Kanal -ID | Länge | Kommentar | Erforderliches Modul | Dekodierter Feldname |
|---|---|---|---|---|---|---|
| Batteriewert | 1 | 116 | 2 Bytes | 0,01 V nicht signiertes MSB | RAK4631 | Voltage_1 |
| Luftfeuchtigkeit | 2 | 104 | 1 Byte | in %rel | RAK1901 | Luftfeuchtigkeit_2 |
| Temperatur | 3 | 103 | 2 Bytes | in ° C. | RAK1901 | Temperatur_3 |
| Barometriedruck | 4 | 115 | 2 Bytes | in HPA (Mbar) | RAK1902 | Barometer_4 |
| Beleuchtung | 5 | 101 | 2 Bytes | 1 Lux nicht signiert | RAK1903 | Illuminance_5 |
| Luftfeuchtigkeit 2 | 6 | 104 | 1 Byte | in %rel | RAK1906 | Feuchtigkeit_6 |
| Temperatur 2 | 7 | 103 | 2 Bytes | in ° C. | RAK1906 | Temperatur_7 |
| Barometrischer Druck 2 | 8 | 115 | 2 Bytes | in HPA (Mbar) | RAK1906 | Barometer_8 |
| Gaswiderstand 2 | 9 | 2 | 2 Bytes | 0,01 signiert (Kohm) | RAK1906 | Analog_9 |
| GNSS stehen. Auflösung | 10 | 136 | 9 Bytes | 3 Byte lon/lat 0,0001 °, 3 Bytes Alt 0,01 Meter | RAK1910, RAK12500 | GPS_10 |
| GNSS erhöhte die Auflösung | 10 | 137 | 11 Bytes | 4 Byte lon/lat 0,000001 °, 3 Bytes Alt 0,01 Meter | RAK1910, RAK12500 | GPS_10 |
| Bodentemperatur | 11 | 103 | 2 Bytes | in ° C. | RAK12023/RAK12035 | Temperatur_11 |
| Bodenfeuchtigkeit | 12 | 104 | 1 Byte | in %rel | RAK12023/RAK12035 | Feuchtigkeit_12 |
| Bodenfeuchtigkeit roh | 13 | 2 | 2 Bytes | 0,01 signiert | RAK12023/RAK12035 | analog_in_13 |
| Bodendaten gültig | 14 | 102 | 1 Byte | bool | RAK12023/RAK12035 | Präsenz_14 |
| Beleuchtung 2 | 15 | 101 | 2 Bytes | 1 Lux nicht signiert | RAK12010 | Illuminance_15 |
| VOC | 16 | 138 | 2 Bytes | VOC -Index | RAK12047 | VOC_16 |
| MQ2 -Gas | 17 | 2 | 2 Bytes | 0,01 signiert | RAK12004 | analog_in_17 |
| MQ2 -Gasanteil | 18 | 120 | 1 Byte | 1-100% nicht signiert | RAK12004 | Prozentsatz_18 |
| MG812 Gas | 19 | 2 | 2 Bytes | 0,01 signiert | RAK12008 | analog_in_19 |
| MG812 Gasanteil | 20 | 120 | 1 Byte | 1-100% nicht signiert | RAK12008 | Prozentsatz_20 |
| MQ3 Alkoholgas | 21 | 2 | 2 Bytes | 0,01 signiert | RAK12009 | analog_in_21 |
| MQ3 Alkoholgas Perc. | 22 | 120 | 1 Byte | 1-100% nicht signiert | RAK12009 | Prozentsatz_22 |
| TOF -Abstand | 23 | 2 | 2 Bytes | 0,01 signiert | RAK12014 | analog_in_23 |
| TOF -Daten gültig | 24 | 102 | 1 Byte | bool | RAK12014 | Präsenz_24 |
| Gyro ausgelöst | 25 | 134 | 6 Bytes | 2 Bytes pro Achse, 0,01 °/s | RAK12025 | Gyrometer_25 |
| Geste erkannt | 26 | 0 | 1 Byte | 1 Byte mit Gestenausweis | RAK14008 | digital_in_26 |
| LTR390 UVI -Wert | 27 | 2 | 2 Bytes | 0,01 signiert | RAK12019 | analog_in_27 |
| LTR390 UVS -Wert | 28 | 101 | 2 Bytes | 1 Lux nicht signiert | RAK12019 | Illuminance_28 |
| INA219 Strom | 29 | 2 | 2 Bytes | 0,01 signiert | RAK16000 | Analog_29 |
| INA219 -Spannung | 30 | 2 | 2 Bytes | 0,01 signiert | RAK16000 | Analog_30 |
| Ina219 Power | 31 | 2 | 2 Bytes | 0,01 signiert | RAK16000 | analog_31 |
| Touchpad links | 32 | 102 | 1 Byte | bool | RAK14002 | Präsenz_32 |
| Touchpad Mitte | 33 | 102 | 1 Byte | bool | RAK14002 | Präsenz_33 |
| Touchpad richtig | 34 | 102 | 1 Byte | bool | RAK14002 | Präsenz_34 |
| SCD30 CO2 -Konzentration | 35 | 125 | 2 Bytes | 1 ppm nicht signiert | RAK12037 | Konzentration_35 |
| SCD30 Temperatur | 36 | 103 | 2 Bytes | in ° C. | RAK12037 | Temperatur_36 |
| SCD30 Feuchtigkeit | 37 | 104 | 1 Byte | in %rel | RAK12037 | Feuchtigkeit_37 |
| MLX90632 Sensortemperatur | 38 | 103 | 2 Bytes | in ° C. | RAK12003 | Temperatur_38 |
| MLX90632 Objekttemp | 39 | 103 | 2 Bytes | in ° C. | RAK12003 | Temperatur_39 |
| PM 1.0 Wert | 40 | 103 | 2 Bytes | in ug/m3 | RAK12003 | VOC_40 |
| PM 2.5 Wert | 41 | 103 | 2 Bytes | in ug/m3 | RAK12003 | VOC_41 |
| PM 10 Wert | 42 | 103 | 2 Bytes | in ug/m3 | RAK12003 | VOC_42 |
| Erdbebenereignis | 43 | 102 | 1 Byte | bool | RAK12027 | Präsenz_43 |
| Erdbeben -SI -Wert | 44 | 2 | 2 Bytes | Analog 10 * m/s | RAK12027 | analog_44 |
| Erdbeben -PGA -Wert | 45 | 2 | 2 Bytes | Analog 10 * m/s2 | RAK12027 | analog_45 |
| Erdbeben -Absperrung | 46 | 102 | 1 Byte | bool | RAK12027 | Präsenz_46 |
| Lpp_channel_eq_collapse | 47 | 102 | 1 Byte | bool | RAK12027 | Präsenz_47 |
| Status umschalten | 48 | 102 | 1 Byte | bool | RAK13011 | Präsenz_48 |
| SensorHub Windgeschwindigkeit | 49 | 190 | 2 Byte | 0,01 m/s | SensorHub RK900-09 | wind_speed_49 |
| SensorHub Windrichtung | 50 | 191 | 2 Byte | 1º | SensorHub RK900-09 | wind_direction_50 |
| Audioebene | 49 |
Kanal -IDs in Kurven werden erweitert und werden nicht von Standard -Decodern von Standard -LPP -Daten von Cayenne -LPP unterstützt.
Beispieldecoder für TTN, Chirpstack, Helium und Datacake finden Sie im Ordner rakwireless_Standardized_payload Repo
Die kompilierten Dateien befinden sich im Ordner./Generiert. Jede erfolgreiche kompilierte Version wird als benannt
WisBlock_SENS_Vx.y.z_YYYY.MM.dd.hh.mm.ss
XYZ ist die Versionsnummer. Die Versionsnummer wird in der Datei ./Platformio.ini eingerichtet.
Yyyy.mm.dd.hh.mm.sss ist der Zeitstempel der Zusammenstellung.
Die generierte .zip -Datei kann auch verwendet werden
Bei Verwendung von Platformio wird zusätzlich eine UF2 -Datei für den RAK4631 generiert. Sie können den RAK4631 in den Bootloader-Modus zwingen, indem Sie die Taste der Reset-Reset-Taste verdoppeln. Ein neues USB -Laufwerk wird installiert. Ziehen Sie die UF2 -Datei in das neue Laufwerk, um das Gerät zu blinken.
Die Debug -Ausgabe kann durch Definition im platformio.ini gesteuert werden
LIB_DEBUG -Steuerelemente Debug-Ausgabe der SX126X-Herduino Lorawan Library
API_DEBUG -Steuerelemente Debug-Ausgabe der Wisblock-API-Bibliothek
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
beegee-tokyo/WisBlock-API-V2
sparkfun/SparkFun SHTC3 Humidity and Temperature Sensor Library
adafruit/Adafruit LPS2X
closedcube/ClosedCube OPT3001
sabas1080/CayenneLPP
extra_scripts = pre:rename.pyDiese Anleitung kann für Wisblock Kit 1 und Rak Developer Kit 2 verwendet werden
Installieren Sie die Module in einem beliebigen passenden Steckplatz und folgen Sie den Schnellstartführern im Rakwireless Dokumentation Center
Richten Sie das Gerät über die AT -Befehlsschnittstelle oder die BLE -Anwendung ein
Diese Anleitung kann für Wisblock Kit 2 , Wisblock Kit 3 , Wisblock GNSS -Tracker für Lorawan und Rak Developer Kit 3 verwendet werden
Das RAK1904 -Modul muss in installiert werden
Slot C von RAK5005-O, RAK19007, RAK19003 oder RAK19001
Wenn Sie den RAK1910 verwenden, muss er in installiert werden
Slot A von RAK5005-O
Jeder passende Slot von RAK19007 oder RAK19001
Wenn Sie den RAK12500 verwenden, kann er in einem beliebigen passenden Steckplatz der Basisbretter installiert werden.
Der RAK1906 kann in jedem passenden Slot der Basisplatine installiert werden.
Für Installationsführer folgen Sie den Schnellstartführern im Rakwireless Dokumentation Center
Richten Sie das Gerät über die AT -Befehlsschnittstelle oder die BLE -Anwendung ein
RAK11700 GNSS -Tracker für Lorawan ist der Standard -Startmodus für dieses Setup.
Wenn Sie das Helium Mapper -Kit erstellen, muss der Modus mit dem folgenden Befehl geändert werden:
Die Lösung kann unter Verwendung des Befehls AT AT+GNSS auf 3 verschiedene Arbeitsmodi eingestellt werden:
| Befehl | Eingabeparameter | Rückgabewert | Code zurückgeben |
|---|---|---|---|
| AT+GNSS? | - - | Get/Set the GNSS precision and format 0 = 4 digit, 1 = 6 digit, 2 = Helium Mapper | OK |
| At+gnss =? | - - | 0 oder 1 oder 2 | OK |
AT+GNSS = <Input Parameter> | 1 oder 2 oder 3 | - - | OK oder AT_PARAM_ERROR |
Das Cayenne LPP -Standardformat verwendet nur 4 Ziffer für die Standortpräzision. Dieses Standard -Standortformat wird automatisch von den meisten Lorawan -Servern und Visualisierungsplattformen wie MyDevices unterstützt.
Es ist die Standardeinstellung und wird mit dem AT -Befehl AT+GNSS=0 gesetzt.
Wenn Sie diese Option festlegen, werden die Daten weiterhin im Cayenne -LPP -Format gesendet, verwendet jedoch eine benutzerdefinierte Datenkennung und 6 Ziffern für eine Auflösung mit höherer Breite und Länge. Um dieses Format zu dekodieren, ist ein benutzerdefinierter Datencodierer erforderlich. Datencodierer für TTN, ChirpStack und Datacake finden Sie im Ordner Benutzerdefinierte Datendecoder.
Die erweiterte Standortauflösung wird mit dem AT -Befehl AT+GNSS=1 eingestellt.
Diese Option sendet die Daten im Helium Mapper -Format, wie in Make A Helium Mapper mit dem Wisblock erläutert.
Paketdecoder für dieses Format finden Sie im obigen Artikel.
Die Helium Mapper -Funktionalität wird mit dem AT -Befehl AT+GNSS=2 eingestellt.
Diese Anleitung kann für Wisblock Kit 4 und Rak Developer Kit 4 verwendet werden
Installieren Sie die Module in einem beliebigen passenden Steckplatz und folgen Sie den Schnellstartführern im Rakwireless Dokumentation Center
Richten Sie das Gerät über die AT -Befehlsschnittstelle oder die BLE -Anwendung ein