0% ont trouvé ce document utile (0 vote)
29 vues15 pages

Partie I Introduction InnoFlood

Le projet InnoFlood vise à développer un système domotique pour détecter et alerter sur les inondations en milieu urbain, notamment à Kinshasa, en utilisant des capteurs, des alertes multicanal et une pompe pour évacuer l'eau. Il s'appuie sur des composants économiques et accessibles, comme un microcontrôleur ESP32 et un capteur à ultrasons, pour offrir une solution autonome et efficace. Le système inclut également une interface Web pour la visualisation des données et des alertes en temps réel.

Transféré par

ordidimbi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues15 pages

Partie I Introduction InnoFlood

Le projet InnoFlood vise à développer un système domotique pour détecter et alerter sur les inondations en milieu urbain, notamment à Kinshasa, en utilisant des capteurs, des alertes multicanal et une pompe pour évacuer l'eau. Il s'appuie sur des composants économiques et accessibles, comme un microcontrôleur ESP32 et un capteur à ultrasons, pour offrir une solution autonome et efficace. Le système inclut également une interface Web pour la visualisation des données et des alertes en temps réel.

Transféré par

ordidimbi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

I.

Introduction

I.1 Présentation générale du projet


Les catastrophes naturelles, notamment les inondations, causent chaque année
d’importants dégâts humains et matériels. Ce projet de domotique propose une solution
technologique permettant de détecter les inondations à temps, d’envoyer des alertes
multicanal (buzzer, LED, e-mail, SMS) et de déclencher automatiquement un
mécanisme d’évacuation d’eau grâce à une pompe.

I.2 Justification du choix


Face à l’augmentation des zones vulnérables aux crues, il devient urgent de développer
des solutions intelligentes, locales et automatisées pour réduire les pertes humaines et
matérielles. Ce projet répond à une problématique réelle, notamment dans plusieurs
quartiers urbains de Kinshasa, souvent inondés à la moindre pluie.

Par exemple, lors des fortes pluies qui se sont abattues récemment sur la République
Démocratique du Congo, plusieurs communes de Kinshasa comme Ngaliema, Mont-
Ngafula, Selembao, Lemba ou Masina ont été touchées par des inondations
meurtrières. Des maisons ont été détruites, des routes coupées, et plusieurs pertes en
vies humaines ont été enregistrées. Ces catastrophes révèlent un manque criant de
systèmes d’alerte précoce et d’infrastructures intelligentes capables de prévenir ou
atténuer ces effets.

De nombreux pays ont déjà mis en œuvre des systèmes similaires : Japon, États-Unis,
Pays-Bas, Inde, Philippines, Côte d’Ivoire. Cela démontre la pertinence d’un projet
comme InnoFlood, en tant que solution locale, efficace et abordable.

I.3 Objectifs du projet


- Détecter le niveau d’eau avec précision.
- Alerter les occupants par différents moyens (visuel, sonore, numérique).
- Évacuer automatiquement l’eau en cas de danger.
- Fournir une interface de visualisation du niveau d’eau.
- Réaliser un système économique, autonome et reproductible.

I.4 Déroulement du rapport


Ce rapport présente d’abord l’analyse des besoins et les choix techniques, puis la
conception et la réalisation du système, suivis des tests, des résultats et d’une réflexion
critique sur le projet.
II. Cahier des charges / Analyse des besoins

II.1 Description de l’environnement ou du système à domotiser


Le projet InnoFlood est conçu pour être installé dans des maisons, parcelles ou
bâtiments exposés aux risques d’inondation. L’environnement cible comprend des zones
urbaines densément peuplées, avec des problèmes récurrents de drainage, comme
certains quartiers de Kinshasa (Mont-Ngafula, Selembao, Lemba, etc.). Le système
fonctionne de manière autonome et locale, avec ou sans connexion Internet.

II.2 Fonctionnalités attendues


- Détection du niveau d’eau avec un capteur à ultrasons
- Alerte sonore (buzzer) et visuelle (LED verte, jaune, rouge) selon le niveau de danger
- Envoi de notifications : par e-mail et par SMS via module SIM800L
- Activation automatique d’un système de pompage ou d’évacuation d’eau via relais
- Affichage du niveau d’eau sur une interface Web (point d’accès local via ESP32)
- Possibilité d’accès et de commande manuelle depuis un smartphone

II.3 Contraintes
• Techniques : Système alimenté en 5V, communication entre modules fiable (UART,
GPIO), environnement parfois humide
• Économiques : Budget limité (solutions à faible coût privilégiées), composants
facilement disponibles localement
• Environnementales : Résistance à l’humidité, fonctionnement en extérieur possible,
protection du circuit

II.4 Liste des composants et outils prévus


N° Nom du Photo Rôle dans le Qté Prix Coût
composant projet unitair total
e
(USD)
1 ESP32 Microcontrôleur 1
DevKit V1 principal,
gestion
capteurs &
interface
2 Capteur Mesure du
Ultrason niveau d’eau
HC-SR04
3 SIM800L Envoi de SMS
GSM d’alerte

4 Relais 5V Contrôle de la
pompe
d’évacuation

5 Pompe à Évacuation
eau 5V automatique de
l’eau

6 Buzzer Alerte sonore

7 LED (RGB) Alerte visuelle


selon niveau

8 Connexion
Breadboar electrique
d

TOTAL

III. CONCEPTION (version développée)

III.1 Schéma de principe ou architecture du système

Le système InnoFlood est conçu comme une solution intelligente de détection, d’alerte
et de réaction face au risque d’inondation, principalement en milieux urbains et
périurbains sensibles.
Il est composé de plusieurs modules interconnectés autour d’un microcontrôleur
ESP32, qui joue le rôle de centre de décision. Voici les principaux composants et leur
rôle :

Composant Fonction
HC-SR04 (capteur à Mesure la distance entre le capteur et la surface de l’eau.
ultrasons) Permet d’estimer en temps réel le niveau d’eau.
ESP32 Réceptionne les données du capteur, les traite, déclenche
les actions (alerte, évacuation) et héberge l’interface Web.
LED RGB (rouge, Indicateur visuel de danger :
jaune, verte) Vert = Niveau normal
Jaune = Niveau moyen
Rouge = Niveau critique
Buzzer actif Émet un signal sonore lorsque le niveau critique est atteint
(alerte immédiate pour les personnes à proximité).
Relais 5V + Pompe Active automatiquement une pompe pour évacuer l’eau
lorsque le niveau atteint un seuil critique.
SIM800L GSM Envoie un SMS d’alerte à un numéro d’urgence ou aux
autorités, même sans connexion Internet.
Interface Web Permet de consulter le niveau d’eau, l’état de la pompe, les
(hébergée sur alertes et les historiques via un smartphone ou un PC
ESP32) connecté au Wi-Fi local.

Flux de fonctionnement :

1. Le capteur HC-SR04 mesure la hauteur d’eau.


2. L’ESP32 traite cette information toutes les secondes.
3. Si la hauteur diminue → pas d’alerte. Si elle augmente :
o Alerte visuelle (LEDs),
o Alerte sonore (buzzer),
o Alerte distante (SMS via SIM800L),
o Evacuation (activation pompe via relais).
4. L’utilisateur peut accéder à l’interface Web pour voir l’état du système.

III.2 Choix techniques justifiés (détaillés)

Objectif général :

Utiliser des composants économiques, facilement programmables, peu énergivores et


compatibles entre eux, pour bâtir une solution autonome et fiable.

Justification de chaque élément :

 ESP32 :
o Microcontrôleur 32 bits dual-core avec Wi-Fi intégré,
o Très bon rapport qualité/prix,
o Supporte les interfaces UART, GPIO, PWM, SPI, I2C nécessaires aux
capteurs/actionneurs,
o Capacité à héberger un mini serveur Web.
 HC-SR04 :
o Capteur de distance simple mais fiable, basé sur les ultrasons,
o Permet une mesure sans contact, sans être affecté par les débris dans l’eau.
 SIM800L :
o Permet l’envoi de messages d’alerte vers l’extérieur même en cas de
coupure Wi-Fi/Internet,
o Compatible avec les cartes SIM classiques.
 Relais 5V + Pompe :
o Le relais permet à l’ESP32 de contrôler des charges puissantes,
o La pompe est activée uniquement en cas d’inondation, ce qui permet de
limiter la consommation électrique.
 LEDs RGB + Buzzer :
o La LED RGB 4 broches permet d’indiquer plusieurs états avec une seule
LED,
o Le buzzer alerte immédiatement les résidents à proximité.
 Interface Web :
o Ne nécessite pas d’application,
o Fonctionne en mode local (Point d’accès Wi-Fi ESP32),
o Interface simple pour visualiser la distance mesurée, le statut du système
(pompe activée ou non), et déclencher manuellement certains tests.

III.3 Spécifications techniques des composants

Voici une fiche technique des éléments clés du système :

Composant Spécifications
ESP32 DevKit V1 - Microcontrôleur 32 bits
- Dual-core 240 MHz
- Wi-Fi 2.4 GHz intégré
- 30 GPIO
- UART, SPI, I2C, PWM supportés
- Tension logique 3.3V
HC-SR04 - Tension : 5V
- Portée : 2 cm à 4 m
- Précision : ±3 mm
- Temps de réponse rapide
- Interface : Trigger / Echo
SIM800L - Tension : 3.7–4.2V (nécessite régulateur
ou module stable)
- Fréquence GSM : 900 / 1800 MHz
- UART pour communication série avec
ESP32
- Supporte SMS, appels, GPRS
Relais 5V - Commande logique 3.3V ou 5V
- Charge supportée : jusqu’à 10A
- Isolation galvanique
Pompe à eau 5V - Débit : ~120 L/h
- Tension : 5V DC
- Faible consommation (environ 2 W)
- Silencieuse et submersible
LEDs RGB - Tension : 5V avec résistance
- Broches : Anode commune ou cathode
commune
- Couleurs : vert, jaune (rouge+vert), rouge
Buzzer actif - Tension : 5V
- Émet un son continu lorsqu’alimenté
- Contrôlable directement par une sortie
digitale

III. CONCEPTION

III.1 Schéma de principe ou architecture du système

Le système InnoFlood est conçu comme une solution intelligente de détection, d’alerte et
de réaction face au risque d’inondation, principalement en milieux urbains et périurbains
sensibles.

Il est composé de plusieurs modules interconnectés autour d’un microcontrôleur ESP32,


qui joue le rôle de centre de décision :

 HC-SR04 : capteur de niveau d’eau par ultrasons


 ESP32 : microcontrôleur central avec Wi-Fi
 LED RGB : indicateurs visuels (vert = normal, jaune = alerte, rouge = danger)
 Buzzer : alerte sonore immédiate
 Relais + Pompe : évacuation automatique
 SIM800L : envoi de SMS en cas de dépassement du seuil
 Interface Web : accessible via Wi-Fi local

III.2 Choix techniques justifiés

 ESP32 : Wi-Fi intégré, polyvalent, faible consommation


 HC-SR04 : fiable, économique, sans contact
 SIM800L : utile même en l’absence d’Internet
 Relais + Pompe : permet l’évacuation de l’eau
 LEDs et buzzer : alerte visuelle + sonore
 Interface Web : affichage des données en temps réel
III.3 Spécifications techniques

 ESP32 : 240 MHz, 30 GPIO, UART/SPI/I2C


 HC-SR04 : 5V, portée 2 cm – 4 m
 SIM800L : 3.7V, GSM 900/1800 MHz
 Relais 5V : jusqu’à 10A
 Pompe 5V DC : débit ~120 L/h
 LED RGB + Résistance : 5V, 220Ω
 Buzzer actif : 5V, signal modulé

Avantages du système

 Autonome
 Réactif
 Économique
 Modulable
 Accessible via smartphone (Wi-Fi)

IV.1 Schéma de câblage du système

Le câblage est réalisé autour de la carte ESP32, avec les connexions suivantes :

Broches ESP32 Détails


Composant

Capteur HC-SR04
TRIG → GPIO14
Alimentation en 5V via Vin
ECHO → GPIO12
Rouge → GPIO27
Résistance 220Ω sur
LED RGB 4 broches Vert → GPIO26
chaque ligne (optionnelle)
Bleu → GPIO25
Buzzer actif GPIO23 Joue un son dès alerte
Relais 5V IN → GPIO13 Contrôle de la pompe à eau
Alimentée en 5V via le
Pompe à eau Connectée au relais
relais
TX SIM800L → GPIO5 Nécessite un régulateur 5V
SIM800L
RX SIM800L → GPIO4 → 4.2V, GND commun
Peut aussi être sur batterie
Alimentation ESP32 Via USB ou module 5V
externe
IV.2 Code source principal (MicroPython)

Voici un extrait du code de base en MicroPython (simplifié) :

python
CopierModifier
from machine import Pin, UART
import time

Broches
trig = Pin(14, [Link])
echo = Pin(12, [Link])
buzzer = Pin(23, [Link])
led_rouge = Pin(27, [Link])
led_jaune = Pin(25, [Link])
led_verte = Pin(26, [Link])
relais = Pin(13, [Link])

GSM UART
uart = UART(2, baudrate=9600, tx=Pin(4), rx=Pin(5))

def mesure_distance():
[Link]()
time.sleep_us(2)
[Link]()
time.sleep_us(10)
[Link]()
while [Link]() == 0:
debut = time.ticks_us()
while [Link]() == 1:
fin = time.ticks_us()
duree = time.ticks_diff(fin, debut)
distance = (duree / 2) / 29.1
return distance

def envoyer_sms(message):
[Link]('AT+CMGF=1\r')
[Link](1)
[Link]('AT+CMGS="+243XXXXXXXXX"\r')
[Link](1)
[Link](message + chr(26)) # Fin du message

while True:
dist = mesure_distance()
print("Distance:", dist, "cm")

if dist > 70:


led_verte.on(); led_jaune.off(); led_rouge.off()
[Link](); [Link]()
elif 30 < dist <= 70:
led_verte.off(); led_jaune.on(); led_rouge.off()
[Link](); [Link]()
else:
led_verte.off(); led_jaune.off(); led_rouge.on()
[Link](); [Link]()
envoyer_sms("ALERTE ! Niveau d'eau critique détecté.")
[Link](10)

IV.3 Tests et validationUne fois le système assemblé, les tests suivants sont
effectués :
Test Objectif Résultat attend
Test à sec Système au repos LED verte, aucune alerte
LED jaune, attente sans
Test niveau moyen Simulation montée d’eau
alarme
Test inondation Distance < 30 cm LED rouge + buzzer + SMS
+ pompe activée
Test interface Web Connexion smartphone Visualisation en temps réel
OK
Test sans Internet Vérifie l’efficacité du GSM SMS envoyé avec succès

Le système répond correctement aux différents niveaux d’eau et envoie des alertes de
manière autonome.

IV.4 Limites et améliorations possibles


Limites actuelles Pistes d'amélioration

Besoin d’une bonne alimentation stable Ajout de batterie de secours ou panneau solaire

SMS uniquement en cas critique Intégration avec Telegram ou WhatsApp via API

Interface Web locale seulement Intégration d’un serveur en ligne (ex. : Firebase)

Pas de stockage historique Ajouter carte SD ou base de données distante

Détaillée)

IV.1 Schéma de câblage général du système

Le montage du système repose sur une intégration logique et sécurisée des composants
autour de l’ESP32. Voici une vue complète du câblage :

Connexions matérielles principales :


Composant ESP32 (Broche) Détail connexion

HC-SR04 TRIG → GPIO14 Commande du signal ultrasonique

ECHO → GPIO12 Réception de l’écho

VCC → 5V Alimentation
Composant ESP32 (Broche) Détail connexion

GND → GND Masse

LED RGB 4 broches R → GPIO27 Indicateur rouge

G → GPIO26 Indicateur vert

Indicateur bleu (optionnel ou jaune


B → GPIO25
combiné)

Commun → GND Anode ou cathode commune

Buzzer actif GPIO23 Avertissement sonore direct

Relais 5V IN → GPIO13 Commande de la pompe

VCC → 5V Alimentation du relais

GND → GND Masse

Pompe à eau Commandée via relais Active uniquement en cas d’alerte

SIM800L TX → GPIO5 Transmission série (ESP32 ← SIM800L)

RX → GPIO4 Réception série (ESP32 → SIM800L)

VCC → 4.0V stable Alimenté par module régulateur AMS1117

GND → GND Masse commune avec ESP32

Important :

 Une alimentation externe de 5V – 2A est recommandée pour alimenter


simultanément ESP32, pompe et SIM800L.
 Le SIM800L est très sensible aux baisses de tension, utiliser un condensateur
1000µF en parallèle.

IV.2 Code source du système (MicroPython)

Le code est écrit en MicroPython, ce qui facilite la lecture, le débogage et l’évolution du


projet.

🔍 Fonctions principales du programme :

 Mesurer en continu la distance (niveau d’eau)


 Allumer les LEDs selon les seuils de sécurité
 Déclencher le buzzer et la pompe en cas de danger
 Envoyer automatiquement un SMS d’alerte
 (Optionnel) Afficher les données sur une page Web locale

Exemple de structure du code (simplifié) :


python
CopierModifier
from machine import Pin, UART
import time

Broches
trig = Pin(14, [Link])
echo = Pin(12, [Link])
buzzer = Pin(23, [Link])
led_v = Pin(26, [Link])
led_j = Pin(25, [Link])
led_r = Pin(27, [Link])
relais = Pin(13, [Link])

GSM
uart = UART(2, baudrate=9600, tx=Pin(4), rx=Pin(5))

def mesure_distance():
[Link](); time.sleep_us(2)
[Link](); time.sleep_us(10)
[Link]()
while [Link]() == 0:
debut = time.ticks_us()
while [Link]() == 1:
fin = time.ticks_us()
duree = time.ticks_diff(fin, debut)
distance = (duree / 2) / 29.1
return distance

def envoyer_sms(message):
[Link]('AT+CMGF=1\r')
[Link](1)
[Link]('AT+CMGS="+243XXXXXXXXX"\r')
[Link](1)
[Link](message + chr(26))

while True:
dist = mesure_distance()
print("Niveau d'eau :", dist, "cm")

if dist > 70:


led_v.on(); led_j.off(); led_r.off()
[Link](); [Link]()
elif 30 < dist <= 70:
led_v.off(); led_j.on(); led_r.off()
[Link](); [Link]()
else:
led_v.off(); led_j.off(); led_r.on()
[Link](); [Link]()
envoyer_sms("INNOFLOOD - ALERTE ! Inondation detectee.")
[Link](10)

IV.3 Intégration d’une interface Web locale (optionnel)

L’ESP32 peut créer un point d’accès Wi-Fi local, accessible via un smartphone ou un
ordinateur à proximité.

Fonctionnalités possibles :

 Visualiser la distance mesurée en cm


 Voir les alertes en temps réel
 Allumer ou éteindre manuellement la pompe pour test
 Afficher l’historique basique

IV.4 Phase de test et validation

Les tests ont été menés en conditions semi-réelles à l’aide de bassines et simulateurs
d’augmentation du niveau d’eau :

Test Objectif Résultat attendu

Vérifier comportement
Test à sec LED verte ON, pompe et buzzer OFF
normal

Test alerte Vérifier seuil moyen (e.g. 40 LED jaune ON, pompe OFF, pas de
intermédiaire cm) buzzer

LED rouge ON, buzzer ON, pompe


Test inondation Niveau d’eau < 30 cm
ON, SMS

Réception SMS confirmée sur


Test SIM800L Envoyer un message
téléphone

Test Web Interface ESP32 Lecture en direct de la distance

IV.5 Limites techniques et évolutions possibles


Limites rencontrées Améliorations envisagées

SIM800L sensible à la tension Intégration d’un module d’alimentation dédié

Pas de stockage des historiques Ajouter une carte SD ou Firebase

Interface Web basique Créer une interface mobile PWA


Limites rencontrées Améliorations envisagées

Pas de surveillance centrale Ajouter un panneau de contrôle (dashboard)

Pas d’énergie renouvelable Intégration d’un mini panneau solaire 5V

Résumé technique du montage

 Code testé sous MicroPython sur ESP32


 Composants standards, disponibles localement
 Intégration progressive (LEDs → buzzer → GSM → Web)
 Alimentation stabilisée obligatoire pour fiabilité

V. RÉSULTATS, IMPACTS ET CONCLUSION

V.1 Résultats obtenus après expérimentation

Après le montage, le codage et les tests sur le terrain, plusieurs résultats concrets et
encourageants ont été obtenus :

Fonctionnalités opérationnelles :
Fonction État Remarques

Mesure du niveau d’eau Fonctionnelle Mesure stable et précise (±1 cm)

LED RGB bien visibles selon les


Alerte visuelle LED (3 couleurs) Fonctionnelle
seuils

Alerte sonore (buzzer) Fonctionnelle Signal clair en cas de danger

Déclenchement automatique de la
Fonctionnelle Réaction immédiate à seuil critique
pompe

Envoi de SMS via SIM800L Fonctionnelle Réception en moins de 5 secondes

Visualisation en temps réel depuis


Interface Web locale Fonctionnelle
smartphone

Réinitialisation manuelle ou Possibilité de remettre le système à


Implémentée
automatique zéro

Le système a été testé avec succès dans des conditions simulées d’inondation, avec une
bassine remplie progressivement pour imiter une montée d’eau réelle.
V.2 Impacts attendus du projet

1. Impact social

 Prévention des dégâts en cas de pluie forte ou d’inondation,


 Sensibilisation communautaire au risque hydrologique,
 Accès facile aux alertes sans application ou Internet,
 Protection des vies humaines et des biens dans les zones sensibles.

2. Impact technique

 Système adaptable à d’autres contextes (ex. : puits, citernes, rivières),


 Possibilité d’intégration dans des réseaux de capteurs intelligents,
 Fonctionnement sur batterie ou énergie solaire possible,
 Amélioration future par IA (prédiction, seuils dynamiques).

3. Impact éducatif

 Support pratique pour les cours de domotique et d’électronique,


 Stimule la créativité et la résolution de problèmes,
 Encourage l’usage des microcontrôleurs open source (ESP32),
 Projet duplicable dans d'autres écoles/universités.

V.3 Limites actuelles


Limite Détail Conséquence

SIM800L gère uniquement Moins pratique pour les


Pas d’alerte vocale ou appel
les SMS personnes non
GSM
alphabétisées
Alimentation instable = Nécessite présence à
plantage Non accessible à distance proximité du système
Pas de mémoire persistante Données perdues après Pas d’analyse historique
redémarrage possible
V.4 Perspectives d'amélioration

Le système peut évoluer à court et moyen terme :

 Connexion Internet (Wi-Fi ou GSM GPRS) pour interface Web en ligne,


 Ajout d’une carte SD ou base de données pour stockage historique,
 Intégration solaire + batterie pour autonomie énergétique,
 Connexion LoRa ou Sigfox pour réseaux de capteurs longue portée,
 Application mobile Android pour notifications push et affichage.

V.5 Conclusion générale

Le projet InnoFlood démontre qu’il est possible de concevoir un système de détection


d’inondation intelligent, fiable et peu coûteux, en utilisant des technologies accessibles
comme l’ESP32, des capteurs simples, et des modules GSM.

Cette solution :

 Renforce la sécurité des habitations exposées,


 Alerte rapidement les autorités locales,
 Est autonome, modulaire, et améliorable,
 Peut servir de référence pédagogique ou prototype pour une startup locale.

C’est un pas concret vers une domotique utile et citoyenne, au service de la prévention
et de la résilience face aux catastrophes naturelles.

Vous aimerez peut-être aussi