Solution technique: WaterWatch

Envoyé par le 21 Déc 2024

This entry is part 3 of 3 in the series WaterWatch

Arrieta Emanuell, Carrijo Alex, Duval Evan, Levesques Jean-Philippe, Vidart Joaquin

 

 

   1. Contexte

Dans le cadre du cours COUAD (Conception d’Objets Utiles, Accessibles et Durables) de l’école IMT Atlantique, nous avons pu réaliser notre projet intitulé WaterWatch. Ce projet est né après avoir constaté une problématique récurrente dans la détection, la notification et le contrôle des fuites d’eau dans les canalisations utilisées pour la production agricole. L’objectif du projet est donc de développer une solution permettant de répondre à cette problématique tout en respectant des principes clés de conception : respectueuse de l’environnement, durable, accessible et facile à mettre en œuvre.

La solution développée, présentée ci-dessous, combine des compétences en électronique, développement web, réseaux IoT, rédaction de documentation, entre autres. Elle s’adresse à des agriculteurs de différents secteurs, tels que les éleveurs, les horticulteurs, les cultivateurs, etc., disposant de systèmes de canalisation d’eau dans leurs exploitations. L’un des points forts de cette solution est sa capacité à s’adapter à des exploitations de différentes échelles. Grâce à ce système, les producteurs pourront installer des modules répartis sur leur terrain, capables de détecter, notifier et contrôler les problèmes liés aux fuites d’eau.

 

    2.Modèle d’étude

Pour notre projet, nous avons donc décidé de concevoir un kit afin que l’utilisateur puisse directement installer sa solution sur son réseau de canalisation existant. Le kit est proposé en plusieurs déclinaisons en fonction de la taille de l’exploitation. Ici, nous vous présenterons un exemple de kit pour 1Ha. Celui-ci sera constitué de plusieurs composants à assembler soit même suivant les consignes ci-dessous.

               

6 raccords rapides [1]                              1 vanne 3 voies [2] 

               

3 Raccords vers capteurs [3]    3 Boîtiers de capteurs de Pression [4] 

                         

   1 Électrovanne [5]                    2 raccords de dérivation en Y [6]

2 colliers de serrage [7]

 

Lien d’accès vers le site associé au système. [8]

Le kit doit s’installer sur le système de canalisation déjà existant.
Il est nécessaire de s’assurer que le système ne comporte aucune fuite avant l’installation

Mise en service du kit

Pour utiliser le kit dans son installation il faut :

  1. Réunir tous les composants nécessaires, présents dans le kit.
  2. Se munir d’un outil pour couper des parties du système de canalisation.
  3. Couper l’arrivée d’eau dans le système.

Pour commencer, si tout votre système est déjà en place, vous devez vous munir de l’outil coupant afin de couper un tronçon de 7cm de tuyau pour y placer l’électrovanne [5] présente dans votre kit. Ensuite, pour assurer l’étanchéité du raccordement, il est nécessaire de serrer chaque raccordement lié à l’électrovanne avec des colliers de serrage également présent dans le kit. [7]

Une fois l’électrovanne installée, vous allez devoir mettre en place à chaque dérivation de canalisation, une vanne [2] et y placer un boîtier de capteur [4] à l’aide des raccordements capteurs [3] présents dans votre kit. Des raccords rapides sont également présents dans le kit WaterWatch afin de raccorder simplement et rapidement les tuyaux avec les différentes vannes. [1]

Il est important d’espacer les capteurs d’au maximum 500mètres pour le bon fonctionnement du kit de détection de fuite.

La maquette complète

 

     3.Électronique

Matériaux

    • Trois Lopy4
    • Raspberry pi 3B+
    • Electrovanne
    • Capteurs de pression
    • Tuyaux
    • Power bank
    • Transformateur 220V-5V
    • Transformateur 220V-12V

Lopy4:

Notre projet vise à contrôler les fuites d’eau dans les canalisations agricoles, un domaine où les défis sont nombreux en raison des grandes distances et des conditions souvent hostiles.

Pour surmonter ces limitations de connectivité, nous avons choisi d’intégrer les modules LoPy4, qui offrent une solution adaptée grâce à leur compatibilité avec le protocole LoRa. Ce dernier nous a permis de développer un réseau LoRa capable de transmettre les données, les commandes et tous les messages nécessaires pour assurer le bon fonctionnement du système.

LoRa est un protocole particulièrement adapté aux systèmes IoT grâce à ses caractéristiques clés :

  • Faible consommation d’énergie : essentiel pour les environnements agricoles où l’alimentation en énergie peut être limitée.
  • Grande portée : idéale pour couvrir de vastes zones rurales, avec une portée pouvant aller jusqu’à plusieurs kilomètres selon les conditions.
  • Fiabilité : une robustesse essentielle pour garantir une communication stable même dans des environnements difficiles.

En intégrant cette technologie, nous avons non seulement créé un système efficace pour détecter et gérer les fuites, mais également une infrastructure évolutive pour d’autres applications IoT agricoles.

Raspberry Pi:

Le Raspberry Pi 3B+ est utilisé comme maître pour héberger le site web.
Pour cela, l’équipe a mis en place son propre réseau local, permettant à l’utilisateur de se connecter et d’interagir facilement avec le site. De plus, toutes les données du système de contrôle sont stockées afin de constituer un historique de fonctionnement, utile pour le suivi et l’analyse des performances.

Le choix du Raspberry Pi repose sur sa capacité de traitement suffisante pour supporter les demandes liées à l’hébergement du site web et à la gestion de la base de données. Cependant, le Raspberry est connecté via une communication série à une LoPy4, car c’est cette dernière carte qui est capable d’envoyer les commandes via le réseau LoRa. Ainsi, le Raspberry Pi reçoit les commandes du site web, puis les transmet via le port série à la LoPy4, qui se charge ensuite de les envoyer par LoRa. Cette architecture combine la puissance de traitement du Raspberry Pi avec les capacités de communication longue portée de la LoPy4, garantissant un fonctionnement optimal du système.

Électrovanne:

 

Les électravannes jouent un rôle clé dans le système, permettant de fermer une branche en cas de fuite et ainsi d’éviter le gaspillage d’eau.
Grâce à cette solution, l’utilisateur peut contrôler l’ensemble des canalisations à distance, depuis un point confortable et centralisé.

Pour leur implémentation, les électrovannes sont pilotées par un module LoPy4. Ce dernier reçoit les commandes via le réseau LoRa, puis transmet le signal nécessaire pour ouvrir ou fermer les vannes. Cette architecture garantit une gestion efficace et fiable des canalisations, tout en minimisant les pertes d’eau et en simplifiant l’interaction pour l’utilisateur.

 

Capteurs de pression:

Les capteurs de pression jouent un rôle clé dans le système de surveillance, permettant de détecter les fuites grâce aux variations de pression qu’ils mesurent.
La disposition stratégique de ces capteurs le long des canalisations permet de localiser précisément l’origine du problème, offrant ainsi une gestion rapide et efficace des incidents.

Pour leur mise en place, les capteurs sont directement connectés aux tuyaux. Une fois installés, ils envoient un signal contenant les informations de pression à une LoPy4 située à proximité. Cette dernière transmet ensuite les données via le réseau LoRa, afin qu’elles soient enregistrées dans la base de données hébergée sur le Raspberry Pi. Cette architecture garantit un suivi en temps réel des canalisations et facilite l’analyse des performances du système.

Modeles:

Module capteur:

 

En ce qui concerne le système de contrôle de pression, il est composé d’une LoPy4, d’un capteur de pression, d’une power bank et d’un boîtier pour contenir les composants.

Le capteur de pression est fixé aux tuyaux du système d’irrigation, à l’extérieur du boîtier. Ses câbles de communication et d’alimentation traversent le boîtier pour se connecter à la LoPy4, qui traite et transmet les données. À l’intérieur du boîtier, la LoPy4 et la power bank sont protégées des intempéries et des éclaboussures d’eau, garantissant ainsi la durabilité et la fiabilité du système. La power bank assure également l’autonomie énergétique.

Dans notre modèle physique, les connexions entre le capteur et le LoPy4 sont établies comme suit :

  • PWR du capteur connecté à VIN du LoPy4.
  • GND du capteur connecté à GND du LoPy4.
  • Données du capteur connecté au pin 20 du LoPy4.

Module électrovanne:

L’électrovanne est installée à un point stratégique du réseau de canalisations, permettant de couper le flux d’eau en cas de fuite. Elle est connectée à un relais, lui-même contrôlé par la LoPy4. Cette dernière reçoit les commandes via le réseau LoRa et les exécute pour ouvrir ou fermer l’électrovanne selon les besoins.

Le boîtier abrite le relais et la LoPy4, offrant une protection contre les intempéries et les éclaboussures. En ce qui concerne l’alimentation, une source 220V-5V est utilisée pour alimenter la LoPy4, tandis qu’une autre source 220V-12V fournit l’énergie nécessaire au fonctionnement de l’électrovanne. Cette configuration assure un contrôle fiable et une protection adéquate des composants essentiels du système.

Dans notre modèle physique, les connexions entre l’électrovanne, le relais et le LoPy4 sont établies comme suit :

  • PWR du relais connecté à VIN du LoPy4.
  • GND du relais connecté à GND du LoPy4.
  • Signal du relais connecté au pin 8 du LoPy4.
  • COM du relais connecté au 12 V de l’alimentation.
  • NO (Normally Open) du relais connecté au PWR de l’électrovanne.
  • NC (Normally Closed) du relais connecté au signal de l’électrovanne.
  • GND de l’électrovanne connecté au GND de l’alimentation

Module master:

Le système maître est composé des éléments suivants : une Raspberry Pi 3B+, une LoPy4, un transformateur pour l’alimentation et un boîtier conçu pour protéger les composants des éléments extérieurs.

Le modèle de fonctionnement repose sur une connexion entre la LoPy4 et la Raspberry Pi via un câble USB-microUSB. La LoPy4 reçoit toutes les données envoyées par ses homologues dispersés dans le champ et transmet également des commandes d’action à ces derniers. Ces données sont ensuite transférées via le port série à la Raspberry Pi, qui les traite et héberge la page web du système.

La Raspberry Pi crée un réseau Wi-Fi local, permettant à l’utilisateur de se connecter à la page web. Grâce à cette interface, l’utilisateur peut surveiller l’état du système, consulter l’historique des pressions et prendre des décisions en envoyant des commandes de contrôle.

En ce qui concerne l’alimentation des composants, un transformateur 220V-5V est utilisé pour alimenter la Raspberry Pi, tandis que le module LoPy4 est directement alimenté par sa connexion avec la Raspberry Pi.

Topologie:

Après avoir présenté chaque module, il convient d’expliquer leur disposition sur le terrain.

Tout d’abord, les modules de capteurs seront disposés le long des canalisations, espacés les uns des autres. Cette configuration permettra au système de réaliser une cartographie de la pression en différents points, ce qui facilitera la localisation des fuites en identifiant quel capteur détecte en premier les variations de pression.

Ensuite, les modules équipés d’électrovannes seront installés aux points stratégiques des ramifications. Cela permettra de couper le flux d’eau de manière ciblée en fonction de l’emplacement du problème détecté.

Enfin, le module maître sera positionné dans un lieu fréquenté par le producteur. Cette localisation permettra d’accéder au réseau local généré par le module maître, facilitant ainsi l’accès au site web associé, qui sera présenté ultérieurement. Grâce à ce site web, le producteur pourra recevoir des notifications, surveiller l’état du système et en prendre le contrôle.

 

4.Site web

Le site web de Water Watch constitue l’interface centrale de gestion et de surveillance des systèmes hydrauliques connectés. Conçu pour être intuitif et pratique, il offre deux pages principales : la page « Home » et la page « Management ». La page « Home » permet aux utilisateurs de visualiser en temps réel les données des capteurs sous forme de graphiques interactifs, tout en fournissant des informations détaillées sur l’état des vannes et interrupteurs connectés, avec des commandes pour modifier leur état en un clic. L’organisation claire des informations et l’ergonomie soignée assurent une prise en main rapide et une utilisation efficace.

La page « Management » permet d’ajouter, configurer et gérer les différents composants du  système. Les utilisateurs peuvent enregistrer de nouveaux capteurs, vannes ou interrupteurs grâce à des formulaires détaillés intégrant des champs comme le nom, l’identifiant unique (adresse MAC) et une description personnalisée. Cette section offre une visibilité complète sur les équipements connectés et garantit une gestion centralisée simplifiée. 

 

Le site web de Water Watch repose sur une architecture moderne et performante, conçue avec le framework Django. Django est une solution open source écrite en Python, particulièrement adaptée pour développer des applications web rapides, sécurisées et évolutives. Il permet de structurer efficacement la logique backend et de gérer les fonctionnalités principales du site, comme l’organisation des données, les permissions et la sécurité.

 

Côté front-end, tout ce qui concerne l’affichage en temps réel, comme les graphiques des capteurs, est géré avec JavaScript. Cette approche garantit une interface utilisateur fluide et réactive, parfaitement optimisée pour traiter des mises à jour fréquentes sans ralentir la navigation. 

Les commandes pour contrôler les équipements (comme ouvrir ou fermer les vannes) sont centralisées dans un dossier « services ». Ce dossier regroupe les fichiers python qui communiquent avec les capteurs en envoyant par exemple des requêtes via des modules LoPy connectés à un Raspberry Pi, qui agit comme une passerelle entre le site et les dispositifs connectés.

Le code source du projet est accessible sur GitLab à cette adresse : Water Watch sur GitLab. Vous y trouverez l’architecture et le code du projet (Site Web, électronique et les modèles imprimables.)

 

5. Telegram

 

Le Telegram a été choisi pour améliorer l’accessibilité des utilisateurs grâce à ses nombreux avantages, en faisant une plateforme idéale pour ce projet. Tout d’abord, il permet aux utilisateurs de rester informés en temps réel sans devoir consulter constamment un site web, grâce à ses notifications instantanées qui assurent une communication rapide et efficace.

Accessible sur divers appareils, tels que smartphones, tablettes et ordinateurs, Telegram offre une grande praticité. Son interface intuitive et conviviale facilite son utilisation pour tous les profils d’utilisateurs. Par ailleurs, la sécurité des échanges, garantie par un chiffrement de bout en bout pour les discussions privées, constitue un atout majeur.

Ce système a été conçu pour fonctionner localement sur un Raspberry Pi, une solution compacte, économique et écoénergétique. Le Raspberry Pi permet une gestion fluide des interactions avec Telegram, assurant un fonctionnement autonome, fiable et en temps réel.

La capacité d’automatiser et de personnaliser les interactions à travers des bots est un autre avantage clé. Ces fonctionnalités permettent de concevoir des outils performants adaptés aux besoins spécifiques des utilisateurs, renforçant l’efficacité et la fiabilité du système.

Pour la création du bot Telegram, nous avons utilisé BotFather, un outil dédié qui simplifie la mise en place de nouveaux bots. Cependant, pour l’implémentation, il est nécessaire de disposer de l’ID du bot afin de configurer ses réponses et ses commandes.

Le bot a été développé à l’aide du langage Python et de la bibliothèque Telebot, qui offre de nombreuses possibilités, notamment l’identification des expéditeurs de messages et la création d’une large gamme de commandes personnalisées.

En parallèle, nous avons intégré ThingSpeak, une plateforme IoT permettant de stocker et analyser les données de capteurs. Grâce à un script Python utilisant Telebot, le bot récupère les données de ThingSpeak, les compare avec des seuils prédéfinis et envoie automatiquement une notification en cas d’anomalie.

En interagissant avec le bot, l’utilisateur peut surveiller automatiquement les niveaux de pression. Le bot enverra des notifications en cas de dysfonctionnement, précisant : le capteur concerné, le niveau d’alerte configuré, le niveau de pression détecté lors du problème, ainsi que la pression moyenne du système.

 

6.Perspective

  1. Conception matérielle :
  • Miniaturisation et conception compacte : Il est nécessaire de redessiner les modules de capteurs et les dispositifs de communication LoRa pour obtenir un design plus compact. Cela inclut l’intégration de batteries au lithium plus petites mais avec une durée de vie prolongée, permettant ainsi aux modules d’être plus petits et plus efficaces sans compromettre leur autonomie.
  • Meilleure étanchéité : Un aspect clé serait d’améliorer l’étanchéité des boîtiers qui protègent les capteurs et les modules LoRa. La conception de structures plus robustes garantirait la résistance du système dans des conditions difficiles, telles que la pluie, la poussière et les variations extrêmes de température, augmentant ainsi la durabilité de l’équipement.
  1. Améliorations logicielles :
  • Automatisation de l’obtention des adresses MAC pour chaque LoPy4 : Il est pertinent d’implémenter une fonctionnalité permettant à chaque dispositif LoPy4 d’identifier automatiquement son adresse MAC et de l’envoyer au système central.
  • Gestion avancée des données : Développer un programme optimal pour gérer de grands volumes de données provenant d’un grand nombre de capteurs. Cela garantirait le fonctionnement efficace du réseau, même dans des scénarios avec un grand nombre de dispositifs connectés simultanément.

 

  1. Tests de capacité et de performance du système :
  • Évaluation de la scalabilité : Il est essentiel de réaliser des tests plus approfondis pour évaluer la capacité du réseau LoRa à supporter un grand nombre de capteurs et de modules connectés simultanément. Ces tests permettraient d’identifier la limite de scalabilité du système et d’assurer la stabilité des communications.
  • Simulations dans des conditions réelles : Il est également important d’effectuer des simulations dans des conditions réelles, propres à l’environnement agricole. Ces tests mesureraient l’impact de facteurs tels que la distance, les interférences environnementales et les caractéristiques du terrain sur les performances du système, facilitant ainsi les ajustements et les améliorations.
  1. Amélioration de l’interface du site web :
  • Indicateurs visuels attrayants : L’intégration d’indicateurs visuels faciliterait l’identification de l’état du système. Par exemple, un code couleur (vert pour les conditions normales, jaune pour les avertissements, et rouge pour les alertes critiques) pourrait permettre aux utilisateurs de comprendre rapidement l’état de leurs systèmes sans analyse détaillée.
  • Personnalisation de l’expérience utilisateur : Le site web pourrait intégrer des options de personnalisation, permettant aux utilisateurs de prioriser l’affichage des données les plus pertinentes pour leurs besoins ou de configurer des alertes spécifiques pour des conditions critiques.
Series Navigation<< WaterWatch –Enquête terrain et persona – Eau et agriculture

Laisser une réponse

Votre adresse e-mail ne sera pas publiée.