JOURNAL DE BORD – Projet LoRa & Château d’eau

/ / Projets

Projet lancé en septembre 2018, le projet Lora se concentre sur la technologie du même nom. Elle permet aux objets connectés d’échanger des données de faible taille en bas débit. Au Konk Ar Lab, on a eu envie de créer nos propres objets connectés !

… C’est de là qu’est né ce qu’on appelle le « projet château d’eau ». Notre objectif? Capter la hauteur d’eau de la cuve d’un château d’eau puis récupérer les données grâce à la technologie LoRa.

Ici seront retracées les différentes étapes/notions du projet :

1 – Les antennes LoRa du Fablab
2 – Le capteur ultrason & la carte Arduino
3 – De l’ajout du module Lora… à la fin de la création de notre objet connecté !
4 – Enregistrer les données et les afficher

 

1- Les antennes LoRa du Fablab

LES antennes? Oui oui, au fablab nous sommes en possession de 2 antennes, et je vais vous les présenter ensuite.

Mais d’abord, il est utile de rappeler l’utilité d’une antenne. Une antenne (ou gateway) est connectée à internet (via wifi, ethernet, 4G…) et communique sur la bande 868Mhz (en Europe). Les objets connectés (équipés d’une puce LoRa) peuvent émettre leurs signaux et recevoir ceux de l’antenne via le protocole LoRa. Sans les antennes, pas de communication… Ce sont elles qui récupèrent les infos que les objets connectés captent. Elles servent un peu d’intermédiaire entre les objets et nous.

 

La grosse antenne

Passerelle LoRaWAN™ LORIX One

La ‘LoRa team’ a placé en 2019 une antenne LoRa sur un des toits de Concarneau. Elle est située au niveau des services technique de la CCA et est enregistrée sur le site ‘The Things Network’

Pour en savoir un peu plus sur The Things Network (TTN), voici un article bien détaillé qui explique notamment ce qu’est TTN, et comment enregistrer sa gateway dessus.

La petite antenne : Lorette

Dragino LPS8 Indoor LoRaWAN Gateway - Elektor

Lorette a rejoint l’équipe du fablab en mai 2020. C’est une petite antenne indoor faite par exemple pour tester des maquettes dans une pièce. Elle est située dans le « show room » du Konk Ar Lab.

C’est plutôt cette antenne qui nous servira de support pour la maquette du projet. Ensuite, pour le projet à grandeur réelle, on se basera sur la « grosse » antenne, puisque de toute façon le château d’eau sera hors de la portée de Lorette.

 

 

2 – Le capteur ultrason & la carte Arduino

Intéressons nous maintenant aux deux premiers composants de notre objet connecté (ou device) : le capteur de hauteur, et la carte Arduino.

Nous allons capter la hauteur avec un capteur ultrason. Pourquoi ce capteur? Parce qu’on en avait un, tout simplement… il existe d’autres manières de capteur une distance : radar, pression… mais il est toujours préférable de recycler plutôt que d’acheter !

En plus, le capteur que nous avons (le SEN208) capte jusqu’à des distances de 4m, ce qui est adapté à notre cas.

Nous utilisons ici une Arduino Pro Mini 3.3V.
Remarque : On la reçoit éclatée et il faut souder les pins !

Voici les branchements que nous avons fait : (Nous avons du gérer les tensions avec un module Canton power 3.3V en vert, et uploader le programme sur la Arduino Pro Mini avec un convertisseurs usb ttl en rouge)

 

Voici le code sur Arduino IDE (Nous avons sélectionné la carte Arduino Pro Mini, ATmega328P 3.3V et le bon port COM qui varie suivant les PC)

Et en allant sur le moniteur série (bouton en haut à droite de l’IDE Arduino) ou dans Outils>Moniteur série , vous devriez voir les distances s’afficher toutes les 3000ms. Attention, vérifiez que votre fréquence est bien de 9600 bauds (en bas à droite du moniteur série)

 

3 – De l’ajout du module Lora… à la fin de la création de notre objet connecté !

Dans l’étape précédente, nous avons réussi à afficher les données de distance dans le moniteur série d’Arduino. C’est cool, mais l’objectif avec un objet connecté… est de le connecter !

Cette étape consiste en effet à réussir à transmettre les données à l’antenne LoRa afin de les stocker sur des serveurs… et d’en faire ce qu’on veut : une application, un onglet sur un site, de l’étude de donnée… Le composant qui va nous aider à faire cela est ci-dessous, c’est un module LoRa RFM95 à la fréquence 868MHz :

Pour cela, il va d’abord falloir souder le module RFM95 à la Arduino Mini Pro, avec le mapping suivant :

Sur la pin « ANT » ou « ANA » du module RFM95 il faut y brancher un fil d’une longueur de 8.2cm pour émettre à la bonne fréquence en Europe (cad 868Mhz).

Ensuite, nous allons avoir besoin de plusieurs informations afin de remplir le code dispo ici. Pour cela, il faut aller sur le site The Things Network, créer une application, ajouter des devices, et récupérer les clés (ces étapes sont détaillées dans le Tuto Machine #Gateway) suivantes : APPSKEY, NWSKEY, DEV EUI, DEV ADDR

Ensuite, vous pouvez téléverser le code sur votre Arduino.
Attention au voltage. Le capteur ultrason qu’on utilise ici est en 5V et la carte Arduino en 3.3V. Voici les branchements effectués :

Dans le moniteur série, on peut voir les données qui s’envoient, et on peut les voir arriver sur The Things Network, onglet ‘data’ de l’application : (ici j’envoie une donnée toutes les 30 secondes, ce qui est beaucoup pour du LoRa mais justifiable en phase de test)

Dans un premier temps, seul le payload apparait (Exemple : payload: 6B) Mais pour que ce soit plus clair, il est possible d’appliquer une fonction pour le décoder (cliquer sur ‘PAYLOAD FORMAT’ dans les onglets TTN)… pour obtenir le résultat de la photo ci-dessus !
Voici celle que j’ai mise :

function Decoder(bytes, port) {
  // Decode an uplink message from a buffer.
  var distance = bytes [0]
  return {Distance:distance};
}

Voilà, on récupère les données ! … Mais on ne les stocke/exploite pas encore. Ce sera l’objet de la prochaine mise à jour de ce journal de bord !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *