Mini Projet 2 1
Mini Projet 2 1
Référence : L3
Projet Tutoré
Classe : L3 SR A
Entreprise d’Accueil :
Nous tenons à exprimer notre profonde gratitude envers Monsieur Moez Balti, notre
encadrant, pour sa guidance experte, ses conseils éclairés et son soutien continu tout au long de
la réalisation de ce mini-projet. Sa disponibilité, son engagement et son expertise ont
grandement contribué à l'enrichissement de ce travail.
Nous tenons également à exprimer notre reconnaissance envers notre institut pour avoir
mis à notre disposition les ressources et le matériel nécessaires à la concrétisation de ce projet.
La générosité de l'institution a facilité la mise en œuvre pratique des idées présentées dans ce
rapport.
Ces collaborations et soutiens ont grandement enrichi notre expérience, et nous sommes
reconnaissantes envers toutes les personnes qui ont contribué de près ou de loin à la réalisation
de ce projet.
Table des matières
1
Chapitre 1: Contexte général du projet
Introduction
Le premier chapitre de ce rapport s'ouvre sur une analyse théorique approfondie, suivie
d'une présentation claire des objectifs du projet. Ensuite, une exploration approfondie de l'étude
de l'existant est effectuée, mettant en lumière les différentes solutions envisageables pour
résoudre la problématique. Enfin, notre proposition de solution est exposée de manière détaillée
et argumentée.
Etat de l’art
Le terme "Internet des objets" (IoT) fait référence à un réseau global d'appareils connectés
et à la technologie qui facilite la communication entre ces appareils, ainsi qu'entre eux et le
cloud. Grâce à l'émergence de puces informatiques abordables et de technologies de
télécommunication à large bande passante, des milliards d'appareils sont actuellement
connectés à Internet. Des objets du quotidien tels que brosses à dents, aspirateurs, voitures et
machines intègrent des capteurs pour recueillir des données et offrir des réponses intelligentes
aux utilisateurs [1].
1.1.2 Architecture de l’IoT
2
Chapitre1 Contexte général du projet
3
Chapitre1 Contexte général du projet
Les protocoles
Les protocoles Internet utilisés varient généralement selon la couche. Ainsi, un écosystème
IoT peut utiliser plusieurs protocoles, chaque protocole permettant la communication à
différentes couches, avec certains protocoles faisant le pont entre les couches.
1.2.1 Cellulaire
La technologie cellulaire est largement utilisée pour les applications IoT, offrant une
portée de communication plus étendue. Bien que les normes cellulaires 2G et 3G soient en
phase d'obsolescence, les normes plus récentes, à savoir 4G/LTE et 5G, sont en expansion
rapide. La connectivité cellulaire offre une bande passante élevée et une communication fiable,
mais elle est souvent plus coûteuse et consomme plus d'énergie que d'autres options [3].
1.2.2 MQTT (Message Queuing Telemetry Transport)
MQTT, ou Message Queuing Telemetry Transport, est un protocole de messagerie léger et
open source conçue pour les dispositifs à faible bande passante et à haute latence, tels que les
capteurs et les dispositifs IoT.
MQTT fonctionne sur un modèle de publication/abonnement (publish/subscribe), ce qui
signifie que les appareils peuvent s'abonner à des canaux spécifiques (topics) pour recevoir des
messages. Les messages sont publiés sur ces canaux, et seuls les appareils qui se sont abonnés
à ces canaux spécifiques les recevront.
Les caractéristiques clés de MQTT incluent sa légèreté, sa simplicité, sa fiabilité et sa
capacité à fonctionner dans des environnements réseau peu fiables. Il utilise généralement le
protocole TCP/IP, mais peut également être mis en œuvre sur d'autres protocoles [3].
1.2.3 Wi-Fi
Wi-Fi est fréquemment utilisé dans les environnements domestiques, commerciaux et
industriels. Il offre un transfert de données rapide et peut traiter de grandes quantités de
données. Cependant, certaines normes Wi-Fi peuvent être trop énergivores pour certains cas
d'utilisation IoT, limitant ainsi son utilisation dans certaines situations [3].
Au sein des grandes entreprises, disposant d'équipes IT, l'adoption d'une solution de
sécurité reposant sur l'IoT offre la possibilité d'utiliser des données en temps réel pour anticiper
les cyberattaques. Par ailleurs, l'IoT permet des prises de décision éclairées fondées sur l'analyse
client, enrichissant ainsi la gestion des services informatiques conformément aux bonnes
pratiques de la bibliothèque ITIL [4].
4
Chapitre1 Contexte général du projet
L'application la plus visible de l'Internet des objets se manifeste dans les maisons
intelligentes. Ces dernières utilisent des capteurs pour contrôler et gérer l'éclairage, les
ressources, et les systèmes de sécurité, constituant ainsi une version plus restreinte mais
autonome d'une ville intelligente [4].
1.3.3 Innovation en agriculture
L'Internet des objets offre des avantages considérables à l'industrie agricole, qui se prépare
à nourrir une population mondiale estimée à 10 milliards d'ici 2050. Les agriculteurs intègrent
la technologie pour optimiser la culture, utilisant des capteurs pour surveiller la chimie du sol,
réguler l'irrigation, suivre le bétail avec des puces RFID, et mettre en œuvre une agriculture
prédictive [4].
1.3.4 Transformation en santé
La pandémie a accéléré l'usage de l'IoT dans la santé, créant une connexion plus efficace
entre patients, médecins et produits pharmaceutiques. Les cycles médicaux réactifs deviennent
proactifs.
Des capteurs chez les patients à domicile permettent une surveillance à distance, alertant
immédiatement en cas d'anomalies, idéal pour les patients à risque. L'IoT rationalise l'accès aux
dossiers médicaux, offre des données en temps réel à tous les départements [4].
Présentation du projet
1.4.1 Problématique
5
Chapitre1 Contexte général du projet
• HWM Floodline
La solution de détection des inondations "HWM Floodline" proposée par HWM offre des
capteurs de niveau d'eau, des capteurs de débit et des stations de surveillance pour une détection
en temps réel.
Bien que cette solution présente des avantages, il est important de noter que la précision
des capteurs peut varier et que la réception des alertes dépend de la connectivité.
• Xylem Flygt Flood Control
La solution de contrôle des inondations proposée par Xylem combine des pompes
submersibles robustes et des systèmes de contrôle avancés pour une gestion efficace des
inondations.
Cette solution permet le drainage des zones inondées, la protection des infrastructures
critiques et la prévention des inondations urbaines. Les pompes submersibles robustes évacuent
rapidement l'eau, tandis que les systèmes de contrôle assurent une surveillance en temps réel et
une gestion optimisée [5].
1.4.3 Critique de l’existant
Les solutions proposées ci-dessus visent à adresser certaines des critiques courantes
concernant les systèmes de détection des inondations existants
• Coûts potentiels : Bien que les avantages à long terme des solutions de détection des
inondations puissent être significatifs, il convient de considérer les coûts initiaux et
continus associés à la mise en place et à la maintenance de ces systèmes. Ces coûts
peuvent limiter l'accessibilité des solutions pour certaines régions ou communautés aux
ressources financières limitées.
• Complexité potentielle : Les solutions de détection des inondations qui intègrent
plusieurs composants techniques peuvent être complexes à déployer, à entretenir et à
utiliser. Cela peut nécessiter une expertise technique et une formation approfondie pour
les opérer efficacement, ce qui peut représenter un défi pour certains utilisateurs.
• Dépendance aux infrastructures existantes : Les solutions de détection des
inondations peuvent dépendre de l'infrastructure de communication et de surveillance
existante. Des pannes ou des dysfonctionnements de ces infrastructures peuvent affecter
la fiabilité des alertes et des prévisions, ce qui nécessite une surveillance et une
maintenance constante.
• Besoin de mesures complémentaires : Il est important de souligner que les solutions
de détection des inondations ne constituent qu'un élément d'une stratégie globale de
gestion des inondations. Des mesures complémentaires, telles que des plans d'urgence,
des infrastructures de protection et des efforts de sensibilisation communautaire, sont
également essentielles pour une gestion efficace des inondations.
6
Chapitre1 Contexte général du projet
• Réponse Rapide : Notre solution IoT détecte automatiquement les niveaux d'eau
anormaux pour une réaction immédiate face aux inondations.
• Alertes en Temps Réel : Utilisant le réseau GSM, le système émet des alertes
instantanées pour une action rapide lors de conditions d'inondation.
• Centralisation des Données : Une plateforme enregistre toutes les informations liées
aux inondations, permettant une analyse approfondie pour une meilleure compréhension
des modèles.
• Accessibilité à Distance : Grâce à la connectivité IoT, les utilisateurs peuvent surveiller
et contrôler le système à distance, offrant une gestion flexible des situations d'urgence.
• Coût-Efficacité : En permettant une intervention précoce, notre solution IoT offre une
approche plus rentable en minimisant les coûts associés aux réparations après
inondation.
Conclusion
L’exploration de l'Internet des objets (IoT) dans le contexte de la détection des inondations
met en avant des solutions innovantes. Les modèles architecturaux à trois et cinq couches,
associés à des protocoles tels que MQTT, offrent des structures solides. Malgré les progrès, des
défis persistent, soulignant la nécessité d'adopter une approche basée sur l'IoT pour une
détection proactive et avancée des inondations.
7
Chapitre 2: Spécification des besoins et conception
Introduction
Pour concrétiser notre projet, il est impératif de définir clairement les exigences
fonctionnelles et non fonctionnelles auxquelles notre solution doit satisfaire. Dans cette section,
nous débuterons par une phase initiale dédiée à l'établissement des spécifications de nos
besoins. Ensuite, dans une seconde partie, notre attention sera portée sur la conception de l'outil
que nous développons.
Avant de débuter l'implémentation, nous allons identifier les besoins du système et les
acteurs impliqués. Cette phase analytique revêt une importance cruciale, la réussite du projet
dépendant de la qualité de cette étude. Nous classons ces besoins en deux catégories :
fonctionnels et non fonctionnels.
2.1.1 Les besoins Fonctionnels
Dans le cadre de notre système de détection d'inondation basé sur l'IoT, nous avons mis en
place un ensemble de capteurs stratégiquement positionnés dans des zones à risque, là où les
inondations peuvent causer des problèmes majeurs pour les habitants. L'objectif principal de ce
système est de détecter de manière précoce toute menace d'inondation et d'alerter rapidement
les parties concernées. De plus, nous avons mis en place une plateforme dédiée qui enregistre
quotidiennement les niveaux d'eau détectés par ces capteurs.
Afin d'adapter efficacement le concept d'alerte à notre système de détection d'inondation
basé sur l'IoT, nous avons conçu un mécanisme d'alerte qui varie en fonction de la gravité de la
situation. Cette approche nous permet de fournir des avertissements précis et différenciés,
adaptés à chaque situation spécifique.
a. Premier niveau d'alerte (Pré-alerte)
8
Chapitre 2 Spécification des besoins et conception
• Disponibilité : Assurer que le système est opérationnel et accessible dans des conditions
normales et d'urgence, minimisant les temps d'arrêt non planifiés.
• Fiabilité : Garantir une performance fiable du système, minimisant les défaillances
matérielles ou logicielles, afin de maintenir la disponibilité du système même dans des
conditions météorologiques extrêmes.
• Évolutivité : Concevoir le système pour qu'il puisse s'adapter à l'ajout de nouveaux
capteurs, nœuds IoT, et autres composants sans compromettre ses performances
globales.
• Performances : Optimiser les performances du système pour garantir des temps de
réponse rapides lors de la détection d'inondation et de la transmission d'alertes.
• Facilité d'utilisation : Fournir une interface utilisateur intuitive et conviviale pour
simplifier la surveillance du système et la prise de décision en cas d'inondation.
9
Chapitre 2 Spécification des besoins et conception
L'analyse des besoins est une étape essentielle dans le processus de planification et de mise
en œuvre de tout projet.
Elle consiste à identifier, comprendre et documenter les exigences spécifiques d'un
système, d'un processus ou d'une solution afin de répondre aux objectifs et aux attentes des
parties prenantes.
Cela facilite la prise de décision, l'allocation des ressources, la planification et l'exécution
efficaces du projet, tout en minimisant les risques et en augmentant les chances de succès.
Pour garantir le bon fonctionnement de ce processus, des méthodes, et des notations sont
utilisées, et UML est l'une des notations les plus couramment utilisées aujourd'hui.
2.2.1 Le langage de modélisation
UML, (Unified Modeling Language), est un langage graphique standardisé utilisé pour
représenter, spécifier et documenter les systèmes logiciels. Il propose une variété de
diagrammes pour modéliser les fonctionnalités, la structure, le comportement et les interactions
d'un système.
10
Chapitre 2 Spécification des besoins et conception
Le diagramme de cas d'utilisation est utilisé pour représenter les interactions entre les
acteurs et le système, mettant en avant les fonctionnalités offertes par le système du point de
vue des utilisateurs. Il fournit une vue globale des actions que les acteurs peuvent effectuer et
comment ils interagissent avec le système pour atteindre leurs objectifs.
11
Chapitre 2 Spécification des besoins et conception
12
Chapitre 2 Spécification des besoins et conception
Conclusion
13
Chapitre 3: Réalisation
Introduction
Dans cette dernière section du rapport, l'accent est mis sur la mise en œuvre du système
une fois les besoins exprimés et spécifiés. On commence par décrire les choix techniques
effectués, puis on présente et explique les différentes étapes de développement du système.
Enfin, on clôture en effectuant une démonstration de l'application web développée.
Environnement matériel
• Arduino Uno
L’Arduino Uno est une carte microcontrôleur basée sur l’ATmega328P. Elle dispose de 14
broches d’entrée/sortie numériques (dont 6 peuvent être utilisées comme sorties PWM), 6
entrées analogiques, un résonateur céramique de 16 MHz, une connexion USB, une prise
d’alimentation, un en-tête ICSP et un bouton de réinitialisation.
Un capteur à ultrasons est un dispositif qui utilise des ondes sonores avec des fréquences
supérieures à la portée audible humaine pour détecter des objets et mesurer des distances.
Le capteur émet des ondes sonores à haute fréquence, puis mesure le temps nécessaire aux
ondes pour rebondir après avoir heurté un objet1. Ces informations sont utilisées pour calculer
la distance entre le capteur et l’objet.
• Un capteur d’eau
Un capteur de détection d'eau est un dispositif conçu pour identifier la présence ou
l'absence d'eau dans un environnement donné. Ces capteurs sont utilisés dans divers contextes
pour des applications telles que la prévention des fuites d'eau, la surveillance des inondations,
la gestion de l'irrigation, et la protection des équipements électroniques sensibles à l'humidité.
• Module GPS/GSM
C’est un module de fonction GSM et GPS deux-en-un. Il est basé sur le dernier module
GSM
GPS SIM808 de SIMCOM, prend en charge le réseau quadri-bande GSM / GPRS et
combine la technologie GPS pour la navigation par satellite.
15
Chapitre3 Réalisation
• Buzzer
C’est un élément électromécanique qui produit un son appelé le bip quand on lui applique
une tension, qui sera utilisé dans notre projet comme un message audio d’alerte.
16
Chapitre3 Réalisation
• Diode LED
C’est un dispositif électronique capable d’émettre de la lumière lorsqu’il est parcouru par
un courant électrique.Il sera comme une alerte visuelle dans notre projet.
• Plaque d’essai
La méthode pour tester un montage électronique sans réaliser de circuit imprimé consiste
à utiliser une plaque d'essai. Grâce à ce petit outil, il n'y a pas besoin de souder, il suffit juste
d’interconnecter les composants sur la plaque.
• Fils conducteur
C’est le composant électrotechnique servant au transport de l'électricité, afin de transmettre
de l'énergie ou de l’information. Il sera utilisé afin d’interconnecter les différents éléments du
notre projet.
Environnement logiciel
• Arduino IDE
Arduino IDE est un logiciel gratuit et open source. Il permet d'éditer, compiler et téléverser
des programmes en langage C/C++ sur les cartes Arduino. Le logiciel facilite également la
communication avec la carte via le terminal pendant son fonctionnement, tant que la connexion
(par exemple, via USB) est active.
• Circuit.io
Circuit.io est un outil en ligne pour la conception de circuits électroniques. Il génère
automatiquement des schémas de circuit. Il calcule toutes les exigences électriques pour chaque
composant et produit un schéma détaillé qui permet de suivre et de connecter les blocs de
construction.
• Mosquitto
Mosquitto est un courtier MQTT open source développée par Eclipse, facilitant la
communication entre les appareils IoT. En tant que broker de messages, il assure la transmission
efficace des messages entre les émetteurs et les récepteurs, avec des fonctionnalités de sécurité
telles que le chiffrement SSL/TLS. Il est largement utilisé dans des applications IoT pour sa
légèreté, sa fiabilité et sa gestion efficace des messages.
18
Chapitre3 Réalisation
• MQTTX
MQTTX est un client MQTT 5.0 open source, développé par EMQ, compatible avec
macOS, Linux et Windows.
Son interface utilisateur adopte une mise en page conversationnelle, simplifiant la logique
opérationnelle. Il permet d'établir rapidement des connexions MQTT/MQTTS et de gérer
l'abonnement et la publication de messages.
• HTML, CSS et JS
HTML, ou HTML5 pour sa dernière version, est un langage de balisage dédié à la
structuration des pages web.
CSS, (Cascading Style Sheets), servent à définir la présentation visuelle des documents
HTML et XML.
JavaScript, un langage de scripts, est essentiel pour créer des pages web interactives.
• Firebase
Firebase est une plateforme de développement d'applications mobiles et web proposée par
Google. Elle comprend une variété de services tels que la base de données en temps réel,
l'authentification des utilisateurs, l'hébergement web, le stockage de fichiers, les notifications
push, l'analyse des performances, les fonctions cloud, et bien d'autres encore.
Réalisation matérielle
Notre projet intègre un afficheur LCD afin d'afficher des alertes visuelles. Pour simplifier
la connexion avec la carte Arduino, nous avons opté pour l'utilisation d'un module I2C,
nécessitant uniquement quatre fils.
Les deux premiers fils du bus I2C sont dédiés à la transmission des données et à l'horloge,
assurant ainsi une communication efficace. Les deux fils restants sont réservés à l'alimentation
de l'afficheur LCD.
Le tableau 3.1 montre les connexions électriques nécessaires pour connecter un écran LCD à
une carte Arduino Uno
Tableau 3.1 : Branchement du lcd
20
Chapitre3 Réalisation
Le tableau 3.2 montre les connexions électriques nécessaires pour connecter le capteur
ultrasons à une carte Arduino Uno.
21
Chapitre3 Réalisation
2eme cas : Pour une distance entre le capteur et l'eau comprise entre 5 et 12 cm,
l'écran LCD affichera cette distance avec la mention "Water Level Med", signalant
un niveau d'eau moyen.
Le tableau 3.3 montre les connexions électriques nécessaires pour connecter le capteur d’eau
à une carte Arduino Uno.
S Numérique 2
+ 5V
- GND
23
Chapitre3 Réalisation
24
Chapitre3 Réalisation
Le tableau 3.4 montre les connexions électriques nécessaires pour connecter le buzzer à une
carte Arduino Uno
Tableau 3.4 : Branchement du buzzer
Buzzer Arduino
+ 7
- GND
Le tableau 3.5 montre les connexions électriques nécessaires pour connecter le module WIFI
à une carte Arduino Uno
25
Chapitre3 Réalisation
Le tableau 3.6 montre les connexions électriques nécessaires pour connecter le module GSM
à une carte Arduino Uno
Tableau 3.6 : Branchement de du capteur d'eau
26
Chapitre3 Réalisation
• Message d’alerte
Les messages d'alerte du module SIM808 transmettent des informations importantes
comme des alertes de sécurité, des notifications d'événements ou des mises à jour de statut.
Leur efficacité repose sur leur clarté et pertinence. Un bon message d'alerte doit fournir des
détails concis et éventuellement des instructions d'action.
• Appel d’alerte
Les appels d'alerte du module SIM808 sont vitaux en cas d'urgence, nécessitant une
communication immédiate. La qualité dépend de la clarté du message, et ils sont
particulièrement utiles dans des scénarios où une réponse rapide est cruciale.
27
Chapitre3 Réalisation
28
Chapitre3 Réalisation
Réalisation logicielle
Cette partie représente l’application web réalisée utilisé pour le contrôle des inondations,
ainsi sa relation avec mosquitto et mqttx.
3.4.1 Mise en place du service mosquitto
On doit cliquer sur le bouton "New Connection" pour configurer une nouvelle connexion
MQTT.
Dans la fenêtre de configuration, on doit donner un nom à la connexion et spécifier les détails
suivants :
Port : 1883
Host : mqtt://192.168.100.45
29
Chapitre3 Réalisation
30
Chapitre3 Réalisation
• Interface d’authentification
31
Chapitre3 Réalisation
• Interface principale
32
Chapitre3 Réalisation
Conclusion
33
Conclusion générale
Enfin, cette expérience a non seulement contribué à notre développement académique mais
a également jeté les bases d'une expertise solide dans la conception de systèmes intelligents.
Nous sommes convaincus que cette expérience nous positionne favorablement pour relever des
défis futurs, que ce soit dans le domaine spécifique de la détection d'inondation ou dans d'autres
domaines technologiques.
34
Webographie
[3]https://www.techtarget.com/iotagenda/tip/Top-12-most-commonly-used-IoT-protocols-
and- standards (consulté le 25/12/2023 à 14h18min)
[4]https://www.spiceworks.com/tech/iot/articles/top-applications-internet-of-things/#_001
(consulté le 10/01/2024 à 10h36min)
[5]https://www.xylem.com/en-us/solutions/municipal-water-wastewater/stormwater-
flooding/flood-prevention/ (consulté le 10/01/2024 à 17h36min)
35
Annexes
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <SoftwareSerial.h>
#include <Adafruit_FONA.h>
#include <DFRobot_SIM808.h>
#include <ESP8266WiFi.h>
#include <PubSubClient.h>
LiquidCrystal_I2C lcd(0x27, 16, 2 );
#define rxPin 3
#define txPin 4
SoftwareSerial sim808(rxPin, txPin);
int waterLevelSensor = 2;
int ultrasonicSensorTrig = 9;
int ultrasonicSensorEcho = 10;
int ledWaterSensor = 6;
int Relay = A4;
int buzzerPin = 7;
const char* ssid = "AndroidAP";
const char* password = "1209G7H1";
void setup() {
Serial.begin(9600);
sim808.begin(9600);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");}
Serial.println("Connected to WiFi");
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.clear();
lcd.print(" Welcome To");
lcd.setCursor(0, 1);
lcd.print(" Our Project");
delay(2000);
lcd.clear();
pinMode(waterLevelSensor, INPUT);
pinMode(ultrasonicSensorEcho, INPUT);
pinMode(ledWaterSensor, OUTPUT);
pinMode(Relay, OUTPUT);
pinMode(buzzerPin, OUTPUT);
digitalWrite(Relay, LOW);}
void sendSMS(const char *phoneNumber, const char *message) {
sim808.print("AT+CMGF=1\r");
delay(1000);
sim808.print("AT+CMGS=\"");
sim808.print(phoneNumber);
sim808.println("\"");
delay(1000);
sim808.print(message);
delay(1000);
sim808.write(26);
delay(1000);}
void callPhoneNumber(const char* phoneNumber) {
sim808.print("ATD");
sim808.print(phoneNumber);
sim808.println(";");
delay(1000);}
void setCallerName(const char* callerName) {
sim808.print("AT+CPBF=\"");
sim808.print(callerName);
sim808.println("\"");
delay(1000);}
float getUltrasonicDistance() {
digitalWrite(ultrasonicSensorTrig, LOW);
delayMicroseconds(2);
digitalWrite(ultrasonicSensorTrig, HIGH);
delayMicroseconds(10);
digitalWrite(ultrasonicSensorTrig, LOW);
return pulseIn(ultrasonicSensorEcho, HIGH) * 0.034 / 2;}
void loop() {
int waterSensorValue = digitalRead(waterLevelSensor);
float distanceValue = getUltrasonicDistance();
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance: ");
lcd.print(distanceValue);
lcd.print(" cm");
lcd.setCursor(0, 1);
lcd.print("Water level ");
if (waterSensorValue == HIGH) {
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("FLOOD ALERT!");
lcd.setCursor(0, 1);
lcd.print("Water too high");
sendSMS("+21622444503", "Emergency Alert: High water levels detected. Evacuate the
area immediately for your safety. Stay tuned for further updates.");
digitalWrite(buzzerPin, HIGH);
delay(1000);
digitalWrite(buzzerPin, LOW);
digitalWrite(ledWaterSensor, HIGH);
delay(1000);
digitalWrite(ledWaterSensor, LOW);
delay(50);
setCallerName("Flood Alert");
Serial.println("FLOOD ALERT! Water detected.");
callPhoneNumber("+21622444503"); }
if (distanceValue < 5) {
lcd.print("HIGH");
digitalWrite(ledWaterSensor, LOW);
digitalWrite(Relay, HIGH);
Serial.println("WATER LEVEL - HIGH"); }
else if (distanceValue >= 5 && distanceValue <= 12) {
lcd.print("MED");
digitalWrite(ledWaterSensor, LOW);
digitalWrite(Relay, LOW);
Serial.println("WATER LEVEL - MED"); }
else if (distanceValue > 12) {
lcd.print("LOW");
digitalWrite(ledWaterSensor, LOW);
digitalWrite(Relay, LOW);
Serial.println("WATER LEVEL - LOW");} }
delay(1000);}
Résumé
Le projet de détection d'inondation propose une solution complète basée sur des capteurs d'eau
et ultrasoniques, un module SIM808 pour les alertes téléphoniques/SMS, des indicateurs visuels
et sonores, une interface utilisateur sécurisée, et une base de données Firebase. Les capteurs
détectent les variations de niveau d'eau, les ultrasoniques mesurent la distance à la surface,
déclenchant des alertes via SMS, téléphone, LED et buzzer en cas de menace d'inondation.
L'interface sécurisée permet un accès autorisé pour surveiller les niveaux d'eau en temps réel et
analyser les données stockées de manière sécurisée dans Firebase, incluant les comptes
utilisateurs.
Abstract
The flood detection project offers a comprehensive solution based on water and ultrasonic
sensors, a SIM808 module for phone/SMS alerts, visual and auditory indicators, a secure user
interface, and a Firebase database. The sensors detect water level variations, ultrasonic
sensors measure the distance to the surface, triggering alerts via SMS, phone calls, LED
lights, and a buzzer in case of flood threats. The secure interface allows authorized access to
monitor real-time water levels and analyze securely stored data in Firebase, including user
accounts.
Keywords: Flood detection, Water sensors, Ultrasonic sensors, SIM808, Phone alerts,
Alert SMS, LED, Buzzer, User interface, Firebase database, Real-time water levels,
Historical charts, User authentication.