Irritrace
Irritrace est un objet connecté à construire soi-même permettant de suivre la pression dans les tuyaux d’irrigation. Il permet de suivre la traçabilité d’irrigation d’une parcelle, ainsi que de détecter des potentielles fuites. La pression donnée peut également être convertie en débit, et donc en volume irrigué.
Dans ce tutoriel, vous apprendrez à fabriquer un Irritrace pour visualiser en temps réel la pression dans un tuyau (1 donnée toutes les 5min)
Le système Irritrace a été développé dans le cadre du projet HubIS et Tai-OC
Caractéristiques générales
Système
- Autonomie : 1 an
- Coût : < 100€
- Pression de 0 à 7 bars
Matériel requis
- Un réseau LoRaWAN. Le tutoriel est disponible ici pour installer son propre réseau.
- Un petit fer à souder et de l’étain
- Un ordinateur avec accès Internet
Avant propos
l’Objet connecté proposé ci-dessous se réalise en auto-construction. Cela permettra de le modifier selon vos souhaits (installer une pile plus puissante pour améliorer l’autonomie, installer un 2nd capteur sur le même système, brancher une meilleure antenne pour augmenter la portée du système, …)
Il existe une version toute construite de cet objet connecté, vendu par Gotronic, accessible ici. Pour un coût légèrement augmenté, vous simplifiez grandement certaines étapes !
Le tutoriel concernant ces objets connectés commercialisés sont disponible ICI (Edit : Tutoriel en cours de construction)
Etapes du tutoriel
Ce tutoriel se divise en plusieurs phases :
- Achat des composants
- Montage de l’objet connecté
- Etalonnage de l’Objet Connecté
- Enregistrement sur le site The Things Network pour obtenir des clefs d’accès
- Intégration de ces clefs d’accès dans le système construit
- Visualisation des données sur The Things Network
- Affichage des données sur la Console du mobilab
1. Achat des composants
1.1. Composants éléctroniques
La liste des composants est proposée sur le site officiel d’un revendeur français (fiable, plus cher) et l’équivalent sur le Site AliExpress (moins fiable, moins cher). Si vous décidez d’acheter sur AliExpress, nous vous recommandons de lire notre article sur les achats au préalable. Nous vous recommandons de n’acheter que la carte CubeCell sur Aliexpress, et tout le reste sur GoTronic.
Vous pouvez cliquer sur les liens surlignés pour accéder à l’article, vous pouvez également importer directement le panier en bas de la liste.
- Une Carte CubeCell HTCAB02 863-870MHz : Heltec (15€ – attention aux frais de ports !) ou AliExpress (20€)
- Une pile LiPo 18650 : Gotronic (23€) ou AliExpress (2€)
- Un support de pile LiPo : Gotronic (3€) ou AliExpress (0.2€)
- Un transistor S8050 ou 2N3904 : Gotronic ou AliExpress (0.8€)
- une breadboard : Gotronic (4.5€) ou AliExpress (1.5€)
- Deux connecteurs Wago à 2 entrées : Gotronic (0.8€) ou AliExpress (3€) (ou Leroy Merlin)
- Des câbles Dupont Mâle-Mâle : Gotronic (10€) ou AliExpress (2€)
- Des ponts de connexion : Gotronic (6€) ou AliExpress (2€)
- Un capteur de pression d’eau de Gotronic (25€)
1.2. Encapsulage
L’Irritrace devra être protégé des intempéries. Si vous cherchez l’économie, une boite Haribo siliconnée pourra faire l’affaire ! Sinon, un boitier de dérivation d’éléctricité d’un magasin type Leroy Merlin permettra de protéger le système.
De plus, le capteur devra être inséré dans le tuyau. Il vous faudra du teflon ainsi qu’un raccord classique pour tuyau d’irrigation.
2. Construction du système
RAPPEL : Avant d’aller plus loin, nous rappelons qu’il est nécessaire d’avoir installé un réseau LoRaWAN est d’être à proximité de l’antenne. Le tutoriel suivant permet d’installer un réseau LoRaWAN chez soi.
2.1. Préparation du CubeCell
La carte CubeCell est un micro-controlleur, elle jouera le rôle du « cerveau » de l’objet connecté : on va lui injecter un code qui va lui lister les opérations à faire : Lire la pression, l’envoyer en LoRaWAN, puis se mettre en veille pendant 5min.
La carte CubeCell est livrée dans une petite boite : la première étape consiste à ouvrir cette boite et bien vérifier qu’il ne manque rien :
- La carte CubeCell
- L’antenne
- Un câble d’alimentation rouge & noir
- 2 barres de connecteurs
Etape 1 : On insère le câble d’alimentation rouge & noir dans le connecteur « JST » beige au verso de la carte. Attention au sens ! Le connecteur est petit mais on peut s’appuyer sur la partie blanche du connecteur mâle avec les ongles ou un petit outil.
Etape 2 : On dispose les barres de connecteurs dans les trous de la carte CubeCell
Etape 3 : On enfonce les connecteurs dans la breadboard comme le montre l’image ci-contre (Chaque trou de breadboard est nommé (comme à la bataille navale!) : ici, on enfoncera les barres en B5-B19 et en H5-H19). Le port USB de la carte est vers l’extérieur de la CubeCell, comme le montre la photo ci-contre. On peut appuyer franchement de part et d’autre de la carte Cubecell pour faciliter son insertion.
Si une des broches ne semble pas bien enfoncée dans la breadboard (plus haute que les autres), il faut appuyer dessus avec le dos de l’ongle pour la mettre au même niveau que les autres.
Etape 4 : Avec un fer à souder, on soude toutes les broches de part et d’autre de la carte. Attention aux broches GND : la soudure peut s’avérer difficile, l’étain n’adhère pas facilement à la pastille de la carte.
Pour rappel, il faut d’abrod chauffer la pastille de la carte en appuyant assez fortement dessus avec la pointe du fer, puis disposer l’étain par l’autre côté de la pastille pour que l’étain liquide se fixe correctement.
Nous recommandons de suivre ce tuto avant de se lancer pour la première fois dans la soudure.
Etape 5 : On termine en branchant l’antenne sur le connecteur « IPEX » de la carte Cubecell. La encore, la connexion est petite, appuyez avec vos ongles ou un petit outil sur le dessus du connecteur.
2.2. Branchements de la breadboard
La breadboard est une planche trouée qui fait office de multiprise pour nos connexions : les trous en colonnes sont reliés entre eux, ce qui permet de relier facilement tous les composants (capteurs et transistor) à la carte CubeCell. Le transistor, lui, est un interrupteur éléctronique : commandé par la Cubecell, il coupera l’alimentation du capteur lorsque l’objet connecté est en veille : cela permet d’avoir un système fonctionnel pendant une saison entière.
Les branchements ci-dessous sont proposés avec des cavaliers. La taille d’un cavalier dépend de sa couleur. Vous pouvez également réaliser ces branchements avec des câbles Dupont.
Les branchements à réaliser :
- Utiliser un cavalier jaune pour relier J6 avec un des trous le long de la ligne noire (ou bleue).
- Utiliser un cavalier jaune pour relier J21 avec un des trous le long de la ligne noire (ou bleue) « -« .
- Utiliser un cavalier orange pour relier J7 avec un des trous le long de la ligne rouge « + ».
- Utiliser un cavalier orange pour relier J26 avec un des trous le long de la ligne rouge « + ».
- Utiliser un cavalier bleu pour relier J24 avec J18 (dans la même rangée que la broche ~2 de la CubeCell)
- Utiliser un cavalier rouge pour relier F23 avec F25
- Utiliser un cavalier violet pour relier I22 avec I15 (dans la même rangée que la broche 2 de la CubeCell)
- Le transistor s’insère dans les trous H21, H22, H23 (attention au sens ! le transistor a un côté bombé, cf la photo).
2.3. Branchements des capteurs
Une fois alimenté, le capteur de pression délibèrera une tension dans le fil jaune (parfois vert) qui dépendra de la pression: par exemple 2V pour 2bars, 3V pour 3 bars, etc. Le capteur possède 3 fils : les fils rouge et noir sont l’alimentation (respectivement le « + » et « -« ), le fil jaune est la sortie. Il existe parfois un 4ème fil blanc, qui ne sert à rien.
Etape 1 : On commence par rallonger les fils du capteur qui seront peut-être trop courts. Les câbles dupont mâle s’insèrent dans la broche du câble femelle du capteur (cf photo)
Attention à bien se souvenir des codes couleurs de vos câbles !
Etape 4 : On branche finalement le capteurs (via les câbles Dupont) au montage précédant.
Le fil noir du capteur doit être relié en H25
Le fil rouge doit être relié en H26 .
Le fil jaune (ou vert) du capteur doit être branché en H24
2.4. Branchements de l'alimentation
L’objet connecté sera alimenté par une pile LiPo 18650. Le support à pile LiPo permet de la connecter simplement
Etape 1 : on insère le câble rouge du support à Pile dans un connecteur Wago : il suffit de lever la barrette orange, insérer le fil, puis refermer. On répète l’opération avec le fil rouge de la carte CubeCell.
Attention : certains fils ne sont pas assez dénudés : si le Wago pince le plastique au lieu de pincer le métal, le courant ne passera pas… Il faut donc bien s’assurer que l’on pince la partie métallique du fil. Pour cela, vous pouvez dénuder un peu plus le fil avec une pince à dénuder (ou en chauffant le plastique). Vous pouvez aussi regarder la position du fil à travers le Wago.
Etape 2 : on réitère l’opération précédente avec les deux fils noirs. Même consigne : veillez à ce que le Wago pince la partie métallique du fil
Etape 3 : Pour le moment, nous n’insérons pas la pile LiPo dans son support. Lorsqu’il sera demandé, on veillera à mettre la pile dans le support (et dans le bon sens, s’il vous plait !)
3. Etalonnage du capteur
A ce stade, votre obejet connecté est monté. On va maintenant s’attaquer à l’étalonnage du capteur. En effet, le rôle de la sonde consiste à convertir la pression en une tension électrique. Par exemple, elle pourrait délivrer 2V pour 2 bars,
3V pour 3 bars, et ainsi de suite. Chaque sonde peut fournir des valeurs différentes, même dans le même environnement. C’est pourquoi il est impératif de les étalonner afin de garantir leur précision. On va donc regarder les tensions électriques données par vos sondes dans l’air. Pour cela, il va falloir envoyer des instructions à la carte CubeCell « lis la valeur donnée par le capteur et montre la moi sur l’ordinateur ».
3.1. Téléchargement d'Arduino
Le logiciel qui va nous permettre d’envoyer ces instructions à la carte s’appelle Arduino 1.8. Si vous ne l’avez pas déjà installé ainsi que la librairie CubeCell, vous pouvez suivre ce tutoriel rapide.
3.2. Préparation d'Arduino
Avant d’envoyer le code à la carte, il faut d’abord expliquer au logiciel Arduino que notre carte est une CubeCell, etc.
Etape 1 : Ouvrir le logiciel Arduino. Une fenêtre de ce type s’ouvre
Etape 2 : Allez dans Outils > Type de carte > CubeCell et choisir CubeCell-Board Plus (HTCC-AB02)
Note : si vous ne voyez pas l’onglet « CubeCell », vous n’avez pas parfaitement installé les librairies dans le tutoriel présenté en 3.1, vous pouvez y retourner !
3.3. Envoi du code d'étalonnage
Le temps est venu de mettre la main dans « le code ». Pas de panique, dans cette section il s’agit uniquement de faire du « copier-coller » !
Etape 1 : Dans la fenêtre principale du logiciel Arduino, commencez par effacer tout le code existant en sélectionnant l’ensemble du texte, généralement composé des mots « void », « setup » et « loop ». L’objectif est d’obtenir une page vierge. Pour cela, vous pouvez utiliser le raccourci clavier Ctrl + A pour tout sélectionner, puis appuyer sur la touche « Supprimer » .
Ensuite, dirigez-vous vers l’onglet « Fichier » , puis sélectionnez « Enregistrer sous » . Enregistrez votre fichier à l’emplacement souhaité. L’emplacement de sauvegarde n’a pas d’importance car vous n’aurez pas besoin de conserver ce fichier ultérieurement..
3.4. Envoi du code
Etape 1 : Le lien vers le code d’étalonnage est disponible en cliquant ici.
Lorsque vous ouvrirez la page liée, utilisez le raccourci clavier Ctrl + A pour sélectionner tout le code, puis Ctrl + C pour le copier intégralement.
Ensuite, collez le code dans la fenêtre Arduino en utilisant Ctrl + V.
Etape 2 :
Avant de téléverser le code sur la carte CubeCell, il est nécessaire de déterminer sur quel port USB la carte est installée. Pour ce faire, connectez votre carte CubeCell à l’ordinateur avec le câble USB-MicroUSB, puis naviguez dans le menu « Outils » et sélectionnez « Ports ». Vous devriez voir apparaître un port au format COM-XX (XX étant un numéro). Si plusieurs ports COM-XX sont listés, passez à l’étape 3. Si un seul port est affiché, sélectionnez-le et passez à l’étape 4.
Si aucun port n’est détecté, vérifiez votre câble USB (certains câbles ne sont fait que pour recharger, pas pour échanger des informations).
Etape 3 :
Il est possible que vous observiez plusieurs ports COM-XX (XX étant un numéro) dans la liste. Prenez note de tous ces numéros. Ensuite, cliquez en dehors de la barre de menu pour fermer la liste. Débranchez maintenant votre carte CubeCell de l’ordinateur.
Retournez dans le menu « Outils » et sélectionnez à nouveau « Ports« . Vous remarquerez qu’un des ports COM-XX a disparu de la liste. Celui-ci correspond au port de notre carte, sur lequel nous allons envoyer le code. Rebranchez maintenant votre carte à l’ordinateur, répétez l’opération pour afficher les ports et sélectionnez celui qui correspond à celui qui a disparu précédemment.
Etape 4 : Cliquez sur le bouton en haut de la fenêtre Arduino. C’est parti ! L’opération peut prendre quelques secondes. Son avancement est écrit en orange dans la section noire en bas de la fenêtre. (10%…20%… etc)Si vous n’avez pas de bug, il doit être écrit quelque-part « Téléversement terminé ».
Sinon, nous vous invitons à lire cette page pour identifier le bug
Etape 5 :
Maintenant, cliquez sur l’icône de la petite loupe située en haut à droite de la fenêtre Arduino. Cela ouvrira une nouvelle page. Assurez-vous de vérifier que le « baud » en bas de cette page est fixé à 115200 (et non à 9600). Si tel est le cas, vous devriez voir les valeurs provenant des capteurs s’afficher.
Placez les sondes dans de l’eau ou soufflez dedans, et observez les variations des valeurs affichées.
Etape 6 : Le capteur transforme la valeur de pression en une tension. Par exemple, 2bars correspont à 2000 millivolts, 3bars à 3000 millivolts, etc.
Ici, nous lisons des tensions, et non pas la pression. Il va falloir trouver la relation entre les deux ! Pour cela, mesurez la valeur « médiane » donnée par le capteur dans l’air, sans pression.
Notez bien cette valeur que l’on nommera « calib » plus tard !
3. Déclarer l'irritrace sur TTN
Avant d’aller plus loin, nous rappelons qu’il est nécessaire d’être couvert par un réseau LoRa de The Things Network.
Si vous ne disposez pas encore de ce réseau, le tutoriel suivant vous guidera pour l’installer.
La déclaration de votre Objet connecté sur TTN va lui permettre d’envoyer ses données à un endroit dédié sur internet. Le système pourra envoyer ses données dans cet espace dédié, uniquement si elle donne ses codes d’accès.
Cliquez sur ce lien pour suivre le tutoriel de déclaration d’un objet connecté sur TTN. On se retrouve après ici, quand vous aurez en votre possession les clefs d’accès !
4. Envoi du code à la carte CubeCell
A ce stade, votre Irritrace est monté et vous avez un espace dans TTN pour recevoir les données de votre PilowTech., sécurisé par les clefs d’accès AppEUI, DevEUI et AppKey. Il est temps de donner ces informations à votre carte CubeCell afin qu’elle puisse envoyer ses données sur cet espace !
4.1. Téléchargement d'Arduino
Le logiciel qui va nous permettre d’envoyer ces informations à la carte s’appelle Arduino 1.8. Si vous ne l’avez pas déjà installé ainsi que la librairie CubeCell, vous pouvez suivre ce tutoriel rapide.
4.2. Préparation d'Arduino
Avant d’envoyer le code à la carte, il faut d’abord expliquer au logiciel Arduino que notre carte est une CubeCell, etc.
Etape 1 : Ouvrir le logiciel Arduino. Une fenêtre de ce type s’ouvre
Etape 2 : Allez dans Outils > Type de carte > CubeCell et choisir CubeCell-Board Plus (HTCC-AB02)
Note : si vous ne voyez pas l’onglet « CubeCell », vous n’avez pas parfaitement installé les librairies dans le tutoriel présenté en 4.1, vous pouvez y retourner !
Etape 3 : Allez dans Outils >
Plusieurs champs sont apparus, il va falloir dire au logiciel plusieurs informations au sujet de notre carte cubecell :
- LORAWAN_REGION : REGION_EU868. On est en en Europe, donc on communique en 868MHz, la fréquence autorisée
- LORAWAN_AT_SUPPORT : OFF. On cherche juste à envoyer notre code à la carte, pas à la configurer via des commandes spécifiques « AT ».
- LORAWAN_RGB : DEACTIVE. On désactive la Lumière LED qu’émet la carte Cubecell (flash vert si un message LoRa est bien envoyé, flash rouge si il n’est pas envoyé). Cette LED peut restée activée pour du « débugage », elle permet d’identifier potentiellement un problème de réseau. Cela dit elle consomme de l’énergie donc il est préférable de l’éteindre quand votre Pilowtech est terminé.
4.3. Ajout des clefs d'accès
Le temps est venu de mettre la main dans « le code ». Pas de panique, dans cette section il s’agit uniquement de faire quelques « copier-coller » !
Etape 1 : Dans la fenêtre principale du logiciel Arduino, commencez par effacer tout le code déjà existant (composé des mots void, setup et loop). L’objectif est d’obtenir une page blanche. Pour aller plus vite, vous pouvez tout séléctionner en faisant Ctrl+A, puis appuyer sur la touche suppr.
Allez ensuite dans l’onglet fichier, enregistrer sous, puis enregistrer votre fichier à l’endroit souhaité.
Etape 2 :
Le code à envoyer est accessible en cliquant sur
-> ce lien <-.
Sur la nouvelle page qui s’ouvre, il faut tout sélectionner (raccourci : Ctrl+A), puis le copier (Ctrl+C). Retourner dans Arduino et collez-y tout le code (Ctrl+V).
On remarque dans les premières lignes du code les lignes devEUI, AppEUI, AppKEY. Ce sont les clefs d’accès que vous avez reçus en section 3…
Etape 3 : Si vous avez bien réalisé la section 3, retournez sur la page de TheThingsNetwork que vous aviez normalement laissé de côté. Vous devez copier les clefs (en appuyant sur le bouton ).
Collez les clefs dans le bon sens (AppEUI avec AppEUI, devEUI avec devEUI, appKey avec AppKEY) dans le code arduino. Attention à bien supprimer au préalable les clefs initialement mises à la place des clefs !
Etape 4 : Sous les clefs d’accès, vous pouvez observer calib = 557;
Ce 557 est à remplacer par la valeur que vous aviez obtenu plus haut lors de la calibration !
4.4. Envoi du code
Etape 1 : Le code est prêt. Avant de l’envoyer, on cherche à savoir sur quel port la carte Cubecell est installé. Pour cela : branchez votre carte CubeCell à l’ordinateur. Allez dans Outils > Ports. COM-XX (XX étant un numéro). Si vous en avez plusieurs, passez à l’étape 2. Si vous n’en avez qu’un, sélectionnez le et passez à l’étape 3 !
Si vous n’en avez pas… Vérifiez votre câble USB.
Etape 2 : Vous avez peut-être quelques ports indiqués au format COM-XX (XX étant un numéro). Notez tous ces numéros, puis Cliquez ailleurs pour sortir de la barre de menu. Débranchez maintenant la carte CubeCell à l’ordinateur. Retournez dans Outils > Ports : un COM-XX a disparu : c’est celui de notre carte, sur lequel on va envoyer le code. Rebranchez la carte, refaites l’opération et sélectionnez ce port
Etape 3 : Cliquez sur le bouton en haut de la fenêtre Arduino. C’est parti ! L’opération peut prendre quelques secondes. Son avancement est écrit en orange dans la section noire en bas de la fenêtre. (10%…20%… etc). Si vous n’avez pas de bug, il doit être écrit quelque-part « Téléversement terminé ».
Sinon, nous vous invitons à lire cette page pour identifier le bug
Ne débranchez pas votre Carte ! Allez sur la page de TTN, et cliquez sur le capteur. Dans la section Live Data, vous devriez voir des messages arriver toutes les 3 minutes. Le format semble bizarre mais rassurez vous, les données sont bel et bien envoyées !
Vous pouvez maintenant débrancher et retirer le câble USB, et brancher la pile LiPo. Votre objet connecté est opérationnel !
6. Lecture des données sur la console
Si vous avez déja un compte, vous pouvez accéder directement à la console du mobilab.
Au programme :
Toggle