0% ont trouvé ce document utile (0 vote)
146 vues45 pages

Mini Projet 2 1

Le document présente un projet de système de détection d'inondation utilisant l'Internet des Objets (IoT), réalisé par deux étudiants sous la supervision de M. Moez Balti. Il est structuré en trois chapitres, abordant le contexte général du projet, la spécification des besoins et la réalisation technique. L'objectif principal est de développer une solution innovante pour la détection précoce des inondations afin de mieux gérer les risques environnementaux.

Transféré par

Doua Kacem
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
146 vues45 pages

Mini Projet 2 1

Le document présente un projet de système de détection d'inondation utilisant l'Internet des Objets (IoT), réalisé par deux étudiants sous la supervision de M. Moez Balti. Il est structuré en trois chapitres, abordant le contexte général du projet, la spécification des besoins et la réalisation technique. L'objectif principal est de développer une solution innovante pour la détection précoce des inondations afin de mieux gérer les risques environnementaux.

Transféré par

Doua Kacem
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 PDF, TXT ou lisez en ligne sur Scribd

Département : STIC

Référence : L3

Licence Appliquée en Sciences et technologies de l’Information et de la


Communication
Option Sécurité des réseaux

Projet Tutoré

Système de détection d’inondation

Réalisé par : Aya Ben Amara


Hiba Ben Amor

Classe : L3 SR A

Encadré par : M. Moez Balti

Entreprise d’Accueil :

Année Universitaire : 2023-2024


Remerciements

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

Introduction Générale………………… ..................................................................................... 1


Chapitre 1: Contexte général du projet ................................................................................. 2
Introduction……………………….. .......................................................................................... 2
Etat de l’art…………………….. ......................................................................................... 2
1.1.1 Principe de la technologie Internet Des Objets (IoT) ................................................ 2
1.1.2 Architecture de l’IoT…….......................................................................................... 2
Les protocoles…………………….. .................................................................................... 4
1.2.1 Cellulaire…………………. ....................................................................................... 4
1.2.2 MQTT (Message Queuing Telemetry Transport) ...................................................... 4
1.2.3 Wi-Fi……………………… ...................................................................................... 4
Domaines d’application de l’IoT.......................................................................................... 4
1.3.1 Amélioration des Solutions Entreprise ...................................................................... 4
1.3.2 Intégration des Maisons Intelligentes ........................................................................ 5
1.3.3 Innovation en agriculture .. ………………………………………………………….5
1.3.4 Transformation en santé …………………………………………………………….5
Présentation du projet……………………... ........................................................................ 5
1.4.1 Problématique…………….. ...................................................................................... 5
1.4.2 Étude de l’existant……….......................................................................................... 5
1.4.3 Critique de l’existant……. ......................................................................................... 6
1.4.4 Solution proposée………........................................................................................... 7
1.4.5 Description……………… ......................................................................................... 7
1.4.6 Les avantages…………….. ....................................................................................... 7
Conclusion………….…………….. ........................................................................................... 7
Chapitre 2: Spécification des besoins et conception .............................................................. 8
Introduction…………….…………. .......................................................................................... 8
Étude des besoins………..…….. ......................................................................................... 8
2.1.1 Les besoins Fonctionnels .. ………………………………………………………….8
2.1.2 Les besoins non Fonctionnels .................................................................................... 9
Analyse des besoins…………….…… .............................................................................. 10
2.2.1 Le langage de modélisation ..................................................................................... 10
2.2.2 Diagrammes de cas d’utilisation général ................................................................. 11
2.2.3 Diagramme d’activité……………........................................................................... 13
Conclusion…………………………… .................................................................................... 13
Chapitre 3: Réalisation .......................................................................................................... 14
Introduction……………………….. ........................................................................................ 14
Environnement matériel………… ..................................................................................... 14
Environnement logiciel………….. .................................................................................... 18
Réalisation matérielle…………. ........................................................................................ 20
3.3.1 Câblage de l’afficheur LCD ..................................................................................... 20
3.3.2 Câblage du capteur ultrasonic .................................................................................. 21
3.3.3 Câblage du capteur d’eau ......................................................................................... 23
3.3.4 Câblage d’une LED………...................................................................................... 24
3.3.5 Câblage buzzer………… ......................................................................................... 24
3.3.6 Câblage Module wifi……….................................................................................... 25
3.3.7 Câblage du SIM808……. ........................................................................................ 26
3.3.8 Montage complet……… ......................................................................................... 28
Réalisation logicielle…………… ...................................................................................... 29
3.4.1 Mise en place du service mosquitto ......................................................................... 29
3.4.2 Mise en place du mqttx ............................................................................................ 29
3.4.3 Mise en place de la plateforme et de firebase .......................................................... 31
Conclusion……………………….. .......................................................................................... 33
Conclusion générale……………. ............................................................................................ 34
Webographie………………………….. .................................................................................. 35
Annexes………..…………………….. .................................................................................... 35
Table des figures
Figure 1.1 : Architecture de l’IoT à trois couches...................................................................... 3
Figure 1.2 : Architecture de l’IoT à cinq couches ...................................................................... 3
Figure 2.1 : Diagramme de cas d'utilisation globale ................................................................ 11
Figure 2.2 : Diagramme de cas de déclenchement d’une alerte ............................................... 12
Figure 2.3 : Diagramme de séquence global ............................................................................ 13
Figure 3.1 : Carte Arduino Uno ............................................................................................... 14
Figure 3.2 : Capteur à ultrasons ............................................................................................... 14
Figure 3.3 : Un capteur d’eau ................................................................................................... 15
Figure 3.4 : Module GPS/GSM ................................................................................................ 15
Figure 3.5 : Module wifi esp8266 ............................................................................................ 16
Figure 3.6 : Afficheur LCD ...................................................................................................... 16
Figure 3.7 : Buzzer ................................................................................................................... 16
Figure 3.8 : Diode LED ............................................................................................................ 17
Figure 3.9 : Plaque d'essai ........................................................................................................ 17
Figure 3.10 : Fils conducteurs .................................................................................................. 17
Figure 3.11 : Arduino IDE ....................................................................................................... 18
Figure 3.12 : Circuit.io ............................................................................................................. 18
Figure 3.13 : Mosquitto ............................................................................................................ 18
Figure 3.14 : Mqttx................................................................................................................... 19
Figure 3.15 : Les langages de développement de l’application ............................................... 19
Figure 3.16 : Firebase ............................................................................................................... 19
Figure 3.17 : Branchement et fonctionnement de l'afficheur LCD .......................................... 20
Figure 3.18 : Branchement du capteur ultrasonic .................................................................... 21
Figure 3.19 : 1er cas ................................................................................................................. 22
Figure 3.20 : 2eme cas.............................................................................................................. 22
Figure 3.21 : 3eme cas.............................................................................................................. 22
Figure 3.22 : Branchement et fonctionnement du capteur d'eau .............................................. 23
Figure 3.23 : Branchement et fonctionnement du led .............................................................. 24
Figure 3.24 : Branchement et fonctionnement du buzzer ........................................................ 24
Figure 3.25 : Câblage et branchement module WIFI ............................................................... 25
Figure 3.26 : Branchement et fonctionnement du GSM .......................................................... 26
Figure 3.27 : Les alertes générées ............................................................................................ 27
Figure 3.28 : Montage Complet du système ............................................................................ 28
Figure 3.29 : Commande d'exécution du service mosquitto .................................................... 29
Figure 3.30 : Configuration de la connexion MQTTX ............................................................ 30
Figure 3.31 : Connexion MQTTX............................................................................................ 30
Figure 3.32 : Interface d'authentification ................................................................................. 31
Figure 3.33 : Interface principale ............................................................................................. 32
Figure 3.34 : Base de données temps réel ................................................................................ 32
Figure 3.35 : Comptes des utilisateurs sur Firebase ................................................................. 33
Liste des tableaux
Tableau 2.1 : Description du déclenchement d'une alerte ........................................................ 12
Tableau 3.1 : Branchement de lcd ............................................................................................ 20
Tableau 3.2 : Branchement du capteur ultrasonic .................................................................... 21
Tableau 3.3 : Branchement de du capteur d'eau ....................................................................... 23
Tableau 3.4 : Branchement du buzzer ...................................................................................... 25
Tableau 3.5 : Branchement module WIFI ................................................................................ 25
Tableau 3.6 : Branchement de du capteur d'eau ....................................................................... 26
Introduction Générale

La fréquence croissante des phénomènes météorologiques extrêmes, notamment les


inondations, a amplifié la nécessité d'adopter des approches novatrices pour la détection précoce
et la gestion efficace des risques environnementaux. Dans ce contexte, l'émergence rapide de
l'Internet des Objets (IoT) ouvre des perspectives prometteuses pour la création de systèmes
intelligents capables de surveiller en temps réel et de réagir efficacement aux menaces
environnementales.
Le présent rapport se concentre sur le développement d'un système sophistiqué de détection
des inondations, exploitant pleinement les avantages offerts par l'IoT. L'objectif principal de
cette initiative est d'établir un cadre solide permettant une identification précoce des risques
d'inondation, ainsi qu'une réponse rapide et adaptative aux conditions météorologiques
changeantes.
Ce rapport est structuré en trois chapitres, qui retracent de manière exhaustive les
différentes étapes du projet. Le premier chapitre met en lumière le cadre et les objectifs du
projet, ainsi que les facteurs déterminants qui ont conduit à sa réalisation. Le deuxième chapitre
se concentre sur l'identification et la documentation détaillée des besoins du projet, tout en
présentant la démarche adoptée pour concevoir la solution, en mettant en évidence les
différentes étapes de conception et les choix techniques effectués. Enfin, le dernier chapitre met
l'accent sur la mise en œuvre concrète du projet, décrivant la réalisation de la solution et les
résultats obtenus.
En conclusion, ce rapport aspire à apporter une contribution significative à la discussion
entourant l'utilisation de l'IoT dans la gestion des inondations. Il offre une perspective technique
détaillée et éclairée, visant à catalyser l'adoption de ces technologies innovantes pour relever
les défis croissants liés aux événements météorologiques extrêmes.

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

1.1.1 Principe de la technologie Internet Des Objets (IoT)

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

Les différentes couches de l'architecture IoT sont généralement conceptualisées dans


différents modèles, similaires au modèle OSI. Voici quelques-uns des modèles couramment
utilisés pour représenter l'architecture IoT.
a. Modèle à trois couches
L’architecture la plus basique est celle à trois couches. Elle se compose des couches de
perception, de réseau et d’application.
• La couche de perception est la couche physique, qui possède des capteurs pour
détecter et collecter des informations sur l’environnement. Il détecte certains
paramètres physiques ou identifie d’autres objets intelligents dans l’environnement.
• La couche réseau est responsable de la connexion à d’autres objets intelligents,
périphériques réseau et serveurs. Ses fonctionnalités sont également utilisées pour
la transmission et le traitement des données des capteurs.

2
Chapitre1 Contexte général du projet

• La couche application est chargée de fournir des services spécifiques à l’application


à l’utilisateur. Il définit diverses applications dans lesquelles l’Internet des objets
peut être déployé [2].

Figure 1.1 : Architecture de l’IoT à trois couches

b. Modèle à cinq couches


Pour l’architecture à cinq couches, le rôle des couches de perception et d’application est le
même que celui de l’architecture à trois couches. Les trois couches restantes ont les fonctions
suivantes :
• La couche de transport transfère les données du capteur de la couche de perception
à la couche de traitement et vice versa via des réseaux tels que sans fil, 3G, LAN,
Bluetooth, RFID et NFC.
• La couche de traitement est également appelée couche middleware. Il stocke,
analyse et traite d’énormes quantités de données provenant de la couche de
transport. Il peut gérer et fournir un ensemble diversifié de services aux couches
inférieures. Il utilise de nombreuses technologies telles que les bases de données,
le cloud computing et les modules de traitement de données volumineuses.
• La couche métier gère l’ensemble du système IoT, y compris les applications, les
modèles commerciaux et de profit, et la confidentialité des utilisateurs [2].

Figure 1.2 : Architecture de l’IoT à cinq couches

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].

Domaines d’application de l’IoT

1.3.1 Amélioration des Solutions Entreprise

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

1.3.2 Intégration des Maisons Intelligentes

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

Actuellement, les inondations constituent un défi majeur et leur fréquence augmente


chaque année. Souvent, ces inondations sont causées par des pluies intenses ou par la
défaillance des infrastructures hydrauliques. Pour remédier à cette problématique, diverses
technologies sont en cours de développement pour détecter ces causes principales et prévenir
les inondations.
1.4.2 Étude de l’existant
Avant de démarrer tout projet, il est essentiel de réaliser une étude de l'existant, car cette
phase est cruciale pour une conception efficace du système actuel. Elle implique la recherche
de systèmes similaires ou équivalents au nôtre afin d'acquérir une compréhension approfondie
de ce qui est actuellement en place.

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

1.4.4 Solution proposée


Notre solution de détection d'inondation basée sur l'IoT vise à fournir une réponse rapide
et efficace aux situations d'inondation. En utilisant des capteurs d'eau connectés à notre système,
nous sommes en mesure de détecter les niveaux d'eau anormaux et d'alerter instantanément les
utilisateurs concernés via le réseau GSM. De plus, nous avons développé une plateforme
centralisée qui enregistre toutes les informations pertinentes liées aux inondations, offrant ainsi
une gestion proactive et une analyse approfondie des données.
1.4.5 Description
Notre système de détection d'inondation basé sur l'IoT utilise un capteur de détection d'eau,
un capteur ultrasonic, un module GSM, une carte Arduino, des LED et une interface utilisateur.
Les capteurs d'eau connectés détectent les niveaux anormaux, déclenchant une alerte
instantanée via le réseau GSM. Une plateforme centralisée enregistre les données pertinentes
pour permettre une gestion proactive et une analyse approfondie. La carte Arduino coordonne
les capteurs et le module GSM, tandis que l'interface utilisateur facilite la surveillance et le
contrôle à distance.
1.4.6 Les avantages

• 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.

Étude des besoins

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)

• Condition de déclenchement : Détecter des signes précurseurs d'inondation, tels


qu'une augmentation progressive du niveau d’eau ainsi une distance entre le capteur
ultrasonic et l’eau est supérieur à 12cm.
• Communication : Afficher sur le LCD que le niveau d’eau est bas.
b. Deuxième niveau d'alerte
• Condition de déclenchement : Détecter une augmentation de niveau d'eau dépassant
des seuils entre 5 et 12cm.
• Communication : Afficher sur le LCD que le niveau d’eau est moye

8
Chapitre 2 Spécification des besoins et conception

c. Troisième niveau d'alerte (Niveau Critique)


• Condition de déclenchement : Détecter une augmentation rapide de niveau d’eau si la
distance entre le capteur ultrasonic et l’eau est inférieur à 5 cm.
• Communication : Afficher sur le LCD que le niveau d’eau est haut.
d. Quatrième niveau d'alerte (Urgence maximale)
• Condition de déclenchement : Détection de l’eau avec le capteur dédié et la
confirmation absolue de l'inondation imminente avec des risques graves pour la vie et
les biens.
• Action associée : Envoyer un SMS et un appel d’urgence aux autorités et activer des
mesures d'évacuation d'urgence, déclencher des alertes sonores continues et allumer le
LED.
• Communication : Envoyer des alertes prioritaires aux services d'urgence locaux, aux
équipes de secours et aux autorités gouvernementales pour une réponse immédiate.

2.1.2 Les besoins non Fonctionnels

• 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

Analyse des besoins

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

2.2.2 Diagrammes de cas d’utilisation général

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.

Figure 2.1 : Diagramme de cas d'utilisation globale

11
Chapitre 2 Spécification des besoins et conception

• Cas de « Déclencher une alerte »

Figure 2.2 : Diagramme de cas de déclenchement d’une alerte

Le tableau 2.1 décrit le cas d’utilisation « déclencher une alerte »

Tableau 2.1 : Description du déclenchement d'une alerte

Acteur Administrateur, Utilisateur


Pré condition Détection d’une inondation
Scénario 1 : Activer la détection.
2 : Mesure du niveau d’eau
3 : Détection d’une inondation
4 : Déclenchement d’une alerte
5 : Allumer les LEDs
6 : Envoi d’un message au responsable
7 : Déclenchement d’un appel au responsable

12
Chapitre 2 Spécification des besoins et conception

2.2.3 Diagramme d’activité

Le diagramme d'activité est un outil de modélisation graphique utilisé pour représenter le


flux des activités dans un système ou un processus. Il est composé de nœuds, de transitions et
de synchronisations qui décrivent les différentes étapes et les décisions prises lors de l'exécution
des activités. Il est largement utilisé pour analyser, concevoir et documenter les processus
métier et les systèmes logiciels.

Figure 2.3 : Diagramme de séquence global

Conclusion

Au cours de ce chapitre, on a étudié les besoins fonctionnels et non fonctionnels, analysé


les besoins à travers des diagrammes de cas d'utilisation, ainsi que les configurations logicielles
et matérielles. Dans le prochain chapitre, on entamera les détails de la réalisation du projet.

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.

Figure 3.1 : Carte Arduino Uno


• Capteur à ultrasons

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.

Figure 3.2 : Capteur à ultrasons


14
Chapitre3 Réalisation

• 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é.

Figure 3.3 : Un capteur d’eau

• 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.

Figure 3.4 : Module GPS/GSM

15
Chapitre3 Réalisation

• Module wifi esp8266


L'ESP8266 est un circuit intégré avec un microcontrôleur permettant la connexion en WiFi.
Les modules intégrant ce circuit sont très utilisés pour contrôler des périphériques par Internet.
L'ESP8266 est livré avec un firmware préinstallé vous permettant d'en prendre le contrôle à
l'aide de « commandes AT » standards pouvant provenir d'une carte Arduino avec qui il peut
communiquer par liaison série [6].

Figure 3.5 : Module wifi esp8266

• Ecran LCD 16x2


Un écran LCD 16x2 est un module d’affichage qui peut afficher 16 caractères sur 2 lignes.
Il utilise la technologie LCD (Liquid Crystal Display) pour moduler la lumière des cristaux
liquides.

Figure 3.6 : Afficheur LCD

• 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.

Figure 3.7 : Buzzer

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.

Figure 3.8 : Diode LED

• 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.

Figure 3.9 : Plaque d'essai

• 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.

Figure 3.10 : Fils conducteurs


17
Chapitre3 Réalisation

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.

Figure 3.11 : Arduino IDE

• 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.

Figure 3.12 : Circuit.io

• 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.

Figure 3.13 : Mosquitto

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.

Figure 3.14 : Mqttx

• 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.

Figure 3.15 : Les langages de développement de l’application

• 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.

Figure 3.16 : Firebase


19
Chapitre3 Réalisation

Réalisation matérielle

3.3.1 Câblage de l’afficheur LCD

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.

Figure 3.17 : Branchement et fonctionnement 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

Ecran lcd Arduino Uno


VCC 5V
SDA A4
SCL A5
GND GND

20
Chapitre3 Réalisation

3.3.2 Câblage du capteur ultrasonic


Le capteur ultrasonique est connecté à la carte Arduino Uno en utilisant quatre fils pour
établir une communication électrique entre les deux composants. Le fil VCC du capteur, qui
fournit l'alimentation, est connecté au port VCC de l'Arduino Uno. Le fil Trig, responsable de
l'émission des signaux ultrasoniques, est connecté au port numérique D4 de la carte. Le fil Echo,
qui reçoit les signaux réfléchis et mesure la durée entre l'émission et la réception, est connecté
au port numérique D5 de l'Arduino. Enfin, le fil GND (masse) du capteur est connecté au port
GND de la carte Arduino Uno pour compléter le circuit électrique.

Figure 3.18 : Branchement du capteur ultrasonic

Le tableau 3.2 montre les connexions électriques nécessaires pour connecter le capteur
ultrasons à une carte Arduino Uno.

Tableau 3.2 : Branchement du capteur ultrasonic

Ultrasonic Arduino Uno


VCC VCC
Trig D4
Echo D5
GND GND

21
Chapitre3 Réalisation

• Les cas possibles


1er cas : Si la distance entre le capteur et l'eau est supérieure à 12 cm, l'écran LCD
affichera cette distance avec la notification "Water Level Low", indiquant que le niveau
d'eau est bas.

Figure 3.19 : 1er cas

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.

Figure 3.20 : 2eme cas


3eme cas : Si la distance entre le capteur et l'eau est inférieure à 5 cm, l'écran LCD
affichera cette distance avec la notification "Water Level High", indiquant un niveau
d'eau élevé.

Figure 3.21 : 3eme cas


22
Chapitre3 Réalisation

3.3.3 Câblage du capteur d’eau


Nous avons utilisé un capteur d'eau connecté à la broche 2 de l'Arduino pour détecter la
présence d'eau.
Lorsque le capteur d'eau détecte de l'eau (lorsqu'il est immergé), il envoie un signal à
l'Arduino via la broche numérique 2.
L'Arduino lit la valeur du capteur d'eau à partir de la broche 2.
Si la valeur lue indique une présence d’eau, le programme affiche une alerte d'inondation
sur l'écran LCD.

Figure 3.22 : Branchement et fonctionnement du capteur d'eau

Le tableau 3.3 montre les connexions électriques nécessaires pour connecter le capteur d’eau
à une carte Arduino Uno.

Tableau 3.3 : Branchement de du capteur d'eau

Capteur d’eau Arduino uno

S Numérique 2
+ 5V
- GND

23
Chapitre3 Réalisation

3.3.4 Câblage d’une LED


Dans cette configuration, une LED a été incorporée et reliée à la broche numérique 6 de la
carte Arduino.
Dès que le capteur détecte la présence d'eau, il génère un signal électrique interprété par
l'Arduino. En réponse à cette détection, la programmation de l'Arduino active la broche
numérique 6, provoquant l'allumage de la LED. Cette indication visuelle offre une alerte
immédiate et facilement perceptible lorsqu'une élévation du niveau d'eau est identifiée.

Figure 3.23 : Branchement et fonctionnement du led

3.3.5 Câblage buzzer


Le buzzer joue un rôle essentiel dans le système de détection d'eau, servant d'alerte sonore
en conjonction avec le capteur d'eau. Lorsque le capteur d'eau détecte la présence d'eau au-delà
d'un seuil prédéfini, le microcontrôleur active le buzzer, déclenchant ainsi un bruit d'alerte
distinctif. Cette fonctionnalité sonore permet de signaler de manière efficace et immédiate la
situation critique de présence d'eau excessive.

Figure 3.24 : Branchement et fonctionnement du buzzer

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

3.3.6 Câblage Module wifi


Le module ESP8266 est connecté à la carte Arduino Uno par le biais de plusieurs
connexions essentielles pour établir une communication série entre les deux dispositifs. Le fil
VCC du module est connecté au port 3.3V de l'Arduino Uno pour fournir l'alimentation
nécessaire au module ESP8266. Le fil GND du module est relié au port GND de l'Arduino,
assurant une référence commune pour le circuit électrique. Les fils TX et RX du module sont
respectivement connectés aux ports RX et TX de l'Arduino Uno, permettant une communication
bidirectionnelle entre les deux dispositifs. En outre, le fil CH_PD du module est relié au port
3.3V de l'Arduino pour activer le module WiFi.

Figure 3.25 : Câblage et branchement module WIFI

Le tableau 3.5 montre les connexions électriques nécessaires pour connecter le module WIFI
à une carte Arduino Uno

Tableau 3.5: Branchement module WIFI

Module esp8266 Arduino uno


VCC 3.3V
GND GND
TX RX
RX TX
CH_PD 3.3V

25
Chapitre3 Réalisation

3.3.7 Câblage du SIM808


Le module SIM808 est connecté à la carte Arduino en utilisant trois fils pour établir une
communication série entre les deux dispositifs. Le fil GND du module est relié au port GND de
l'Arduino, assurant une connexion à la masse commune. Le fil TX (transmission) du module
est connecté au port numérique 3 (Pin 3) de l'Arduino, permettant au module SIM808 de
transmettre des données à l'Arduino. En revanche, le fil RX (réception) du module est connecté
au port numérique 4 (Pin 4) de l'Arduino, permettant à l'Arduino de recevoir des données du
module SIM808.

Figure 3.26 : Branchement et fonctionnement du GSM

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

Sim 808 Arduino


GND GND
TX Pin 3
RX Pin 4

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.

Figure 3.27 : Les alertes générées

27
Chapitre3 Réalisation

3.3.8 Montage complet

Les deux schémas ci-dessous montrent le montage complet de notre projet

Figure 3.28 : Montage Complet du système

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

Afin de démarrer mosquitto, on doit exécuter l’étape ci-dessous

Figure 3.29 : Commande d'exécution du service mosquitto

3.4.2 Mise en place du mqttx

• Configuration de la connexion MQTT

Au lancement de MQTTX, la figure 3.30 représente l’interface graphique.

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 :

Dans notre projet le nom de la connexion est « MQTTWebSockets »

Port : 1883

Host : mqtt://192.168.100.45

Client ID : Identifiant unique pour le client MQTT.

Et enfin on clique sur « Connect » pour enregistrer et établir la connexion MQTT.

29
Chapitre3 Réalisation

Figure 3.30 : Configuration de la connexion MQTTX

L'image ci-dessous montre une connexion par MQTTX

Figure 3.31 : Connexion MQTTX

30
Chapitre3 Réalisation

3.4.3 Mise en place de la plateforme et de firebase

Le développement d’une plateforme robuste utilisant HTML, CSS et JavaScript pour


afficher en temps réel les informations du système de détection d'inondation via MQTT. La
plateforme offre une interface conviviale permettant aux utilisateurs d'accéder aux données.
Avant toute visualisation des informations, une phase d'authentification est intégrée pour
garantir la confidentialité des données. Une fois authentifié, l'utilisateur découvre une interface
intuitive présentant les messages MQTT associés au système de détection d'inondation. De plus,
une courbe de niveau d'eau est affichée graphiquement, offrant une représentation visuelle
claire de l'évolution du niveau d'eau au fil du temps. Les informations d'authentification et de
mesure sont enregistrées de manière sécurisée dans Firebase, assurant ainsi la conservation
fiable et confidentielle des données.

a. Démonstration des interfaces de la plateforme

• Interface d’authentification

Figure 3.32 : Interface d'authentification

31
Chapitre3 Réalisation

• Interface principale

Figure 3.33 : Interface principale

b. Mise en place de Firebase

L’image ci-dessous montre les données de la plateforme enregistrées dans Firebase

Figure 3.34 : Base de données temps réel

32
Chapitre3 Réalisation

L’image ci-dessous montre les comptes des utilisateurs de la plateforme

Figure 3.35 : Comptes des utilisateurs sur Firebase

Conclusion

La mise en œuvre réussie du système de détection d'inondation intègre des composants


matériels avec des choix logiciels. L'application web, développée assure l'affichage en temps
réel des données via MQTT, avec une authentification sécurisée grâce à Firebase. L'ensemble
offre une solution complète, démontrée à travers des interfaces conviviales et une gestion
efficace des données dans une base temps réel sur Firebase.

33
Conclusion générale

En conclusion, notre projet de détection d'inondation a représenté une étape importante


dans notre parcours académique, offrant une expérience riche en enseignements et en
développements pratiques. La conception et la réalisation de ce système ont largement
contribué à renforcer nos connaissances théoriques et pratiques dans ce domaine.

La gestion complète du projet, de la conception initiale à la mise en œuvre pratique, a été


une opportunité précieuse pour maîtriser de nouveaux outils technologiques, tels que les
capteurs d'eau, les capteurs ultrasons, le module SIM808, et les bases de données Firebase.

En parallèle, ce projet a également souligné l'importance de la collaboration, de la


planification minutieuse, et de l'adaptabilité dans la réalisation de projets technologiques
complexes. Les aspects pratiques de la conception, le recours à des technologies émergentes, et
la gestion des différentes phases du projet ont constitué des apprentissages concrets qui
dépassent largement le cadre théorique des salles de classe.

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

[1]https://www.redhat.com/fr/topics/internet-of-things/what-is-iot (consulté le 20/12/2023 à


10h05min)

[2]techno-skills.com/le-piratage-dobjets-iot/ (consulté le 20/12/2023 à 13h23min)

[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)

[6]https://f-leb.developpez.com/tutoriels/arduino/esp8266/debuter/ (consulté le 13/01/2024 à


14h49min)

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.

Mots clés : Détection d’inondation, Capteurs d’eau, Capteurs ultrasoniques, SIM808,


Alertes téléphoniques,SMS d'alerte,LED,Buzzer,Interface utilisateur,Base de données
Firebase,Niveaux d'eau en temps réel,Courbes historiques,Authentification utilisateur

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.

Vous aimerez peut-être aussi