Heltec WiFi LoRa 32¶
Présentation¶
Cette carte de type ESP32 embarque des composants Wi-Fi, Bluetooth à basse consommation (BLE) et LoRa. Il y a aussi une antenne intégrée assez performante, un système de gestion de batterie Li-Po ainsi qu'un écran OLED de 0.96 pouces.
Plus d'informations sur le site du fabriquant : https://heltec.org/project/wifi-lora-32/
La documentation complète se trouve ici : https://heltec-automation-docs.readthedocs.io/en/latest/esp32/quick_start.html
https://github.com/HelTecAutomation/ESP32_LoRaWAN
Configuration de l'IDE Arduino¶
Ajout du support de la carte¶
Cela se passe en deux étapes.
-
Dans le menu
Fichier/Préférences
ajouter le lien suivant dans le champ "URL de gestionnaires de cartes supplémentaires" : https://resource.heltec.cn/download/package_heltec_esp32_index.json. Cela va rajouter le catalogue des cartes Heltec à la liste des cartes utilisables. -
Ensuite, via le gestionnaire de cartes (via
Outils/Type de carte
), rechercher "Heltec ESP32" et l'installer.
Ajout des bibliothèques Heltec ESP32¶
Via le gestionnaire de bibliothèque (Croquis/Inclure une bibliothèque/Gérer les bibliothèques
), chercher "Heltec ESP32" et les installer.
Ajout des bibliothèques LoRaWAN d'Heltec¶
Toujours via le gestionnaire de bibliothèques, installer ESP32_LoRaWAN
.
Sinon, récupérer directement les bibliothèques ici : https://github.com/HelTecAutomation/ESP32_LoRaWAN
Test de bon fonctionnement¶
On testera ensuite que tout fonctionne en allant téléverser un programme pris parmi les exemples (comme XXXXXX_FactoryTest.ino
). Dans Outils
, veiller à bien choisir la carte WiFi LoRa 32(V2)
Tip
Les librairies Heltec utilisant python
, il peut être nécessaire d'installer aussi le paquet python-serial
.
Connexion LoRaWAN¶
Licence¶
Warning
La bibliothèque Heltec ESP32 LoRaWAN a besoin d'une "license" pour pouvoir fonctionner... Il s'agit en fait d'une clé génrée à partir de l'ID de la puce de la carte. Voir ci-dessous.
Il faut récupérer le chip ID
. Pour cela, exécuter le programme :
et récupérer le chip ID dans le moniteur série. Une fois fait, aller générer votre numéro de licence sur : https://resource.heltec.cn/search. C'est une suite de code héxadécimaux de la forme : 0x79C3319B, 0x92BD...
Elle sera à ajouter dans le sketch plus tard.
Ajouter l'objet à Chirpstack¶
Contactez-nous pour ajouter l'objet et vous remettre les clés nécessaires (DevEui
et AppKey
)
Code exemple¶
On utilisera le code proposé par Heltec OTAA_OLED.ino
.
Problème identifié : le compteur de frame ne serait pas incrémenté.
application/10/device/0260fc9256c4b5fe/error {"applicationID":"10","applicationName":"TestESP32","deviceName":"heltec","devEUI":"0260fc9256c4b5fe","type":"UPLINK_FCNT_RETRANSMISSION","error":"frame-counter did not increment","fCnt":1}
À suivre...
MQTT¶
On peut s'abonner au flux MQTT de tous les objets de l'application où il a été positionné :
mosquitto_sub -h loraserver.tetaneutral.net -v -t "application/10/#"
ou uniquement au flux MQTT de l'objet en question :
mosquitto_sub -h loraserver.tetaneutral.net -v -t application/10/device/0000000000000000/#