Things UNO sur TheThingsNetwork (TTN)
Introduction
Nous allons créer un objet connecté via le réseau communautaire TheThingsNetwork.
Pré-requis :
- Disposer du carte ThingsUno (en théorie les autres modèles sont évidemment utilisables mais ce tutoriel est articulé autour de cette carte spécifiquement)
- Disposer d'une passerelle LoRaWAN à portée et raccordée à TheThinsNetwork (c'est le cas de celle du fablab).
- Idéalement avoir le tuto sur LoRa & LoRaWAN
Plusieurs étapes sont requises :
- Création d'un compte sur TheThingsNetwork.
- Ajout de la prise en charge de la ThingsUNO sur Arduino.
- Ajout de la librairie TheThingsNetwork.
- Récupération du de l'identifiant unique unique de la carte (devEUI).
- Enregistrement du device sur TheThingsNetwork.
- Test de bon fonctionnement.
- Récupération des données par MQTT
- Et plus si affinités ....
The Things Network (TTN)
Créer un compte et une application sur https://console.thethingsnetwork.org
Installation de la carte Things Uno sour 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
Installation de la librairie TheThingsNetwork
Dans le gestionnaire de librairies, installer TheThingsNetwork.
Récupération du devEUI
Récuperer le devEUI de votre carte => https://www.thethingsnetwork.org/docs/devices/uno/quick-start.html
Enregistrement du 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.
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.
Ajouter ensuite un DHT11, récupérer ses données de température et d'humidité, et les envoyer via LoRa.
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).