Projet Innovant (Innovative Project) - Semestre 9

Annee academique : 2024-2025 Semestre : S9 - INSA Toulouse, parcours ISS (Innovative Smart Systems) Projet : What-A-Leak - Systeme de detection de fuites d’eau


PART A - Presentation Generale

Objectifs du projet

Le Projet Innovant (Innovative Project) est le projet phare du semestre 9 du parcours ISS a l’INSA Toulouse. Il s’agit d’un projet multidisciplinaire de grande envergure visant a concevoir un prototype fonctionnel repondant a une problematique reelle. Notre projet, intitule “What-A-Leak”, avait pour objectif de developper un systeme intelligent de detection de fuites d’eau dans les reseaux de canalisations, en utilisant une approche non intrusive basee sur des capteurs vibratoires.

Problematique : Les fuites d’eau representent un enjeu majeur tant au niveau domestique qu’au niveau des infrastructures publiques. Les methodes de detection traditionnelles sont souvent intrusives, couteuses et necessitent une intervention humaine. Notre projet propose une solution connectee, autonome et securisee pour detecter les fuites en temps reel.

Objectifs principaux :

Organisation de l'equipe

Notre equipe etait composee de cinq membres, chacun avec des responsabilites specifiques :

Membre Responsabilites principales
Moi-meme Logiciel embarque, securite (AES), application mobile (React Native), modelisation 3D (CAD)
Collegue 1 Serveur backend, base de donnees, API
Collegue 2 Machine Learning, analyse des donnees vibratoires
Collegue 3 Site web de presentation, documentation
Collegue 4 Hardware, protocole LoRa, integration electronique

Chronologie et methodologie

Le projet s’est deroule en 4 sprints suivant une methodologie Agile :

Sprint Periode Objectifs
Sprint 1 Debut du semestre Definition du cahier des charges, choix des technologies, premieres maquettes
Sprint 2 Mi-semestre Developpement des composants individuels (embarque, app, serveur)
Sprint 3 Fin de semestre - 1 mois Integration des composants, premiers tests de bout en bout
Sprint 4 Dernier mois Tests finaux, optimisation, preparation de la presentation

Chaque sprint se terminait par une presentation devant les enseignants et les autres groupes, permettant de recevoir des retours et d’ajuster la direction du projet.


PART B - Experience et Contexte

Environnement et contexte

Le projet s’est deroule dans un environnement collaboratif au sein du departement ISS de l’INSA Toulouse. Ce projet fait partie d’une initiative multidisciplinaire innovante ou les etudiants doivent mener un projet de A a Z, de l’idee initiale au prototype fonctionnel.

L’objectif initial etait de detecter les fuites d’eau dans les maisons. Cependant, au fur et a mesure de l’avancement du projet, la portee s’est elargie pour inclure une approche distribuee applicable aux infrastructures de reseaux d’eau publics. Cette evolution a permis de passer d’un cas d’usage domestique a un cas d’usage industriel, ajoutant de la complexite et de la pertinence au projet.

Le projet a offert une plateforme unique pour appliquer les connaissances theoriques acquises durant le cursus a des scenarios pratiques, favorisant l’innovation, la creativite et la gestion de projet.

Outils et environnement de developpement

Partie embarquee :

Application mobile :

Modelisation 3D :

Securite :

Gestion de projet :

Mon role dans le projet

Dans ce projet, j’ai assume plusieurs responsabilites couvrant differents domaines techniques :

1. Developpement du logiciel embarque :

2. Securite des communications :

3. Application mobile :

4. Modelisation 3D (CAD) :


PART C - Aspects Techniques

Architecture globale du systeme

Le systeme “What-A-Leak” repose sur une architecture distribuee composee de plusieurs couches :

1. Couche capteur (Noeud) : Chaque noeud est un dispositif autonome equipe d’un ESP32, d’un accelerometre et d’un module LoRa. Il collecte les donnees vibratoires et les transmet de maniere securisee.

2. Couche communication : Les donnees sont chiffrees en AES-128 CBC et transmises via LoRa vers une passerelle (gateway). Ce choix de LoRa permet une portee de plusieurs kilometres avec une faible consommation energetique.

3. Couche serveur : Un serveur centralise les donnees, les stocke dans une base de donnees, et les met a disposition via une API REST.

4. Couche application : L’application mobile React Native permet aux utilisateurs de surveiller l’etat des noeuds, visualiser les statistiques de consommation et recevoir des alertes en cas de fuite.

5. Couche intelligence : Un module de Machine Learning analyse les donnees vibratoires pour distinguer les vibrations normales des signatures de fuites.

Le flux de donnees complet est le suivant :

Capteur (accelerometre) –> ESP32 (traitement + chiffrement AES) –> LoRa –> Gateway –> Serveur (API + BDD) –> Application mobile


1. Partie embarquee - ESP32 et acquisition de donnees

Le coeur du systeme repose sur le microcontroleur ESP32, programme avec le framework ESP-IDF (Espressif IoT Development Framework) base sur FreeRTOS. Le choix de l’ESP32 s’est impose pour plusieurs raisons :

Acquisition de donnees : L’accelerometre est interface avec l’ESP32 via le bus I2C ou SPI. Le logiciel embarque realise les etapes suivantes :

  1. Initialisation du peripherique accelerometre
  2. Lecture periodique des valeurs d’acceleration sur les 3 axes (X, Y, Z)
  3. Pre-traitement des donnees (filtrage, calcul de la magnitude)
  4. Empaquetage des metriques (vibration, niveau sonore, batterie, statut de fuite)
  5. Chiffrement des donnees via AES-128 CBC
  6. Transmission via le module LoRa

La structure de donnees transmise par chaque noeud contient :

Champ Description Type
NodeID Identifiant unique du noeud Entier
MesureCapteur Valeur de mesure du capteur Flottant
Status Etat de fuite (0 = normal, 1 = fuite) Booleen
TimeStamp Horodatage de la mesure Date/heure
Batterie Niveau de batterie en pourcentage Entier
Temperature Temperature ambiante (optionnel) Flottant

2. Developpement de l'application mobile

Nous avons choisi React Native avec Expo pour developper notre application mobile en raison de leur efficacite pour le developpement multiplateforme. React Native permet d’ecrire du code JavaScript qui se compile en code natif pour iOS et Android, reduisant le temps de developpement et les efforts de maintenance. Expo simplifie le processus de configuration et fournit un acces aux API natives.

Figure : Structure du workspace de l'application mobile

Architecture de l’application :

L’application est structuree en plusieurs repertoires et fichiers :

Systeme de navigation :

L’application utilise un Bottom Tab Navigator (react-navigation) avec une barre de navigation au theme violet (#6A0DAB). Les ecrans accessibles depuis la barre de navigation sont :

L’ecran d’accueil (HomeScreen) est affiche en plein ecran sans barre de navigation, et les pages de detail des noeuds (NodeInfo) sont accessibles depuis le tableau de bord.

Ecrans et fonctionnalites detaillees :

Figure : Captures d'ecran de l'application - HomeScreen, DashboardScreen, HistoricScreen, LeakScreen, StatisticsScreen

L’application lit les donnees depuis un fichier JSON dans le repertoire Config, synchronise avec le serveur pour les mises a jour en temps reel. Les evolutions futures incluent un traitement de donnees ameliore, des notifications en temps reel, une authentification utilisateur et des analyses avancees pour une meilleure comprehension de la consommation d’eau.


3. Modelisation 3D (CAD)

Nous avons utilise SolidWorks pour concevoir le modele mecanique du boitier du capteur. Le choix de SolidWorks s’est impose pour ses fonctionnalites robustes de conception parametrique et son interface intuitive.

Cahier des charges du boitier :

Conception du boitier :

Figure : Vue d'assemblage et modele 3D du boitier du capteur

Simulation et validation : Des simulations de contraintes mecaniques ont ete realisees sous SolidWorks pour verifier la resistance du boitier aux efforts de serrage et aux vibrations environnantes. Le processus de validation a inclus :

Figure : Simulation de contraintes mecaniques du boitier


4. Securite des communications - Chiffrement AES

Problematique de securite :

Notre projet implique un reseau distribue de capteurs (ESP32 + module LoRa) qui transmettent des metriques et des resultats d’analyse preliminaire. Sans mecanisme de securite, le systeme est vulnerable a plusieurs types d’attaques :

Solution implementee :

Nous avons mis en place un mecanisme de securite leger mais efficace utilisant le chiffrement AES-128 avec la bibliotheque TinyAES (tiny-AES-c) et des cles symetriques pre-partagees. Chaque capteur chiffre ses donnees en mode CBC (Cipher Block Chaining), utilisant un vecteur d’initialisation (IV) unique pour chaque message.

Details techniques :

Figure : Architecture de securite du systeme - flux de chiffrement et dechiffrement

Figure : Detail du processus de chiffrement AES-128 CBC avec IV partiel

Choix de conception pour l’embarque :


5. Protocole de communication LoRa

Choix de LoRa :

LoRa (Long Range) a ete selectionne comme protocole de communication sans fil pour plusieurs raisons :

Integration avec l’ESP32 : Le module LoRa est connecte a l’ESP32 via l’interface SPI. Le firmware gere :


PART D - Analyse et Reflexion

Competences acquises

Ce projet m’a permis de developper et de consolider un large eventail de competences :

Competences techniques :

Competences transversales :

Auto-evaluation

Ce projet a ete l’un des projets les plus avances de mon parcours. Mener un projet de zero jusqu’a un prototype fonctionnel, impliquant hardware, logiciel embarque, stockage de donnees, transmission de donnees, modelisation 3D, serveur, intelligence artificielle et interface applicative, c’etait un projet complet, un prototype pret a la commercialisation.

En raison de l’envergure du projet, je n’ai pas pu travailler sur tous les aspects, mais j’ai collabore etroitement avec mes collegues pour rester informe de chaque composant. Je suis fier de mes contributions, et le systeme est fonctionnel. Faire partie d’une equipe dediee ou chacun etait desireux d’apprendre de nouvelles choses a ete une experience tres enrichissante.

La partie qui m’a le plus challenge a ete l’implementation de la securite AES sur l’ESP32. Il a fallu comprendre en profondeur le fonctionnement du chiffrement par blocs, gerer les contraintes memoire du microcontroleur, et assurer la compatibilite du chiffrement entre l’ESP32 (C) et le serveur (Python/Node.js).

Le developpement de l’application mobile m’a permis de decouvrir React Native et l’ecosysteme JavaScript mobile. La creation d’une interface utilisateur intuitive avec navigation par onglets, graphiques et cartes a ete un apprentissage riche.

Mon avis

Ce projet a ete une excellente opportunite d’explorer differents domaines et de mener nos propres recherches sur la maniere de gerer le projet. A mon avis, l’organisation actuelle des sessions etait ideale pour livrer un prototype, mais pas suffisante pour livrer un produit final entierement fonctionnel avec toutes les fonctionnalites souhaitees.

J’ai decouvert comment integrer de nombreux concepts appris au cours de l’annee dans un projet reel, similaire a ce que l’on pourrait nous demander en entreprise. Ce projet a ete une experience formidable et je suis fier des resultats que nous avons obtenus.

Points forts du projet :

Axes d’amelioration :

Gestion de projet et travail d'equipe

La methodologie Agile avec des sprints de 3 a 4 semaines s’est revelee tres efficace pour ce type de projet. Les presentations de fin de sprint nous ont obliges a avoir des livrables concrets a chaque etape, evitant ainsi l’effet “tunnel” ou l’integration est repoussee a la fin.

La communication au sein de l’equipe a ete un facteur cle de reussite. Les reunions hebdomadaires permettaient de synchroniser les avancees, identifier les blocages et redistribuer les efforts si necessaire. L’utilisation de GitHub avec une organisation dediee a facilite la gestion du code et la collaboration.


Rapports et Projets

Rapport de projet

Le code source complet du projet est disponible sur l’organisation GitHub : What-A-Leak

Rapport du Projet Innovant ISS

Rapport complet du projet "What-A-Leak" detaillant la conception, l'implementation et les resultats du systeme de detection de fuites d'eau.

Telecharger le rapport

Presentation finale

Presentation finale du projet

Support de presentation utilise lors de la soutenance finale du projet devant le jury.

Telecharger la presentation


Projet realise en 2024-2025 a l’INSA Toulouse, Departement ISS (Innovative Smart Systems).