![]() | ![]() | ![]() |
|---|
Ceci est une nouvelle approche pour Wisblock. Il scanne le bus I2C et la série pour détecter les modules Wisblock attachés à la base de Wisblock et crée une charge utile de Lorawan dans Cayenne LPP avec les données des modules trouvés.
Ce firmware utilise l'API WISBLOCK V2
Ce code peut être utilisé sans modifications pour
| Kit / solution | Guide de configuration |
|---|---|
| Kit Wisblock 1 | Kit de configuration 1 |
| Kit Wisblock 2 | Kit de configuration 2 |
| Kit Wisblock 3 | Kit de configuration 3 |
| Kit Wisblock 4 | Kit de configuration 4 |
| Kit de développeur RAK | Kit de développement de configuration 2 Kit de développement de configuration 3 Kit de développement de configuration 4 |
| Kit de mappeur d'hélium | Configuration du mappeur d'hélium |
| Wisblock GNSS Tracker pour Lorawan | Configuration du tracker GNSS |
| Module | Fonction | Utilisé dans Kit |
|---|---|---|
| RAK4631 | Module de noyau Wisblock | - |
| RAK5005-O | Planche de base Wisblock | - |
| RAK19007 | Planche de base Wisblock | - |
| RAK19003 | Board de base de Wisblock | - |
| RAK19001 | Wisblock Fullsize Base Board | - |
| RAK1901 | Température de Wisblock et capteur humide | Kit Wisblock 1, Kit de développeur RAK 2 |
| RAK1902 | Capteur de pression du baromètre WISBLOCK | Kit Wisblock 1, Kit de développeur RAK 2 |
| RAK1903 | Capteur de lumière ambiante de Wisblock | Kit Wisblock 1, Kit de développeur RAK 2 |
| RAK1904 | Capteur d'accélération Wisblock (utilisé pour les solutions GNSS) | Kit Wisblock 2 et 3, tracker Wisblock pour Lorawan, Rak Developer Kit 3 |
| RAK1905 | Capteur Wisblock 9 DOF | - |
| RAK1906 | Capteur d'environnement Wisblock | Kit Wisblock 4, Kit de développeur RAK 4 |
| RAK1910 | Capteur GNSS WISBLOCK | Kit Wisblock 2 et 3, Kit de développeur RAK 3 |
| RAK1921 | Affichage OLED WISBLOCK | (Affichage d'état) |
| RAK5814 | Module de chiffrement WISBLOCK ACC608 | - |
| RAK12002 | Module Wisblock RTC | - |
| RAK12003 | Capteur de sapin Wisblock | - |
| RAK12004 | Capteur de gaz Wisblock MQ2 | - |
| RAK12008 | Capteur de gaz CO2 WISBLOCK SCT31 | - |
| RAK12009 | Capteur d'alcool Wisblock MQ3 | - |
| RAK12010 | Capteur de lumière ambiante de Wisblock | - |
| RAK12014 | Capteur de tof laser wisblock | - |
| RAK12019 | Capteur de lumière UV Wisblock | - |
| RAK12025 | Capteur de gyroscope Wisblock | - |
| RAK12023 / RAK12035 | Capteur d'humidité et de température du sol de Wisblock | Solution de capteur de sol Wisblock |
| RAK12027 | Capteur de tremblement de terre de Wisblock | - |
| RAK12032 | Capteur d'accélération Wisblock | - |
| RAK12034 | Capteur Wisblock 9 DOF | - |
| RAK12037 | Capteur Wisblock CO2 | - |
| RAK12039 | Capteur de particules de wisblock | - |
| RAK12040 | Capteur WISBLOCK AMG8833 | - |
| RAK12047 | Capteur de COV Wisblock | - |
| RAK12052 | WISBLOCK MLX90640 Capteur de tableau de température 32x24 | - |
| RAK12500 | Capteur GNSS WISBLOCK | Wisblock Tracker pour Lorawan |
| RAK14002 | Pad tactile à 3 bouton Wisblock | - |
| RAK14003 | Affichage de la barre LED Wisblock | - |
| RAK14008 | Capteur de geste Wisblock | - |
| RAK15000 | Module eeprom wisblock | - |
| RAK15001 | Module flash wisblock | - |
| RAK14008 | Capteur de geste Wisblock | - |
| RAK16000 | Capteur de courant CC Wisblock | - |
L'émetteur-récepteur MCU et LORA passe en mode sommeil entre les cycles de mesure pour économiser l'énergie. Je pouvais mesurer un courant de sommeil de 40UA de l'ensemble du système pour une solution qui permet le sommeil. Certaines solutions, comme les trackers GNSS ou le capteur de COV RAK12047, qui nécessitent des temps de réveil plus longs ou des réveils plus fréquents, ont une consommation d'énergie plus élevée.
De plus, des capteurs comme les capteurs de gaz MQ qui utilisent un élément de chauffage consomment également plus de puissance.
... Pour être mis à jour, consultez PlatformoIo.ini pour une liste de toutes les bibliothèques utilisées
Le projet a été développé à l'aide de la plate-forme IO. Mais pour les utilisateurs qui s'en tiennent toujours à Arduino IDE, une copie compatible avec Arduino IDE des sources se trouve dans le dossier Arduinoide. Le code ne compila pas sur Arduino IDE ATM.
Le projet complet pour PIO se trouve dans le dossier Platformo.
Lorsque vous utilisez Platformo, les bibliothèques sont toutes répertoriées dans le platformio.ini et sont automatiquement installées lorsque le projet est compilé. Lorsque vous utilisez Arduino IDE, toutes les bibliothèques doivent être installées manuellement à l'aide du gestionnaire de bibliothèque Arduino.
Compilez le firmware et flashez-le sur un wisblock avec tous les modules requis installés.
Connectez-vous sur USB pour configurer les informations d'identification LPWAN. Utilisez le Deveui imprimé sur le RAK4631, utilisez l'APPEUI et l'APPKEY à partir de votre serveur LPWAN. N'activez pas encore la jointure automatique. Comme les niveaux de capteur météorologique ne changent pas très rapidement, il pourrait être suffisant pour régler la fréquence d'envoi à toutes les 10 minutes. La fréquence d'envoi est définie en secondes, donc la valeur serait 10 * 60 ==> 600
Exemple aux commandes:
AT+NWM=1
AT+NJM=1
AT+BAND=10
AT+DEVEUI=1000000000000001
AT+APPEUI=AB00AB00AB00AB00
AT+APPKEY=AB00AB00AB00AB00AB00AB00AB00AB00
AT+SENDINT=600
| Commande | Explication |
|---|---|
| À + nwm = 1 | Définissez le nœud en mode Lorawan |
| À + njm = 1 | Définir la méthode de jointure du réseau à OTAA |
| À + bande = 10 | Définir la région de Lpwan (ici AS923-3) voir au manuel de commandement |
| AT + DEVEUI = 1000000000000001 | Définissez l'appareil EUI, mieux pour utiliser le Deveui qui est imprimé sur l'étiquette de votre module Core Wisblock |
| AT + APPEUI = AB00AB00AB00AB00 | Définissez l'application EUI, requise sur le serveur Lorawan |
| AT + Appkey = AB00AB00AB00AB00AB00AB00AB00AB00 | Définissez la clé d'application, utilisée pour crypter le paquet de données pendant la jointure du réseau |
| AT + SendInt = 600 | Définissez l'intervalle Le nœud du capteur enverra des paquets de données. 600 == 10 x 60 secondes == 10 minutes |
Le manuel pour toutes les commandes peut être trouvé ici: à commandes.mdAT?
Utilisez la boîte à outils Wisblock
Les données de paquet sont rendues compatibles avec le codage LPP de Cayenne étendu à partir d'électroniccats / cayennelpp
Le contenu du paquet dépend des modules installés sur la carte de base Wisblock:
| Données | Canal # | ID de canal | Longueur | Commentaire | Module requis | Nom de champ décodé |
|---|---|---|---|---|---|---|
| Valeur de la batterie | 1 | 116 | 2 octets | 0,01 V MSB non signé | RAK4631 | tension_1 |
| Humidité | 2 | 104 | 1 octet | en% rh | RAK1901 | humidité_2 |
| Température | 3 | 103 | 2 octets | en ° C | RAK1901 | Température_3 |
| Pression barométrique | 4 | 115 | 2 octets | Dans HPA (MBAR) | RAK1902 | baromètre_4 |
| Éclairage | 5 | 101 | 2 octets | 1 lux non signé | RAK1903 | Illuminance_5 |
| Humidité 2 | 6 | 104 | 1 octet | en% rh | RAK1906 | humidité_6 |
| Température 2 | 7 | 103 | 2 octets | en ° C | RAK1906 | Température_7 |
| Pression barométrique 2 | 8 | 115 | 2 octets | Dans HPA (MBAR) | RAK1906 | baromètre_8 |
| Résistance au gaz 2 | 9 | 2 | 2 octets | 0,01 signé (KOHM) | RAK1906 | analog_9 |
| GNSS se tient. résolution | 10 | 136 | 9 octets | 3 octets lon / lat 0,0001 °, 3 octets alt 0,01 mètre | RAK1910, RAK12500 | GPS_10 |
| Résolution améliorée GNSS | 10 | 137 | 11 octets | 4 octets lon / lat 0,000001 °, 3 octets alt 0,01 mètre | RAK1910, RAK12500 | GPS_10 |
| Température du sol | 11 | 103 | 2 octets | en ° C | RAK12023 / RAK12035 | Température_11 |
| Humidité du sol | 12 | 104 | 1 octet | en% rh | RAK12023 / RAK12035 | humidité_12 |
| Humidité du sol cru | 13 | 2 | 2 octets | 0,01 signé | RAK12023 / RAK12035 | analog_in_13 |
| Données du sol valides | 14 | 102 | 1 octet | bool | RAK12023 / RAK12035 | présence_14 |
| Illuminance 2 | 15 | 101 | 2 octets | 1 lux non signé | RAK12010 | Illuminance_15 |
| Voc | 16 | 138 | 2 octets | Index de COV | RAK12047 | voc_16 |
| Gaz MQ2 | 17 | 2 | 2 octets | 0,01 signé | RAK12004 | analog_in_17 |
| Pourcentage de gaz MQ2 | 18 | 120 | 1 octet | 1-100% non signé | RAK12004 | pourcentage_18 |
| Gaz MG812 | 19 | 2 | 2 octets | 0,01 signé | RAK12008 | analog_in_19 |
| Pourcentage de gaz MG812 | 20 | 120 | 1 octet | 1-100% non signé | RAK12008 | pourcentage_20 |
| MQ3 Gas d'alcool | 21 | 2 | 2 octets | 0,01 signé | RAK12009 | analog_in_21 |
| MQ3 Perc de gaz d'alcool. | 22 | 120 | 1 octet | 1-100% non signé | RAK12009 | pourcentage_22 |
| Distance TOF | 23 | 2 | 2 octets | 0,01 signé | RAK12014 | analog_in_23 |
| Données TOF valides | 24 | 102 | 1 octet | bool | RAK12014 | présence_24 |
| Gyro déclenché | 25 | 134 | 6 octets | 2 octets par axe, 0,01 ° / s | RAK12025 | gyromètre_25 |
| Geste détecté | 26 | 0 | 1 octet | 1 octet avec ID de geste | RAK14008 | Digital_in_26 |
| Valeur UVI LTR390 | 27 | 2 | 2 octets | 0,01 signé | RAK12019 | analog_in_27 |
| Valeur UVS LTR390 | 28 | 101 | 2 octets | 1 lux non signé | RAK12019 | Illuminance_28 |
| Courant INA219 | 29 | 2 | 2 octets | 0,01 signé | RAK16000 | analog_29 |
| Tension ina219 | 30 | 2 | 2 octets | 0,01 signé | RAK16000 | analog_30 |
| Puissance ina219 | 31 | 2 | 2 octets | 0,01 signé | RAK16000 | analog_31 |
| Pavé tactile à gauche | 32 | 102 | 1 octet | bool | RAK14002 | présence_32 |
| Pavé tactile | 33 | 102 | 1 octet | bool | RAK14002 | présence_33 |
| Pavé tactile à droite | 34 | 102 | 1 octet | bool | RAK14002 | présence_34 |
| Concentration SCD30 CO2 | 35 | 125 | 2 octets | 1 ppm non signé | RAK12037 | concentration_35 |
| Température SCD30 | 36 | 103 | 2 octets | en ° C | RAK12037 | Température_36 |
| Humidité SCD30 | 37 | 104 | 1 octet | en% rh | RAK12037 | humidité_37 |
| Mlx90632 Tempor de capteur | 38 | 103 | 2 octets | en ° C | RAK12003 | Température_38 |
| Mlx90632 | 39 | 103 | 2 octets | en ° C | RAK12003 | Température_39 |
| Valeur PM 1.0 | 40 | 103 | 2 octets | dans UG / M3 | RAK12003 | voc_40 |
| Valeur PM 2.5 | 41 | 103 | 2 octets | dans UG / M3 | RAK12003 | voc_41 |
| Valeur PM 10 | 42 | 103 | 2 octets | dans UG / M3 | RAK12003 | voc_42 |
| Événement de tremblement de terre | 43 | 102 | 1 octet | bool | RAK12027 | présence_43 |
| Valeur SI tremblement de terre | 44 | 2 | 2 octets | analogique 10 * m / s | RAK12027 | analog_44 |
| Valeur PGA du tremblement de terre | 45 | 2 | 2 octets | analogique 10 * m / s2 | RAK12027 | analog_45 |
| Alerte d'arrêt du tremblement de terre | 46 | 102 | 1 octet | bool | RAK12027 | présence_46 |
| Lpp_channel_eq_collapse | 47 | 102 | 1 octet | bool | RAK12027 | présence_47 |
| Statut de commutateur | 48 | 102 | 1 octet | bool | RAK13011 | présence_48 |
| Sensorhub Speed | 49 | 190 | 2 octets | 0,01 m / s | SensorHub RK900-09 | wind_speed_49 |
| Sensorhub Wind Direction | 50 | 191 | 2 octets | 1º | SensorHub RK900-09 | wind_direction_50 |
| Niveau audio | 49 |
Les ID de canal en cursive sont un format étendu et non pris en charge par des décodeurs de données LPP Cayenne standard.
Exemple de décodeurs pour TTN, chirpstack, hélium et datacake se trouvent dans le dossier Rakwireless_standardisé_payload Repo
Les fichiers compilés sont situés dans le dossier ./Generated. Chaque version compilée réussie est nommée comme
WisBlock_SENS_Vx.y.z_YYYY.MM.dd.hh.mm.ss
XYZ est le numéro de version. Le numéro de version est configuré dans le fichier ./platformrio.ini.
Yyyy.mm.dd.hh.mm.ss est l'horodatage de la compilation.
Le fichier .zip généré peut également être utilisé pour mettre à jour l'appareil sur BLE à l'aide de l'une ou l'autre boîte à outils Wisblock
Lorsque vous utilisez PlatformIo en plus, un fichier UF2 pour le RAK4631 est généré. Vous pouvez forcer le RAK4631 en mode chargeur de démarrage en coupant le bouton de réinitialisation. Un nouveau lecteur USB sera installé. Tirez le fichier UF2 dans le nouveau lecteur pour flasher l'appareil.
La sortie de débogage peut être contrôlée par définir dans la platformio.ini
Lib_debug contrôle la sortie de débogage de la bibliothèque SX126X-ARDUINO LORAWAN
API_DEBUG CONTRÔLE
My_debug contrôle la sortie de débogage de l'application elle-même
CFG_DEBUG contrôle la sortie de débogage du NRF52 BSP. Il est recommandé de le garder
[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.pyCe guide peut être utilisé pour le kit Wisblock 1 et le kit de développeur RAK 2
Installez les modules dans n'importe quel emplacement assorti, en suivant les guides de démarrage rapide dans le centre de documentation inlassable
Configurer l'appareil à l'aide de l'interface de commande AT ou de l'application BLE
Ce guide peut être utilisé pour Wisblock Kit 2 , Wisblock Kit 3 , Wisblock GNSS Tracker pour Lorawan et Rak Developer Kit 3
Le module RAK1904 doit être installé dans
Slot C de RAK5005-O, RAK19007, RAK19003 ou RAK19001
Si vous utilisez le RAK1910, il doit être installé dans
Fente A de RAK5005-O
Toute fente correspondante de RAK19007 ou RAK19001
Si vous utilisez le RAK12500, il peut être installé dans n'importe quel emplacement correspondant des planches de base.
Le RAK1906 peut être installé dans n'importe quel emplacement correspondant de la carte de base.
Pour les guides d'installation, suivant les guides de démarrage rapide dans le centre de documentation sans Rakwire
Configurer l'appareil à l'aide de l'interface de commande AT ou de l'application BLE
RAK11700 GNSS Tracker pour Lorawan est le mode de démarrage par défaut pour cette configuration.
Si la construction du kit de mappeur d'hélium, le mode doit être modifié avec l'intérêt ci-dessous:
La solution peut être définie sur 3 modes de travail différents en utilisant la commande AT AT+GNSS :
| Commande | Paramètre d'entrée | Valeur de retour | Code de retour |
|---|---|---|---|
| AT + GNSS? | - | Get/Set the GNSS precision and format 0 = 4 digit, 1 = 6 digit, 2 = Helium Mapper | OK |
| AT + GNSS =? | - | 0 ou 1 ou 2 | OK |
AT + GNSS = <Input Parameter> | 1 ou 2 ou 3 | - | OK ou AT_PARAM_ERROR |
Le format standard LPP Cayenne n'utilise que 4 chiffres pour la précision de localisation. Ce format d'emplacement par défaut est automatiquement pris en charge par la plupart des serveurs Lorawan et des plateformes de visualisation comme MyDevices .
C'est la valeur par défaut et est défini avec la commande AT AT+GNSS=0 .
En définissant cette option, les données sont toujours envoyées au format Cayenne LPP, mais utilise un identifiant de données personnalisé et 6 chiffres pour une résolution de latitude et de longitude plus élevée. Pour décoder ce format, un encodeur de données personnalisé est requis. Les encodeurs de données pour TTN, ChirpStack et DataCake peuvent être trouvés dans le dossier de décodeur de données personnalisé.
La résolution de localisation améliorée est définie avec la commande AT AT+GNSS=1 .
Cette option envoie les données au format de mappeur d'hélium, comme expliqué dans Faire un mappeur d'hélium avec le Wisblock.
Les décodeurs de paquets pour ce format sont fournis dans l'article ci-dessus.
La fonctionnalité du mappeur d'hélium est définie avec la commande AT AT+GNSS=2 .
Ce guide peut être utilisé pour le kit Wisblock 4 et le kit de développeur RAK 4
Installez les modules dans n'importe quel emplacement assorti, en suivant les guides de démarrage rapide dans le centre de documentation inlassable
Configurer l'appareil à l'aide de l'interface de commande AT ou de l'application BLE