LoRaWAN - The Things Network
Objectif(s)
Créer un objet qui enverra via LoRa l'humidité et la température ambiante.
The Things Network (TTN)
The Things Network est une association qui a permis de créer un réseau communautaire LoRaWAN. Tout ceux qui le veulent peuvent apporter leur pierre à l'édifice en installant chez eux ou dans leur entreprise une passerelle LoRa. L'EPSI en possède une installée dans le myDIL.
Créer un compte et une application sur https://console.thethingsnetwork.org
Mise en place
Voici en résumé ce que nous devons faire :
- Installation de la carte sous Arduino.
- Récupérer le devEUI de la carte.
- Créer l'objet dans TTN à partir de ce devEUI.
- Utiliser un code typique pour tester la connexion en utilisant les clés fournies lors de l'étape précédente.
- Connecter le capteur (sans LoRa).
- Fusionner les deux codes précédents pour envoyer la température et l'humidité.
- Récupérer les données et les afficher dans un dashboard NodeRed.
Installation de la carte Things Uno sous Arduino
Au niveau matériel, rien à installer, sélectionner "Arduino Leonardo" dans le gestionnaire de carte.
La conception de la carte est assez simple : un modem LoRa est associé avec un microcontroleur (µC) Atmega32u4 qui équipe habituellement les Arduino Léonardo. Le µC et le modem communiquent en liaison série en s'envoyant des commandes formatées appelées commande AT. La librairie installée permet de faire abstraction de cette communication, mais on pourrait très bien communiquer avec ce modem directement depuis le moniteur série du PC par exemple.
Si jamais la carte vous pose des problèmes (port série non reconnu etc ..) => https://www.thethingsnetwork.org/docs/devices/node/troubleshooting.html
Dans le gestionnaire de librairies, installer TheThingsNetwork.
Récupération du devEUI
Récupérer le devEUI de votre carte => https://www.thethingsnetwork.org/docs/devices/uno/quick-start.html
Créer le device sur TTN
Sur la console TTN, dans votre application créer un device. Saisissez le devEUI précédemment récupéré et laissez les autres champs en génération automatique.
Tester la liaison
Sur Arduino, allez chercher Fichier>Exemples>TheThingsNetwork>SendOTAA. Modifier les différents champs importants pour correspondre à votre configuration (AppKey, FrequencyPlan ...) et vérifier dans le moniteur série que tout se passe bien (JOIN et envoi).
Vérifier sur la console TTN que les données arrivent bien.
Si vous rencontrer des problèmes de type "invalid_param" en console, il vous faut downgrader votre version de la librairie TheThingsNetwork en 2.5.16
Connecteur de capteur d'humidité/température (DHT11)
Ajouter ensuite un DHT11, récupérer ses données de température et d'humidité, et les envoyer via LoRa.
Connecter NodeRED
Lancer ensuite un serveur NodeRed afin de récupérer les données sur le MQTT TTN : https://www.thethingsnetwork.org/docs/applications/mqtt/api.html
Et les afficher sur un dashboard NodeRed (node-red-dashboard).
No Comments