Vous êtes sur la page 1sur 70

Dédicace

Je dédie cet humble travail,

A celle qui m’a toujours soutenu, supportant mes sauts d’humeur et mon stress,
inconditionnellement présente auprès de moi, ma maman NAJIA.

A mon cher papa MOHAMMED, sans qui je ne serai jamais arrivé là, cet homme qui a
toujours su être présent pour moi, à tout moment et en toutes circonstances, faisant tous les
sacrifices possibles, soucieux toujours de me propulser vers le meilleur, un très grand merci
papa.

A mon frère ISSAM et ma sœur DOHA.

A mes cousins CHAFIK et HANANE qui sont toujours été présents pour les bons conseils.
Votre affection et votre soutien m’ont été d’un grand secours au long de ma vie
professionnelle et personnelle.

A tous mes amis, vous qui ensoleillez ma vie, et avec qui j’ai ce très grand plaisir de partager
des instants de bonheur continu.

Yousra

Projet de fin d’études i


Dédicace
Je dédie ce travail

À mon cher père,

Nulle dédicace ne saurait exprimer l’amour, la reconnaissance et le respect que j’ai toujours
éprouvés à votre égard. Ce travail est le fruit d’innombrables sacrifices que tu as adhérés
pour me permettre de franchir cette étape de ma vie. Tu t’es dépensé pour moi sans compter.
Que cet humble travail témoigne mon affection et ma reconnaissance.

À ma chère mère,

Aucune dédicace ne saurait exprimer mon amour, mon respect, mon affection et ma
considération pour toi, pour tous les sacrifices que tu as consentis pour mon éducation et mon
bien-être. J’espère être à la hauteur de ce que tu m’as inculqué, tout en sachant que tout ce
que je pourrai faire ne peut égaler ce que tu m’as donné. Que Dieu, le tout puissant, vous
garde et vous procure bonheur et santé.

À toute ma famille,

Vous m’avez toujours fait preuve d’amour et d’affection, c’est pour cette raison que je vous
remercie pour vos encouragements et je vous souhaite bonheur, santé et prospérité à vous et
vos enfants.

Najia

Projet de fin d’études ii


Remerciement
C’est avec un grand plaisir que nous réservons ces lignes en gage d’obligeance et de
gratitude à tous ceux dont nous avons sollicité l’aide et la collaboration durant ce projet.

Nos vifs remerciements vont conjointement à nos encadreurs Mr. BENBRAHIM


Mohammed et Mr. KABBAJ Mohammed Nabil pour leur encadrement très consistant, ses
conseils pertinents, ses judicieuses directives et tout le temps qu’il a consacré pour veiller au
bon avancement du projet.

Notre dévouement et notre reconnaissance s’adressent à notre encadrant pédagogique


Mr. KABBAJ Mohammed Nabil et Mr. BENBRAHIM Mohammed professeurs à la Faculté des
Sciences Dhar El Mehraz de Fès pour ses disponibilités, ses orientations avisées, ainsi que les
précieux conseils qu’il n’a cessé de nous prodiguer et qui ont fort contribué à l’accomplissement
de ce travail.

Remerciements spéciaux à tout le corps professoral de la Faculté des Sciences Dhar El


Mehraz de Fès particulièrement celui du Master spécialisé Smart Industry qui ont su nous
inculquer des connaissances pluridisciplinaires, piliers de toutes nos imminentes occupations
professionnelles.

Nous voudrions également exprimer notre ample gratitude envers les membres de jury
qui ont bien voulu nous donner l’honneur d’évaluer et d’apprécier ce travail ainsi que pour leur
transparence et leurs efforts à garantir les meilleures conditions lors de la soutenance.

Projet de fin d’études iii


Résumé
Le présent document constitue le fruit de notre travail accompli dans le cadre du stage
professionnelle chez Univalor Maroc au sein de la faculté des sciences Dhar El Mehraz. Ce
stage est considéré comme un programme de nature technologique et professionnelle conçu
pour fournir une formation complète et pratique dans le domaine de l'industrie 4.0.

Au début de ce projet, on a optimisé un système d’irrigation qui il existe dans notre faculté en
changeant leur principe de fonctionnement : on détermine en temps réel le moment de départ et
de la fermeture de la pompe et les jours que nous voulons activer ce paramètre.

L’objectif principal de ce projet est réalisé et conçu une application Android pour piloter à
distance le système que nous avons optimiser. Cette application permet de contrôler notre
système indépendamment ou l’endroit où l’on se trouve.

Le fruit de ce travail sera une application mobile Android nommée « SmartIrrigation », qui va
afficher les données météorologiques de notre jardin et contrôler à distance notre système par
deux modes : soit manuel ou par une planification.

Summary
This document is the result of our work on the internship at Univalor Morocco in the Dhar El
Mehraz Faculty of Sciences. This internship is considered a technological and professional
program designed to provide comprehensive and practical training in the field of Industry 4.0.

At the beginning of this project, we optimized an irrigation system that exists in our faculty by
changing their operating principle: we determine in real time the time of departure and closure
of the pump and the days that we want to activate this parameter.

The main objective of this project is realized and designed an Android application to remotely
control the system we have optimizing. This application allows us to control our system
independently or where we are.

The result of this work will be an Android mobile application called «SmartIrrigation», which
will display the weather data of our garden and remotely control our system by two modes:
either manual or by planning.

Projet de fin d’études iv


Liste de figures
Figure 1:Logo de l’association UniValor Maroc __________________________________ 2
Figure 2: Photo illustrant l’irrigation de surface _________________________________ 3
Figure 3:Photo illustrant l’irrigation par aspersion_______________________________ 4
Figure 4:Photo illustrant l’irrigation localisée ___________________________________ 5
Figure 5: l’architecture d’un système Ido _______________________________________ 9
Figure 6: les parties d’internet des objets ______________________________________ 10
Figure 7: objets connectés ___________________________________________________ 11
Figure 8: Schéma synoptique du système d’irrigation à distance___________________ 13
Figure 9: schéma du bloc d’entrée ____________________________________________ 14
Figure 10: organigramme de fonctionnement des actionneurs _____________________ 16
Figure 11: organigramme DHT22 ____________________________________________ 17
Figure 12: organigramme capteur de sol (A&B) ________________________________ 17
Figure 13: organigramme capteur de niveau réglable (par sondes) _________________ 18
Figure 14: configuration de l'RTC ____________________________________________ 20
Figure 15: Schéma de esp 32 avec RTC dans Fritzing ____________________________ 20
Figure 16: schéma de montage dans fritzing ___________________________________ 21
Figure 17: organigramme de fonctionnement de la pompe ________________________ 22
Figure 18: Le système final __________________________________________________ 23
Figure 19: Diagrammes UML _______________________________________________ 25
Figure 20: Représentation graphique de la démarche de modélisation utilisée _______ 26
Figure 21: Diagramme de cas d'utilisation _____________________________________ 28
Figure 22: Diagramme de séquence pour consultation des informations ____________ 30
Figure 23: Diagramme de séquence pour la gestion manuelle _____________________ 31
Figure 24: Diagramme de séquence de gestion par calendrier _____________________ 32
Figure 25: Diagramme de classes _____________________________________________ 33
Figure 26: Le logo des applications Android ___________________________________ 34
Figure 27: Architecture Android Studio _______________________________________ 36
Figure 28: Le logo d’environnement de travail Android studio.____________________ 36
Figure 29: Structure d’un projet Android. _____________________________________ 37
Figure 30 : Cloud Computing________________________________________________ 38
Figure 31: Logo de Firebase _________________________________________________ 40

Projet de fin d’études v


Figure 32: Le secret de Firebase. _____________________________________________ 40
Figure 33: Les services de la plateforme firebase. _______________________________ 41
Figure 34: Architecture de l'application_______________________________________ 42
Figure 35: logo de l’Application ______________________________________________ 43
Figure 36: Interface d’authentification. _______________________________________ 43
Figure 37: Page d'accueil. ___________________________________________________ 44
Figure 38: Les données des capteurs __________________________________________ 45
Figure 39: Interface de contrôle manuel _______________________________________ 46
Figure 40: Les interfaces de planification de démarrage de la pompe _______________ 47
Figure 41: Les interfaces de planification d’arrêt de la pompe ____________________ 48
Figure 42: Interface d’accueil de firebase ______________________________________ 48
Figure 43:Interface d'Authentification Firebase ________________________________ 49
Figure 44: La base de données Firebase Realtime _______________________________ 50

Projet de fin d’études vi


Liste des tableaux
Tableau 1: Acteurs et rôles __________________________________________________ 28
Tableau 2: Formalisme de description de diagramme de séquence _________________ 29
Tableau 3: Description du diagramme de séquence consultation des informations ____ 30
Tableau 4: Description du diagramme de séquence gestion manuelle _______________ 31
Tableau 5: Description du diagramme de séquence gestion par planification ________ 32

Projet de fin d’études vii


Table des matières
Introduction générale………………………………………………………………………..1

Chapitre I : Description et contexte de sujet

1. Introduction ...................................................................................................................... 2

1 Présentation de UniValor Maroc..................................................................................... 2

2 Les techniques d’irrigation .............................................................................................. 2

Intérêt de l’irrigation ............................................................................................... 2

Différentes techniques d’irrigation au Maroc ....................................................... 3


Irrigation gravitaire ............................................................................................. 3
Irrigation par aspersion ....................................................................................... 4
Irrigation localisée ................................................................................................ 5

Les facteurs de choix des systèmes d’irrigation ..................................................... 5

3 L’origine du projet ........................................................................................................... 6

4 Objectif du projet ............................................................................................................. 6

Objectif général du projet ....................................................................................... 6

Objectifs spécifiques du projet ................................................................................ 6

5 Problématiques ................................................................................................................. 7

6 Solution proposée ............................................................................................................. 7

7 Charte de projet................................................................................................................ 7

8 L’internet des objets (iot) ................................................................................................. 8

Définition sur l’internet des objets.......................................................................... 8

Architecture d’un système Ido ................................................................................ 9


Couche de Perception ........................................................................................... 9
Couche de Transmission ...................................................................................... 9
Couche Application ............................................................................................ 10

Notion de l’objet connecté ..................................................................................... 10

L’importance d’IoT ................................................................................................ 11

Projet de fin d’études viii


Les composants d’internet des objets ................................................................... 12

9 Conclusion ....................................................................................................................... 12
Chapitre II : Optimisation du système d'irrigation

1 Introduction .................................................................................................................... 13

2 Description de système existant .................................................................................... 13

Schéma synoptique du système ............................................................................. 13


Explication du schéma synoptique.................................................................... 13
Alimentation ....................................................................................................... 14
Bloc d’entrée ....................................................................................................... 14
Bloc de traitement .............................................................................................. 14
Bloc de sortie ....................................................................................................... 14

Principe de fonctionnement ................................................................................... 15

Partie programme .................................................................................................. 16

3 Optimisation du système ................................................................................................ 18

La partie à optimiser .............................................................................................. 18

Proposition d’une solution ..................................................................................... 18

RTC3231.................................................................................................................. 19
Définition ............................................................................................................. 19
Fonctionnement .................................................................................................. 19
Régler l’heure...................................................................................................... 19

Description de la solution ...................................................................................... 21


Schéma de montage dans FRITZING .............................................................. 21
Principe de fonctionnement ............................................................................... 21
Partie programme .............................................................................................. 22

4 Conclusion ....................................................................................................................... 23
Chapitre III : Modélisation et Conception de l'application

1 Introduction .................................................................................................................... 24

2 Présentation de notre application ................................................................................. 24

3 L’UML ............................................................................................................................. 24

Projet de fin d’études ix


Définition ................................................................................................................. 24

Historique de langage UML .................................................................................. 25

Diagrammes d’UML .............................................................................................. 25

4 Démarche de modélisation utilisé ................................................................................. 26

5 Analyse ............................................................................................................................ 26

Identification des besoins ....................................................................................... 27


Spécification des besoins fonctionnels .............................................................. 27
Spécification des besoins non fonctionnels ....................................................... 27

Identification des acteurs ....................................................................................... 27

Diagramme de cas d’utilisation ............................................................................. 27


Les cas d’utilisation ............................................................................................ 27
Acteurs et rôles ................................................................................................... 28
Diagramme .......................................................................................................... 28

6 Diagramme de séquence ................................................................................................ 29


Diagramme de séquence pour consultation des informations ........................ 29
Diagramme de séquence pour la gestion manuelle.......................................... 30
Diagramme de séquence de gestion par calendrier ......................................... 31

7 Diagramme de classes .................................................................................................... 33

8 Conclusion ....................................................................................................................... 33
Chapitre IV : Réalisation

1 Introduction .................................................................................................................... 34

2 Environnement de développement................................................................................ 34

Android.................................................................................................................... 34
Historique ............................................................................................................ 34
Architecture Android ......................................................................................... 35

Android Studio ....................................................................................................... 36

Cloud Computing ................................................................................................... 37


Définition du Cloud Computing........................................................................ 37
Caractéristiques .................................................................................................. 38

Projet de fin d’études x


Firebase ................................................................................................................... 39
Définition ............................................................................................................. 39
Le secret de Firebase  ......................................................................................... 40
Les Services utiliser avec le Firebase . .............................................................. 40

3 Architecture de l’application ......................................................................................... 41

4 Présentation des interfaces ............................................................................................ 42

Logo de l’application .............................................................................................. 43

Interface d’authentification ................................................................................... 43

Interface de page d’accueil .................................................................................... 44

Interface de consultation des informations .......................................................... 44

Interface de contrôle manuel ................................................................................. 46

Interface de commande par planification ............................................................ 46

5 Les interfaces de la plateforme. .................................................................................... 48

La page d’accueil de firebase ................................................................................ 48

Les services utilisés ................................................................................................. 49


Authentification .................................................................................................. 49
Real time database ............................................................................................. 49

6 Conclusion ....................................................................................................................... 50
Conclusion générale…………………………………………………………………………51

Projet de fin d’études xi


Introduction générale
L'irrigation est le processus d'amener l'eau aux plantes cultivées artificiellement pour
augmenter la production et permettre leur croissance naturelle, dans le cas du déficit hydrique
provoquée par un déficit de précipitations ou d'échange excessif ou une diminution de la nappe,
en particulier dans les zones arides.

En général, on parle de « l'irrigation » pour les petites surfaces (jardinage), réserver le terme «
irrigation » pour les grandes surfaces (champ de l'agriculture, de l'horticulture), mais il n'y a pas
de norme dans ce domaine.

La sur-irrigation peut être source de propagation de pathogènes et les polluants dans le


jardin et la pluie est trop capricieuse. Alors, il est important de suivre le taux d’humidité de
manière à conserver au maximum les plantes en vie, car chaque plante a besoin d’un taux
d’humidité spécifique.

L'irrigation à la main est fastidieuse, perde du temps et dispendieux en eau. Afin d'assurer
que nos plantes restent vertes et saines, pour gagner du temps, nous permet de partir en vacances
en toute tranquillité, plus besoin de demander de l’aide à nos voisins ou à la famille, voilà
pourquoi nous réaliserons le projet du système irrigation à distance qu’on peut le piloter par
deux méthodes : compteur lié en horloge en temps réel et application Android.

Dans ce contexte le travail développé dans ce projet est d’optimiser un système d’irrigation qui
irriguer d’une façon manuelle, on le rendre programmé par une planification, et développée une
application Android pour même besoin. Notre système facilite la vie humaine et soulevé le
problème de suivre le jardin. En fin, l’internet des objets et Android a prouvé sa présence dans
tous les domaines.

On va résumer notre projet en 4 chapitres principaux :

• Le 1ér chapitre : Description et contexte du sujet.

• Le 2éme chapitre : Optimisation de système d’irrigation.

• Le 3eme chapitre : Modélisation et conception de l’application.

• Le 4eme chapitre : Réalisation.

Et enfin, une conclusion générale sanctionnera l’ensemble de ce travail.

Projet de fin d’études 1


Chapitre I : Description et
contexte du sujet
Chapitre I : Description et contexte du sujet

1. Introduction
Du 03 mars au 29 juin 2022 on a fait un stage professionnel d’une durée de cinq mois chez
UniValor Maroc au faculté science Dhar El Mahraz, portant sur l’implémentation d’un système
d’irrigation automatique.

Dans ce chapitre, après une brève présentation de UniValor Maroc, nous allons cadrer notre
projet, en définissant le contexte, la problématique, l’objectif souhaité, et la solution proposée
et en synthétisant tous cela dans une charte de projet.

1 Présentation de UniValor Maroc


UniValor Maroc a pour objectif de faciliter le transfert technologique et la création des liens
entre les chercheurs et les entreprises, identifier les innovations qui peuvent aider les entreprises
à enrichir sa gamme de produits et services ou à améliorer sa productivité. Valoriser les résultats
de la recherche et développement à travers l’ensemble des activités ayant pour objet
d’augmenter la valeur de ces résultats. La diffusion et l’échange des connaissances dans tous
les domaines de développement du savoir.

Figure 1:Logo de l’association UniValor Maroc

2 Les techniques d’irrigation


Intérêt de l’irrigation
L’irrigation constitue un outil de gestion efficace contre les aléas des précipitations et il est
crucial pour les ressources alimentaires mondiales. L’usage de l’irrigation présente de
nombreux avantages. Il permet d’augmenter la superficie des surfaces cultivées, en particulier

Projet de fin d’études 2


Chapitre I : Description et contexte du sujet

dans les zones arides, Elle permet de choisir des variétés à haut rendement en appliquant les
fertilisants nécessaires et rend ainsi ces cultures économiquement intéressantes. Elle a pour effet
de favoriser l’augmentation des rendements, et d’une façon générale d’intensifier et de stabiliser
la production en se libérant des variations climatiques. La figure 2 montre clairement l’intérêt
de l’irrigation sur le rendement des cultures irriguée et des cultures pluviale. [1]

Différentes techniques d’irrigation au Maroc


Irrigation gravitaire
L’irrigation gravitaire est l'opération consistant à apporter artificiellement de l’eau à des
végétaux cultivés pour en augmenter la production, et permettre leur développement normal en
cas du déficit d'eau induit par un déficit pluviométrique, un drainage excessif ou une baisse de
la nappe, en particulier dans les zones arides, l’écoulement de l’eau se fait selon la pente
naturelle du sol, s’il peut être fait appel à des ouvrages de type siphon, aucune force extérieure
n’est utilisée pour amener l’eau aux endroits désirés (Figure 2) [1].

Il y a trois types d’irrigation gravitaire :

• l’irrigation par planche

• l’irrigation par bassin

• l’irrigation à la raie qui est divisée aussi en quatre types :

Par siphon ; par gaines souples ; par rampe à vannettes ; transirrigation.

Figure 2: Photo illustrant l’irrigation de surface

Projet de fin d’études 3


Chapitre I : Description et contexte du sujet

L’irrigation de surface présente plus d’inconvénients que d’avantages :


Les avantages :

• Coût d’investissement faible à la parcelle pour l’agriculteur.


• Pas d’apport énergétique extérieur.
• Alimentation des nappes phréatiques.
Les inconvénients :

• Temps de main d’œuvre pour la répartition et la surveillance importante.


• Pertes d’eau importantes.
• Nécessite un terrain plat ou un nivellement.
• Faible efficience.
• Pollution possible par déversement.

Irrigation par aspersion


L’irrigation par aspersion reproduit le phénomène naturel de la pluie, en maîtrisant l’intensité
et la hauteur de la précipitation, cette technique nécessite des conditions de pression moyenne
à forte (de 3 à 6 bars à la buse). Au niveau de l’asperseur, pièce maîtresse du dispositif, une
buse crée un jet et l’oriente vers la cuillère, le bras mobile est activé par le jet, le ressort de
rappel provoque le retour du bras mobile et assure ainsi la rotation de l’asperseur (Figure3)[1].

Figure 3:Photo illustrant l’irrigation par aspersion

Projet de fin d’études 4


Chapitre I : Description et contexte du sujet

Irrigation localisée
L’irrigation localisée ou micro-irrigation (Figure4) consiste à apporter l’eau sur une partie
du sol seulement par petites doses fréquentes. A la limite, la compensation de
l’évapotranspiration se fait quotidiennement et l’eau est apportée par des distributeurs, ce qui
crée dans le sol des zones humides appelées « bulbes d’arrosage ou d’humidification » [1].

Plusieurs techniques sont développées :

• l’irrigation localisée par goutteurs : le goutte à goutte.

• l’irrigation localisée par rampes perforées fixes.

• l’irrigation localisée par diffusion (micro-jet, microdiffuseur).

Figure 4:Photo illustrant l’irrigation localisée

Les facteurs de choix des systèmes d’irrigation


Afin de choisir la méthode d’irrigation approprie il est nécessaire de prendre en considération
un certain nombre de facteur parmi eux :

• La disponibilité de l'eau en termes de quantité et qualité pour irrigation, source d'eau,


coût de l'eau.

Projet de fin d’études 5


Chapitre I : Description et contexte du sujet

• Caractéristique intrinsèque du sol : topographie, type de sol, propriétés du sol.


• Type de plantes que l’on souhaite cultiver.
• Facteurs liés aux conditions climatiques.
• D’autres facteurs peuvent entrées en jeux comme le cout de la main-d’œuvre superficie
irriguée, compétences des agriculteurs, équipements et sources d’énergie.

3 L’origine du projet
Il existe dans notre faculté des sciences DHAR EL MAHRAZ un système d’irrigation à base
d’ESP32 qui exécute l’irrigation par un compteur programmé d’une façon manuelle. On se voit
d’améliorer, développer ce système et le piloter à distance par une application Android.

L’idée de ce projet, selon notre encadrant Ms Nabil Kabbaj enseignant-chercheur en


université de Fès est née de ce système.

4 Objectif du projet
Objectif général du projet
L’objectif général du projet est de participer au développement du secteur agricole du Maroc
par la proposition d’un système d’irrigation efficace qu’on peut le contrôler et le piloter à
distance.

Objectifs spécifiques du projet


Les objectifs spécifiques du projet sont les suivants :

▪ Optimiser le système d’irrigation existant.


▪ Développer une application Android qui permet de contrôler un système
d’irrigation à distance.
▪ Protéger le sol de la salinisation (Protéger l’environnement).
▪ Réduire l’effort physique (améliorer le niveau de vie de l’agriculteur) et
augmenter les surfaces cultivées et donc la productivité,
▪ Permettre à l’agriculteur de s’absenter tout en gardant un œil sur son champ ou
jardin à l’aide d’une interface de l’application

Projet de fin d’études 6


Chapitre I : Description et contexte du sujet

5 Problématiques
L’eau entre dans les besoins fondamentaux de toutes les plantes. Bien arroser, selon les besoins
de chaque plante est donc le secret de la réussite d’un beau jardin. Mais supposons que vous
voulez voyager pendant quelques semaines dans ce cas-là il sera nécessaire d’arroser votre
jardin à distance.

6 Solution proposée
• Optimisation d’un système d’irrigation par intégration d’une horloge en temps réel
qui permet de planifier le jour et le temps de démarrage et l’arrêt de la pompe.
• Développement d’une application Android mis en communication WIFI qui permet
de contrôler et gérer l’arrosage à distance.

7 Charte de projet
La charte du projet regroupe les informations relatives à la définition du projet en termes
d’objectifs, délai, acteurs et gains attendus :

Charte du projet

Titre du projet
Piloter un système d’irrigation à distance
Origine
Système d’irrigation installés dans la faculté.
Département
concernée Physique.

Date de début 03/03/2022 Date de fin 29/06/2022

Périmètre Le secteur d’agricole.

Problématique Efforts physiques considérables fourni par l’agriculteur à cause de leur


déplacement à chaque fois pour programmer le compteur.

Projet de fin d’études 7


Chapitre I : Description et contexte du sujet

Objectif du Développement d’un système d’irrigation qui programme par deux


méthodes soit par une planification de compteur ou par une application
projet Android.

Equipe Deux étudiantes de master Smart industry sous l’encadrement de Ms


Nabil Kabbaj.
Résultat final Piloter le système d’irrigation à distance.

Gain du projet Amélioration le niveau de vie de l’agriculteur.

8 L’internet des objets (iot)


Le système d’irrigation à distance représente une autre génération développée d’irrigation basée
sur l'introduction des technologies avancées telles que Big Data, Internet des objets (IdO).[2]

Définition sur l’internet des objets


Il y a plusieurs définitions du concept Internet des Objets (en anglais : Internet of Things ou
IoT). Dans ce qui suit, on présente quelques définitions [2].

• Définition 1 : Internet des Objets est un réseau qui relie et combine les objets avec l’Internet
suivant des protocoles qui assurent leur communication et échange d’informations à travers une
variété de dispositifs.

• Définition 2 : L’Internet des objets peut être défini aussi comme étant un réseau de réseaux
qui permet, via des systèmes d’identification électroniques normalisés et unifiés, et des
dispositifs mobiles sans fil, d'identifier directement et sans ambiguïté des entités numériques et
des objets physiques et ainsi, de pouvoir récupérer, stocker, transférer et traiter les données sans
discontinuité entre les mondes physiques et virtuels.

• Définition 3 : L’Internet des objets est une extension de l'Internet actuel envers tout objet
pouvant communiquer de manière directe ou indirecte avec des équipements électroniques eux-
mêmes connectés à l’Internet.

Dans le cadre de notre travail, nous adoptons la définition proposée dans qui est : "L’Internet
des Objets (Ido) se définit comme un réseau mondial de services interconnectés et d’objets
intelligents de toutes natures destinés à soutenir les humains dans les activités de la vie
quotidienne grâce à leurs capacités de détection, de calcul et de communication. Leurs aptitudes

Projet de fin d’études 8


Chapitre I : Description et contexte du sujet

à observer le monde physique et à fournir des informations pour la prise de décision, seront
partie intégrante de l’architecture de l’Internet du futur".

Architecture d’un système Ido


En fait, il n’y a pas d’une définition formellement identique d’une architecture d’un système
Ido adoptée par tous les projets. Cette architecture est composée de trois couches :

Figure 5: l’architecture d’un système Ido

Couche de Perception
La couche de perception (peut être appelé "couche de périphérique", "couche sensorielle" ou
"couche de reconnaissance") qui est la couche la plus basse de l'architecture IoT, est
responsable de la capture des informations du monde réel et leur représentation au format
numérique. Elle inclut les technologies utilisées pour la détection (collecte des données de
l’environnement), l’identification (identification d’objets), l’activation (réalisation données
détectées) et la communication (établissement de la connectivité entre appareils intelligents
hétérogènes) avec un minimum d'interaction humaine. Selon les fonctionnalités qu'elle assure,
cette couche peut être divisée en deux sous-couches : les nœuds de perception (ou nœuds
sensoriels) et le réseau de perception (comme réseau des capteurs).

Couche de Transmission
La couche de transmission (appelée aussi « couche de transport » ou « couche réseau ») est
responsable de transmission des données collectées par les nœuds de perception à l'unité de
traitement de l'information (ou unités de prise de décision de haut niveau) à travers un réseau
ou une interconnexion des réseaux. Cette couche permet alors une intégration d'une variété de

Projet de fin d’études 9


Chapitre I : Description et contexte du sujet

réseaux, de technologies et de protocoles hétérogènes. Cette couche peut être divisée en trois
sous-couches : réseau d'accès, réseau cœur et réseau local et étendu

Couche Application
C’est la couche la plus haute de l’architecture IoT visible par l’utilisateur final. La couche
application a pour but de gérer et de fournir les applications globales en se basant sur la les
informations collectées par la couche de perception. Elle fournit aux utilisateurs finaux un
accès aux services personnalisés sur le réseau, en fonction de leurs besoins, grâce à
l’utilisation de divers appareils mobiles et équipements terminaux. Cette couche peut être
divisée en deux sous-couches : couche de support d’application et applications Ido.

L’Internet des objets comprend trois parties principales :

1 : les choses qui sont intégrées avec des capteurs.

2 : les réseaux qui les connectent.

3 : les systèmes qui traitent les données vers / depuis les choses.

Figure 6: les parties d’internet des objets

Notion de l’objet connecté


L’IoT repose avant tout sur les objets connectés. On peut dire qu’un objet connecté a la capacité
de capter une donnée et de l’envoyer, via le réseau Internet ou d’autres technologies, pour que
celle-ci soit analysée et visualisée sur des tableaux de bord dédiés. Les objets connectés
interagissent avec leur environnement par le biais de capteurs (température, vitesse, humidité,
vibration…). Dans l’Internet des Objets, un objet peut aussi bien être un véhicule, qu’une
machine industrielle ou encore une place de parking [2].

Projet de fin d’études 10


Chapitre I : Description et contexte du sujet

Figure 7: objets connectés

D’une autre manière, nous pouvons définir également un objet connecté comme un équipement
possédant les sept attributs suivants :

• Capteurs

• Connectivité à internet
• Processeurs

• Efficacité énergétique

• Coût optimisé
• Fiabilité

• Sécurité

L’importance d’IoT
L’importance de l’IoT devient considérable, puisqu’il s’agit de la première véritable évolution
de l’Internet. Celle-ci donnera lieu à des applications révolutionnaires capables de transformer
profondément notre mode de vie, et notre façon d’apprendre, de travailler et de nous divertir.
L’IoT a déjà doté l’Internet de capacités sensorielles (température, pression, vibration,
luminosité, humidité, tension), ce qui nous permet d’anticiper plutôt que de simplement réagir.
En outre, l’Internet couvre maintenant des endroits jusqu’alors inaccessibles. Des patients
ingèrent même des dispositifs connectés qui aident les médecins à diagnostiquer certaines
pathologies et à en déterminer les causes. Des capteurs extrêmement miniaturisés peuvent être
placés sur des plantes, des animaux et des sites géologiques, et connectés à l’Internet.

Projet de fin d’études 11


Chapitre I : Description et contexte du sujet

Les composants d’internet des objets


Le concept d’Internet des Objets exige la coordination des dispositifs suivants :

• Une étiquette physique identifie chaque objet / une étiquette virtuelle identifie chaque
lieu.

• Un dispositif mobile (téléphone cellulaire, organiseur, ordinateur portable…) doté


d’un logiciel additionnel, lit les étiquettes physiques ou localise les étiquettes
virtuelles.

• Un réseau sans fil relie le dispositif portable à un serveur contenant l'information


relative à l'objet étiqueté.

• Les informations sur les objets sont gérées dans des pages existantes du web.

• Un dispositif d’affichage (écran d'un téléphone mobile) permet de consulter les


informations relatives à l'objet ou à un ensemble d’objets.

9 Conclusion
Dans ce chapitre, nous avons réalisé un cadrage du projet, en précisant le contexte, la
problématique, l’objectif, les acteurs ainsi qu’une proposition de solution.

Projet de fin d’études 12


Chapitre II : Optimisation du
système d’irrigation
Chapitre II : Optimisation du système d’irrigation

1 Introduction
L’optimisation des systèmes permet de trouver une configuration idéale, à savoir l’obtention de
gain, d’effort, de temps ,d’argent ,d’énergie qui rend le fonctionnent de ce système satisfaisant
.Dans ce chapitre on va travailler sur l’optimisation d’un système d’irrigation ,donc nous
commençons par une description bien détaillée de notre système d’irrigation de base avant
de passer à l’optimisation de ce système.

2 Description de système existant


Schéma synoptique du système

Figure 8: Schéma synoptique du système d’irrigation à distance

Explication du schéma synoptique


Dans notre système, nous avons une boîte noire (ESP32). Dans l'entrée, nous avons introduit :

• Le capteur d'humidité comme une entrée analogique


• Capteur de niveau d'eau comme une entrée numérique (high-Low-no water).
• Aussi dans l’entrée on a certains boutons qui sert à programme un compteur et de
contrôler le fonctionnement des électrovannes.

Dans la sortie, nous avons pris quatre sorties numériques :


• Une afficheur LCD : afficher le niveau d’eau de réservoir, le pourcentage d’humidité,
états des électrovannes, les paramètres d’un compteur.
• Pompe à eau : la pompe doit être en marche selon le temps programme dans le compteur
manuellement, ou bien selon une commande à distance via une application mobile.
• LED : des leds qui donnent des informations sur le niveau de bassin.
• Electrovanne : un composant de sortie qui doit être contrôler selon le besoin.

Projet de fin d’études 13


Chapitre II : Optimisation du système d’irrigation

Alimentation
Le système et alimenter à l’aide d’un adaptateur qui reçoit une tension de 220V dans un secteur
d’alimentation situe dans la faculté et délivre une tension de 3,3 V demande par L’ESP32.
Les pompes et les électrovannes aussi sont alimenter de la même façon mais cette fois
l’adaptateur reçoit une tension de 220V et délivre une tension de 12V.

Bloc d’entrée

Figure 9: schéma du bloc d’entrée


Cet étage est composé de deux capteurs un pour l’humidité et le deuxième pour le niveau
d’eau. Ils permettent de fourni les informations nécessaires à la carte ESP32 pour assurer le bon
fonctionnement du système. Aussi un compteur qui sert a programmé la durée de la mise en
marche de la pompe.

Bloc de traitement
Dans notre système c’est la carte ESP32 qui joue le rôle de bloc de traitement car elle
permet de collecter les informations via les capteurs pour pouvoir ensuit contrôler l’ensemble
du système en fournissant l’ordre nécessaires aux organes de sortie d’une façon manuelle au
à distance.

Bloc de sortie
Ce bloc comprend un afficheur LCD permettant de visualiser tonte les séquences de
l’exécution des différentes tâches. Nous avons aussi certains LEDS relié a les broches de la
carte ESP32 qui fonctionnent comme des informations visuelles indiquant l’état en réservoir,
pompe et électrovannes, La commande de la pompe est affectée à l’aide de compteur ; lors de

Projet de fin d’études 14


Chapitre II : Optimisation du système d’irrigation

démarrage de ce dernier il doit actionner un relais qui est relie à notre pompe. Ensuite après la
mise en marche de la pompe on peut basculer entre deux buttons qui sert à actionner deux relais
relient à deux électrovannes ses deux boutons nous permis de choisir la zone qui doit être
irriguer (zone A, zone B ou bien les deux en même temps).

Principe de fonctionnement
D’abords le système sert de contrôler l’irrigation de deux zones A et B. Alors comment
le système fonctionne ?

En entré on a :

Un Capteur d’humidité, deux capteurs de sol, un capteur de niveau et 7 boutons qui sert à
régler divers paramètres.

En sortie :

Afficheur LCD, Pompe, Electrovanne, LED (informations visuels). D’abord à chaque instant
on reçoit des informations sur l’humidité (sol et air), température d’air, le niveau d’eau dans
notre bassin et l’états de pompe et des électrovannes (ON/OFF). Lorsque le capteur d’eaux
détecte que le niveau d’eau est en « haut » l’afficheur affiche « niveau haut » avec l’allumage
d’une led spéciale pour ce niveau, aussi pour le niveau « bas » l’afficheur affiche « niveau bas
» avec l’allumage d’une deuxième led spéciale pour ce niveau, et si on a un bassin qui est vide
l’afficheur affiche « pas d’eau », de plus l’afficheur toujours affiche le pourcentage d’humidité
de sol et d’air. Et à l’aide d’un bouton « SET » on peut se balancer dans l’afficheur LCD pour
Afficher les informations de chaque capteur.

Pour régler le temps de marche de la pompe on a quatre boutons qui sert à actionner un
compteur ou le premier bouton sert à incrémenter le compteur et faire un start, le deuxième sert
à décrémenter le compteur et de faire un stop, le troisième c’est un SET sert de se balancer entre
4 paramètres (secondes, minutes, heures, pompe), et le quatrième c’est un RESET qui sert à se
remise à zéro le système. Une LED s’allume lors de la mise en marche de la pompe.
Aussi on deux boutons chaqu’un commande une électrovanne ; une électrovanne qui se
trouve en zone A et le deuxième dans la zone B. aussi on a deux led chaqu’une est en relation
avec la mise en marche de l’électrovanne (A et B).

Le même principe de fonctionnement en peut l’avoir manuellement ou bien à distance on


utilisant une application mobile dans laquelle on peut actionner ou désactionner la pompe et les

Projet de fin d’études 15


Chapitre II : Optimisation du système d’irrigation

électrovannes, aussi on peut recevoir les mêmes informations délivrées par l’afficheur LCD et
les leds dans notre interface d’application. [2]

Partie programme
A part la programmation de l’application portable, aussi nous avons programmé dans le logiciel
Arduino un programme principal qui assure le fonctionnement de notre capteur DHT22, capteur
de sol, capteur de niveau, la commande de la pompe et les électrovannes à l’aide des boutons
et l’affichage des informations à l’aide de LCD (+leds) .ci-dessous on a les organigrammes qui
résument notre partie programmation.

Figure 10: organigramme de fonctionnement des actionneurs

Projet de fin d’études 16


Chapitre II : Optimisation du système d’irrigation

Figure 11: organigramme DHT22

Figure 12: organigramme capteur de sol (A&B)

Projet de fin d’études 17


Chapitre II : Optimisation du système d’irrigation

Figure 13: organigramme capteur de niveau réglable (par sondes)

3 Optimisation du système
La partie à optimiser
Pour régler le temps de marche de la pompe on a quatre boutons qui sert à actionner un
compteur, mais la difficulté rencontrée, on reste toujours besoin un personne pour déplacer à
chaque fois au système pour régler le compteur.

Proposition d’une solution


Pour résoudre le problème cité en avant , on a proposé d’intégrer un composant électronique
s’appelle RTC pour connecter notre système en temps réel ,et changer le principe de
fonctionnement de notre minuterie ,autrement dit planifier le système de tel sorte qu’il active
et désactive la pompe en temps précis notamment le jour et l’heure .

Projet de fin d’études 18


Chapitre II : Optimisation du système d’irrigation

RTC3231
Définition
Un module Real Time Clock (RTC) est un composant électronique qui permet de garder l’heure.
Il est utile pour des applications qui nécessitent une cadence de cycles très précise ou pour
envoyer des impulsions lorsque l’alarme programmée sonne. Cette dernière caractéristique peut
s’avérer utile pour réveiller un Arduino endormi (deep sleep mode).

Fonctionnement
Le RTC est un composant électronique qui permet de garder une heure précise. Il est possible
de le régler de plusieurs manières dépendant de la librairie téléchargée. L’intérêt de ces modules
vient du fait qu’ils sont souvent accompagnés d’une pile qui permet de garder l’heure même
lorsqu’ils ne sont plus alimentés par le microcontrôleur. Si l’on veut réveiller un Arduino
endormi (deep sleep mode), il est nécessaire d’avoir un RTC avec une alarme qui puisse
déclencher une interruption. C’est pourquoi j’ai choisi un RTC avec une puce DS3231. Malgré
tout, plusieurs modèles existent dans le commerce et il faut choisir le bon.

Régler l’heure
On ajoute le RTClib-master à notre bibliothèque Arduino.

On accède à Fichier/exemples/RTClib/ds3231.On Télécharge le code. Cette esquisse prend la


date et l'heure en fonction de l'ordinateur que nous utilisons (juste au moment où nous
compilons le code) et l'utilise pour programmer le RTC. Si l'heure de notre ordinateur n'est pas
réglée correctement, nous devons d'abord résoudre ce problème. Ensuite, nous devons appuyer
sur le bouton Télécharger pour compiler, puis télécharger immédiatement.

Projet de fin d’études 19


Chapitre II : Optimisation du système d’irrigation

Figure 14: configuration de l'RTC


On connecte notre RTC comme suit :

• VCC vers pin 5V.


• GND vers pin GND.

• SDA vers broche analogique pin 21.

• SCL vers broche analogique 22.

Figure 15: Schéma de esp 32 avec RTC dans Fritzing

Projet de fin d’études 20


Chapitre II : Optimisation du système d’irrigation

Description de la solution
Schéma de montage dans FRITZING
Le schéma en utilisant FRITZING

Figure 16: schéma de montage dans fritzing

Principe de fonctionnement
Le principe de fonctionnement de ce nouvel compteur est comme suit : on a quatre boutons qui
sert à actionner ce compteur, le premier bouton (Up) sert à incrémenter cette minuterie et
balancer entre ces quatre pages, le deuxième (Sel) sert à balancer entre les éléments des pages
et enregistrer les données de ce compteur, pour le troisième bouton (Down) sert à décrémenter

Projet de fin d’études 21


Chapitre II : Optimisation du système d’irrigation

et il remise le compteur à leur états initial(L’heure et le jour actuels) , et le quatrième c’est un


RESET qui sert à se remise à zéro le système.

La page principale nous indique le jour et l’heure actuels.

La deuxième page est l’interface ON/OFF, ici nous pouvons modifier les temps de marche et
d’arrêt de la pompe : on appuyé sur le bouton de sélection pour entrer dans le sous menu, une
flèche sera placée devant chaque élément, on incrémenter et dés incrémenter par Up/down
pour régler l’heure, la minute et la seconde.

Nous introduisons une nouvelle page ou nous pouvons sélectionner le jour pour activer le relais
et cela fonctionne de la même manière que les autres :la flèche indique l’élément (Lundi, Mardi,
Mercredi ……), si vous appuyez sur le bouton Up, vous mettrez un 1 ce jour sera activé. Si
vous appuyez sur le bouton Down, vous mettrez un 0 et le jour sera désactivé.

La quatrième page enregistre les paramètres : L’heure de ON/OFF et le jour activé/désactivé,


donc on appuyé seulement sur le bouton de Sel et toutes les données seront stockées.

Partie programme

Figure 17: organigramme de fonctionnement de la pompe

Projet de fin d’études 22


Chapitre II : Optimisation du système d’irrigation

L’intégration de solution dans le système

C’est une partie d’intégration du RTC dans le système. Nous avons connecté le RTC et le LCD
en même temps au bus i2c (analogique 21 SDA, analogique 22 SCL).

Après, cette opération d’intégration, nous avons téléversé un nouveau programme qui contient
la planification de temps et de jour pour activer et désactiver la pompe. On peut établir
finalement le bon fonctionnent de système.

Figure 18: Le système final

4 Conclusion
Dans ce chapitre nous avons pu optimiser notre système d’irrigation de base avec lequel on a
pu entamer ce travail, cette optimisation était à l’aide de différentes critères (critères
d’optimisation) cependant elle n’est pas unique alors ce système est renouvelable.

Projet de fin d’études 23


Chapitre III : Modélisation et
conception de l’application
Chapitre III : Modélisation et conception de l’application

1 Introduction
La conception de toute solution informatique est d’une grande importance, elle doit être traitée
avec rigueur et précision, car elle constitue la base du système à développer. Avant de s’engager
dans la conception, il est impératif de passer par la phase d’analyse qui permet d’identifier les
différents acteurs qui interagissent avec le système ainsi que leurs besoins.
Puis on passe à la conception, qui en s’appuyant sur les résultats de la phase d’analyse, donnera
la description détaillée du système ciblé et des objectifs à atteindre.
Pour ce faire nous avons adopté la conception avec l’UML (UnifiedModelling Language), qui
permet de bien représenter la dynamique d’une application par la série des diagrammes qu’il
offre.

2 Présentation de notre application


Notre futur application Android aura comme objectif de faciliter au jardinier leur tâche
d’arrosage, par une disponibilité de la contrôlé à distance en utilisant deux méthodes soit
manuellement ou par une planification.

Notre application mobile et pour la commande d’irrigation à distance basé sur le Cloud. Nous
avons choisi le service Cloud Realtime database qu’offre la plateforme Google Firebase pour
sa simplicité, sa facilité à mettre en œuvre ainsi que la sécurité qui est assuré grâce aux comptes
personnels des utilisateurs.

Cette application à réaliser pour un but :

• Facilité la communication entre vous et vos plantes.


• La possibilité de suivre le jardin.
• Offrir la possibilité arroser vos plantes à distance peux importer où vous êtes.

3 L’UML
Définition
UML traduit en « langage de modélisation objet unifié » est un langage de description orienté
objet qui permet de modéliser une application selon une vision objet. Un objet est décrit par les
attributs qui le compose et les traitements, appelé méthodes, qui peuvent lui être appliqués. [3]

Projet de fin d’études 24


Chapitre III : Modélisation et conception de l’application

Historique de langage UML


Les méthodes utilisées dans les années 80 pour organiser la programmation fonctionnelle
(notamment MERISE) étaient fondées sur une modélisation séparée des données et des
traitements.
Lorsque la programmation orientée objet prend de l’importance au début des années 90, la
nécessité d’une méthode qui lui soit adaptée devient évidente. Plus de cinquante méthodes
apparaissent entre 1990 et 1995, mais uniquement trois d’entre elles se sont détachées nettement
après quelques années : OMT, BOOCH et OOSE.
Chaque méthode avait ses avantages et ses partisans. Le nombre de méthode en compétitions
était réduit mais le risque d’un éclatement subsistait : la profession pouvait se diviser entre ses
trois méthodes, créant autant de continents intellectuels qui auraient eu du mal à communiquer.
C’est pour cela que l’unification de ses trois méthodes c’est avéré indispensable.
Pour la modélisation de notre application, nous allons utiliser le langage de modélisation unifié
UML. [4]

Diagrammes d’UML
UML propose 9 diagrammes de modélisation, réparties sur trois axes du niveau conceptuel
La modélisation proposée par le langage UML se réalise principalement sous forme graphique,
en utilisant divers types de diagrammes spécifiques, répartis en trois groupes, comme l’illustre
la figure (19) [5] :

Figure 19: Diagrammes UML

Projet de fin d’études 25


Chapitre III : Modélisation et conception de l’application

4 Démarche de modélisation utilisé


La figure suivante donne la représentation graphique de la démarche à suivre pour la
modélisation de notre application.

Analyse
Identification Diagramme de
des besoins cas d’utilisation

Identification
des acteurs

Conception

Diagrammes de
séquences

Diagrammes de
classes

Figure 20: Représentation graphique de la démarche de modélisation


utilisée

5 Analyse
Il s'agit d'une étape cruciale dans la réalisation d'une application donnée. Le futur d'une
application dépend beaucoup de cette phase, elle nous permet d'éviter le développement d'une
application non satisfaisante. Pour cela le client et le développeur doivent être en étroites
relations, voire avoir un intermédiaire entre eux.

Projet de fin d’études 26


Chapitre III : Modélisation et conception de l’application

Identification des besoins


Spécification des besoins fonctionnels
L’objectif principal de notre application est de permettre à l’utilisateur de visualiser les
informations de votre jardin et de piloter l’arrosage par deux méthodes soit manuellement ou
par une planification, il suffit juste que son appareil a accès à internet.

Spécification des besoins non fonctionnels


Les besoins non fonctionnels décrivent toutes les contraintes techniques, ergonomiques et
esthétiques auxquelles est soumis le système pour sa réalisation et pour son bon
fonctionnement.
En ce qui concerne notre application, nous avons dégagé les besoins suivants :
• L’accès à internet : l’application doit être connecté à internet pour être lié au cloud
Firebase et se mettre à jour.
• L’application doit être facile à utiliser.
• L’application doit être toujours fonctionnelle.

Identification des acteurs


Notre système communique avec acteur afin de réaliser un ensemble d’opérations. Un
acteur représente un rôle que peut jouer l’utilisateur dans le système. L’acteur est associé à un
cas d’utilisation, c'est-à-dire qu’il peut interagir avec lui et participer à son scénario.
L’acteur de notre système :
Utilisateur : c’est toute personne qui utilise une machine (Téléphone, Tablette, etc) qui
marche sous le système Android pour piloter l’irrigation de leur jardin à distance.

Diagramme de cas d’utilisation


Le diagramme de cas d’utilisation représente la structure des grandes fonctionnalités
nécessaires aux Utilisateurs du système. C’est le premier diagramme du modèle UML au niveau
duquel s’assure la relation entre l’utilisateur et les objets que le système met en œuvre. [6]

Les cas d’utilisation


Définition : Un cas d’utilisation (user case) représente un ensemble de séquence d’actions qui
sont réalisées par le système et qui produisent un résultat observable intéressant pour un acteur
particulier. Un cas d’utilisation modélise un service rendu par le système.

Projet de fin d’études 27


Chapitre III : Modélisation et conception de l’application

La relation d’inclusion (include) : Elle indique que le cas d’utilisation source contient aussi
le comportement décrit dans le cas d’utilisation destination. Cette relation permet de
décomposer des comportements et de définir les comportements partageables entre plusieurs
Cas d’utilisation.
La relation d’extension (Extend) : Elle indique que le cas d’utilisation source ajoute son
comportement au cas d’utilisation destination. L’extension peut être soumise à des conditions.
Lors de la phase d’analyse nous avons pu identifier les acteurs ainsi que les cas d’utilisation
associés à ces derniers. Ce qui nous donne l’opportunité d’élaborer le diagramme des cas
d’utilisation suivant :

Acteurs et rôles
Tableau 1: Acteurs et rôles

Acteur Rôles
Utilisateur Authentifier
Consulter les informations
Gérer le jardin par deux fonctionnements : manuel
ou par une planification

Diagramme

Figure 21: Diagramme de cas d'utilisation

Projet de fin d’études 28


Chapitre III : Modélisation et conception de l’application

6 Diagramme de séquence
Le diagramme de séquence montre quels sont les objets qui participent à l’exécution du cas
d’utilisation et quels sont les messages qu’ils échangent : description des interactions entre les
objets d’un point de vue temporel

Dans la suite on détailler les trois cas d’utilisation suivantes :


Consultation des informations
Gestion manuelle de la ferme
Gestion automatique de la ferme
Le formalisme ci-dessous sera suivi dans la description de chaque diagramme de séquence de
notre système

Tableau 2: Formalisme de description de diagramme de séquence

Nom de cas d’utilisation


But Objectif du cas d'utilisation
Acteur Acteurs participant au cas d’utilisation.
Précondition Condition nécessaire pour remplir le cas d'utilisation.
Scénario normal Séquence d’actions normales associées au cas d’utilisation.
Scénario d’exception Séquence d’actions conduisant à un échec

Diagramme de séquence pour consultation des


informations
Les informations à consulter sont :

Température de l’air.
Humidité de l’air.
Humidité du sol.
Niveau d’eau dans le bassin.

Projet de fin d’études 29


Chapitre III : Modélisation et conception de l’application

Tableau 3: Description du diagramme de séquence consultation des


informations

Consultation des informations


But Affichage des informations à propos du jardin
Acteur Utilisateur
Précondition Application Android
Scénario normal 1. L’application doit être connectée au wifi.
2. Le système envoi les données au Cloud.
3. Le cloud envoi les données à l’application.
4. L’utilisateur consulte l’application pour voir les données.
Scénario 1. L’utilisateur n’a pas établie la connexion WiFi.
d’exception 2. Problème dans la carte ESP32.
3. Problème dans les capteurs.

Figure 22: Diagramme de séquence pour consultation des informations

Diagramme de séquence pour la gestion


manuelle
L’élément à gérer dans le système est : la pompe

Projet de fin d’études 30


Chapitre III : Modélisation et conception de l’application

Tableau 4: Description du diagramme de séquence gestion manuelle

Gestion manuelle du système


But Gérer manuellement le système
Acteur Utilisateur
Précondition Application Android
Scénario normal 1. L’utilisateur clique sur de bouton démarrer ou arrêter la pompe.
2. L’application envoi la demande vers la carte ESP32 via le cloud
Firebase.
3.La carte ESP32 exécute l’action
Scénario d’exception 1.L’utilisateur n’a pas établie la connexion WiFi.
2.Problème dans le fonctionnement de l’actionneur.
3.Problème dans la carteESP32.

Figure 23: Diagramme de séquence pour la gestion manuelle

Diagramme de séquence de gestion par


calendrier
Le contrôle de système par planification permet d’activer et désactiver la pompe en temps et
des jours précis.

Projet de fin d’études 31


Chapitre III : Modélisation et conception de l’application

Tableau 5: Description du diagramme de séquence gestion par


planification

Planification du système
But Gérer par planification la pompe
Acteur Utilisateur
Précondition Application Android
Scénario normal 1. L’utilisateur détermine le temps et choisir les jours d’activation de la
pompe.
2. L’utilisateur détermine le temps et choisir les jours de désactivation
de la pompe.
3. L’application envoi la demande vers le cloud Firebase lorsque le temps
programmé est arrivé.
4. Le cloud Firebase envoi la demande (d’activation et désactivation) au
système.
5. Le système exécute l’action
Scénario 1.L’utilisateur n’a pas établie la connexion WiFi.
d’exception 2.Problème dans le fonctionnement de la pompe.
3.Problème dans la carteESP32.

Figure 24: Diagramme de séquence de gestion par calendrier

Projet de fin d’études 32


Chapitre III : Modélisation et conception de l’application

7 Diagramme de classes
Diagramme de classes : représente la description statique du système en intégrant dans chaque
classe la partie dédiée aux données et celle consacrée aux traitements. C'est le diagramme pivot
de l'ensemble de la modélisation d'un système.

Figure 25: Diagramme de classes

8 Conclusion
Dans ce chapitre, nous avons introduit les fonctionnalités de notre application. Pour les
atteindre, nous avons proposé une solution fondée sur une analyse et une conception modélisée
à l’aide du langage de modélisation unifié UML. Pour cela, nous avons défini l’acteurs de notre
application, les tâches qu'il assure et les scénarios associés à chaque tâche. Nous avons élaboré
Le diagramme de cas d’utilisation, élaboré les diagrammes de séquence et le diagramme de
classe générale. Le but de ce chapitre est de donner une vue panoramique et de rendre les choses
plus claires et concrètes, Finalement, la conception nous a aidé à expliquer et mettre le
projet compréhensible chez les lecteurs.
Dans le prochain chapitre nous allons présenter la phase de réalisation de notre application et
leurs outils de développement.

Projet de fin d’études 33


Chapitre IV : Réalisation
Chapitre IV : Réalisation

1 Introduction
Ce chapitre est consacré à la partie pratique de la mise en œuvre de notre application
mobile.
Sur le thème de la création d’une application mobile pour la commande de système d’irrigation
basé sur le Cloud. Il comprend une description des outils de développement utilisés comme
l’environnement de travail Android Studio avec le langage de programmation Java et le langage

De description XML et la plateforme de stockage Google Firebase et une présentation de


quelques interfaces de notre application mobile.

2 Environnement de développement
Dans cette section, nous définissons le système d'exploitation Android et l'outil de
développement Android Studio. Les outils que nous utiliserons pour développer notre
application mobile.

Android

Figure 26: Le logo des applications Android


Android est le système d'exploitation mobile créé par Google. Il équipe la plupart des
téléphones mobiles à l'heure actuelle (Smartphones). Son principal concurrent est Apple avec
l'iPhone. Android est un système qui permet de personnaliser son téléphone, de télécharger
des applications (navigateur Internet, GPS, Facebook...). Android équipe également les
tablettes tactiles. [7]

Historique
Si je dis "Android", une grande majorité d'entre vous diront "Google". Vous avez raison, pour
l'instant, mais l'histoire commence bien avant que Mountain View n'entre dans le système

Projet de fin d’études 34


Chapitre IV : Réalisation

d'exploitation. En fait, tout a commencé avec une société américaine appelée Android, fondée
en 2003.

Elle a ensuite été rachetée par Google deux ans plus tard (en 2005). L'objectif principal était de
développer un système d'exploitation qui permettrait à l'utilisateur d'interagir avec lui.
Vous le savez peut-être déjà, mais dans le passé, chaque fabricant a développé son propre
système intégré. Il était donc impossible de concevoir une application compatible sur tous les
appareils, sans parler des bibliothèques de développement fournies, qui étaient limitées de
manière à ce que les secrets commerciaux de la marque ne soient pas divulgués.

Au cours du premier mois de 2007, la marque Apple a présenté une véritable révolution :
l'iPhone. C'est alors que tout a changé. Le système IOS était censé être moderne, bien en
avance sur la technologie actuelle, et l'annonce d'Apple a été une grande claque. Comment
cela aurait-il pu être mieux ? Les différentes marques de téléphones y ont pensé.
Pour la première fois, ils sont parvenus à un accord, et de cet accord est née l'Open Handset
Alliance en novembre de la même année. Concrètement, elle a réuni pas moins de 35
entreprises, dont Google, qui avait suggéré le développement d'un système d'exploitation open
source, pour révolutionner le marché des mobiles, offrir quelque chose de nouveau, et balayer
la concurrence (Windows Mobile à l'époque et IOS surtout).
Aujourd'hui, le projet Android est un grand succès avec près de 85% de part de marché dans
le secteur des nouveaux Smartphones vendus (premier trimestre 2016). [8]

Architecture Android
Le choix de l’architecture Android est basé sur l’idée de maîtriser les ressources et la
consommation. Les applications Android s’exécutent sur un système contraint (mémoire
disponible, consommation de batterie, différence d’affichage, stockage disponible). [9]

Vous devez en tant que développeur faire attention à plusieurs points [9] :
• La création de nouveaux objets.
• L’utilisation des ressources (processeur, RAM, stockage, GPS, etc.).
• La consommation de la batterie.
• La diversité des tailles et des résolutions des écrans et des configurations matérielles.
• La diversité des versions d’Android disponibles sur le marché.

L’architecture d’Android se compose de cinq parties distinctes :


• Application : représente l’ensemble des applications fournies avec Android.

Projet de fin d’études 35


Chapitre IV : Réalisation

• Framework Android : représente le framework permettant aux développeurs de créer


des applications en accédant à l’ensemble des API et fonctionnalités disponibles sur le
téléphone (fournisseur de contenu, gestionnaire de ressources, gestionnaire de
notification, gestionnaire d’activité, etc.).

• Bibliothèques : Android dispose d’un ensemble de bibliothèques utilisées par les


différentes composantes du système.

• Android Runtime : contient entre autres la machine virtuelle ART.


• Linux Kernel : le noyau ...

Figure 27: Architecture Android Studio

Android Studio
Android Studio représente la plateforme officielle, soutenue par Google, pour le développement
d’applications Android. Il repose sur IntelliJ (Community Edition) de Jet Brainet devrait
permettre aux développeurs d’être plus rapides et plus productifs. Il offre toutes les possibilités
nécessaires pour développer une application Android complète.

Figure 28: Le logo d’environnement de travail Android studio.

Projet de fin d’études 36


Chapitre IV : Réalisation

Tout projet Android doit respecter une hiérarchie bien précise qui permettra au compilateur de
retrouver les différents éléments et ressources lors de la génération de l’application. Cette
hiérarchie favorise la modularité des applications Android.

A la création du projet, Android Studio crée automatiquement des dossiers pour contenir les
fichiers de code Java, les fichiers XML, et les fichiers multimédias.

L’explorateur de projet vous permettra de naviguer dans ces dossiers.

Les dossiers les plus utilisés sont java et res. Le premier contient le code Java qui définit le
comportement de l’application (situé dans le répertoire de votre projet sous app\src\main) et la
seconde comporte des sous dossiers (dans app\src\main\res) où sont stockées les ressources qui
définissent l’interface de l’application (l’apparence).

Figure 29: Structure d’un projet Android.

Cloud Computing
Définition du Cloud Computing
Le Cloud Computing est un terme général employé pour désigner la livraison de ressources et
de services à la demande par internet. Il désigne le stockage et l’accès aux données par
l’intermédiaire d’internet plutôt que via le disque dur d’un ordinateur. Il s’oppose ainsi à la
notion de stockage local, consistant à entreposer des données ou à lancer des programmes
depuis le disque dur. La notion de Cloud ne doit pas non plus être confondue avec celle du
Network Attached Storage (NAS), utilisée par beaucoup d’entreprises via un serveur en

Projet de fin d’études 37


Chapitre IV : Réalisation

résidence. Ces réseaux locaux n’entrent pas dans la définition du Cloud. Cependant, certains
NAS permettent d’accéder aux données à distance depuis Internet

De manière générale, on parle de Cloud Computing lorsqu’il est possible d’accéder à des
données ou à des programmes depuis internet, ou tout du moins lorsque ces données sont
synchronisées avec d’autres informations sur internet. Il suffit donc pour y accéder de
bénéficier d’une connexion internet. [10]

Figure 30 : Cloud Computing

Caractéristiques
Le modèle Cloud Computing se différencie par les cinq caractéristiques essentielles suivantes
[11] :

• Accès aux services par l’utilisateur à la demande :

La mise en œuvre des systèmes est entièrement automatisée et c’est l’utilisateur, au moyen
d’une console ou à travers des outils et des logiciels spécifiques, qui mettent en place et gèrent
la configuration à distance.

• Accès réseau large bande

Ces centres de traitement sont généralement raccordés directement sur le backbone internet
pour bénéficier d’une excellente connectivité. Les grands fournisseurs répartissent les centres
de traitement sur la planète pour fournir un accès aux systèmes en moins de 50 ms de n’importe
quel endroit.

Projet de fin d’études 38


Chapitre IV : Réalisation

• Réservoir des ressources (non localisées) :

La plupart de ces centres comportent des dizaines de milliers de serveurs et de moyens de


stockage pour permettre des montées en charge rapides. Il est souvent possible de choisir une
zone géographique pour mettre les données “près” des utilisateurs.

• Redimensionnement rapide (élasticité) :

La mise en ligne d’une nouvelle instance d’un serveur est réalisée en quelques minutes, l’arrêt
et le redémarrage en quelques secondes. Toutes ces opérations peuvent s’effectuer
automatiquement par des scripts. Ces mécanismes de gestion permettent de bénéficier
pleinement de la facturation à l’usage en adaptant la puissance de calcul au trafic instantané.

• Facturation à l’usage :

Il n’y a généralement pas de coût de mise en service (c’est l’utilisateur qui réalise les
opérations). La facturation est calculée en fonction de la durée et de la quantité de ressources
utilisées. Une unité de traitement stoppée n’est pas facturée.

Firebase
Définition
Firebase est le nom d’une plateforme mobile de Google qui facilite la création de back-end à
la fois scalable et performant. En d’autres termes, il s’agit d’une plateforme qui permet de
développer rapidement des applications pour mobile et pour le web.

L’objectif de la création de Firebase.google.com en 2011 par James Tamplin et Andrew Lee


est d’éviter aux professionnels et aux particuliers de s’engager dans un processus complexe de
création et de maintenance d’une architecture serveur.

De plus, la plateforme peut être exploitée par plusieurs utilisateurs en même temps sans
connaître un quelconque bug. La praticité est également au rendez-vous grâce à ses
fonctionnalités intuitives. Depuis le rachat de la plateforme par Google en 2014, Firebase sdks
a connu de nombreuses améliorations et n’a de cesse de satisfaire ses utilisateurs.
Firebase est le nom d’une plateforme mobile de Google qui facilite la création de back-end à
la fois scalable et performant. En d’autres termes, il s’agit d’une plateforme qui permet de
développer rapidement des applications pour mobile et pour le web. [12]

Projet de fin d’études 39


Chapitre IV : Réalisation

Figure 31: Logo de Firebase

Le secret de Firebase 
Dans Firebase, vous trouverez des API intuitives regroupées dans un SDK unique. Ces API,
en plus de vous faire gagner du temps, vous permettent de réduire le nombre d’intégrations
que vous devez gérer par le biais de votre application.

Vous profiterez ainsi d’une offre sur mesure ainsi qu’une intégration étroite entre lesdifférents
produits que vous exploitez. Étant donné que Firebase utilise l’infrastructure de
Google, la plateforme n’a aucun mal à s’adapter à l’évolution de votre application.
Ainsi, vous pourrez développer votre Firebase appli dans les meilleures des conditions,
d’autant plus que la plateforme met à votre disposition une solution complète, évolutive et
boostée par Google. [12]

Figure 32: Le secret de Firebase.

Les Services utiliser avec le Firebase .


Firebase met à votre disposition différents services pouvant être répartis en deux
catégories [12] :

➤ Les outils de développement et de test de son application.

Projet de fin d’études 40


Chapitre IV : Réalisation

➤ Les outils permettant d’augmenter et d’engager ses cibles.


Voici quelques-uns de ces outils, des outils que les développeurs exploitent le plus dans le
cadre du développement d’amplifications ou encore du test de performance des
amplifications :

Figure 33: Les services de la plateforme firebase.

3 Architecture de l’application
L’architecture de l’application décrit d’une manière symbolique et schématique les différents
éléments d’un système informatique d’une manière à savoir leurs interrelations et leurs
interactions. La navigation entre les différentes parties de notre application est présentée par la
figure ci-dessous :

Projet de fin d’études 41


Chapitre IV : Réalisation

Lancement de
L’application

Authentification

Page d’accueil

Consulter Gérer le système

Température Par
Manuellement
planification

Humidité
Démarrer/arrêter
pompe
Niveau d’eau

Figure 34: Architecture de l'application

4 Présentation des interfaces


Dans cette section, nous présenterons les principales interfaces de notre application, qui
suivent le principe ergonomique pour rendre l'opération simple pour chaque utilisateur.

Projet de fin d’études 42


Chapitre IV : Réalisation

Logo de l’application

Figure 35: logo de l’Application

Interface d’authentification
Cette interface permet aux utilisateurs de saisir leurs mot de passe et leurs login afin d’accéder
à leurs interface.

Figure 36: Interface d’authentification.

Projet de fin d’études 43


Chapitre IV : Réalisation

Interface de page d’accueil


Après l’authentification, une fenêtre d’accueil lui apparait ou il peut gérer les besoins de notre
application.

Figure 37: Page d'accueil.

Interface de consultation des informations


On bascule entre les pages pour voir les données des capteurs.

Projet de fin d’études 44


Chapitre IV : Réalisation

Figure 38: Les données des capteurs

Projet de fin d’études 45


Chapitre IV : Réalisation

Interface de contrôle manuel


On commande manuellement l’arrêt et le démarrage de la pompe.

Figure 39: Interface de contrôle manuel

Interface de commande par planification


✓ Pour planifier le démarrage de la pompe

Projet de fin d’études 46


Chapitre IV : Réalisation

Figure 40: Les interfaces de planification de démarrage de la pompe

✓ Pour planifier l’arrêt de la pompe

Projet de fin d’études 47


Chapitre IV : Réalisation

Figure 41: Les interfaces de planification d’arrêt de la pompe

5 Les interfaces de la plateforme.


La page d’accueil de firebase
Cette page montre le projet stocké dans notre firebase

Figure 42: Interface d’accueil de firebase

Projet de fin d’études 48


Chapitre IV : Réalisation

Les services utilisés


Authentification
La plupart des applications doivent connaître l'identité d'un utilisateur. Connaître l'identité d'un
utilisateur permet à une application d'enregistrer en toute sécurité les données utilisateur dans
le Cloud et de fournir la même expérience personnalisée sur tous les appareils de l'utilisateur.

Firebase Authentification fournit des services de backend, des SDK faciles à utiliser et des
bibliothèques d'interface utilisateur prêtes à l'emploi pour authentifier les utilisateurs auprès de
votre application.

Il prend en charge l'authentification à l'aide de mots de passe, de numéros de téléphone, de


fournisseurs d'identité fédérés populaires tels que Google, Facebook et Twitter, etc.

L'authentification Firebase s'intègre étroitement aux autres services Firebase et s'appuie sur les
normes de l'industrie telles qu’OAuth 2.0 et OpenID Connect, afin de l'intégrer facilement à
votre backend personnalisé.

Figure 43:Interface d'Authentification Firebase

Real time database


On stocke et synchronise les données avec notre base de données cloud NoSQL. Les données
sont synchronisées sur tous les clients en temps réel et restent disponibles lorsque votre
application est hors ligne.

La base de données Firebase Realtime est une base de données hébergée dans le cloud. Les
données sont stockées au format JSON et synchronisées en temps réel avec chaque client

Projet de fin d’études 49


Chapitre IV : Réalisation

connecté. Lorsque vous créez des applications multiplateformes avec nos plates-formes Apple,
Android et les SDK JavaScript, tous vos clients partagent une instance de base de données en
temps réel et reçoivent automatiquement des mises à jour avec les données les plus récentes
[13].

Figure 44: La base de données Firebase Realtime

6 Conclusion
Dans ce chapitre nous avons présenté les aspects pratiques liés à la réalisation du notre
application mobile, à savoir les outils de développement nécessaires pour le fonctionnement
de l’Application. En dernier, nous avons illustré quelques interfaces graphiques de notre
Application SmartIrrigation.

Projet de fin d’études 50


Conclusion générale
Lorsque nous parlons actuellement de réseaux informatiques, nous parlerons d’intégration de
ces réseaux à différentes échelles de la vie humaine, principalement dans le secteur agricole qui
est considéré actuellement comme un secteur économique majeur, son importance se mesure
en termes d’espaces, d’emploi et des aspects économiques. Et c’est dans ce contexte que le sujet
de notre mémoire peut être classé.

Notre mémoire sera entamé à deux parties majeures :

• L’optimisation d’un système d’irrigation en changeant leur principe de fonctionnement.


• Création d’une application Android pour piloter un système à distance.

Dans un premier temps, nous avons cadrer notre projet en définissant, le contexte, la
problématique et les objectifs à atteindre, de plus nous avons présenté une généralité sur
l’internet des objets.

Dans une deuxième étape, nous avons commencé à décrire en détail un système existant dans
notre faculté avant de tenter de l’optimiser en modifiant leur principe de fonctionnement.

Et dans la suite de ce mémoire, nous avons conçu et réalisé une application Android pour piloter
à distance un système d’irrigation. Pour cela nous avons étudier le système Android tout en
présentant un bref historique. les fonctionnalités que nous pouvons trouver sur ce système
d’exploitation et l’architecture d’Android à savoir les principaux composants du système.

Après avoir entamé l’analyse et la conception de notre système en utilisant le langage de


modélisation UML ainsi que la conception, nous sommes passés à la réalisation.

Au cours de la réalisation de ce projet nous avons enrichis notre savoir et développé nos
connaissances informatiques, notamment dans le domaine de la programmation et de la
mobilité.

En effet, l’application a exigé des connaissances du langage JAVA, XML, etc…, et des outils
de développement indispensables à sa réalisation. La mise en œuvre de notre travail a exigé des
connaissances très approfondies en la matière ainsi qu’une bonne maitrise de la configuration
d’Android studio et de l’environnement Android.

Et enfin, notre travail ainsi présenté reste un prototype sur lequel nous espérant apporter plus
de connaissance pour le rendre meilleur et plus fonctionnel.

Projet de fin d’études 51


Références
bibliographiques
[1] : https://www.etsfoulquier.fr/2019/12/16/les-techniques-dirrigation-agricole/

[2] : DAANOU.L et KHAIR.F, « Système d’irrigation à base d’ESP32 », mémoire de


licence professionnelle système Mécatronique et Embarqués,2021.

[3] : https://uml.developpez.com/livres/index/?page=Les-livres-francais

[4] : http://www.volle.com/travaux/umlimp.htm

[5] : UML (informatique) — Wikipédia (wikipedia.org)

[6] : https://fr.wikipedia/Diagramme_des_cas_d'utilisation

[7] : Définition Android — Dictionnaire informatique — Xyoos (cours-informatique-


gratuit.fr)

[8] : Toute l'histoire et la chronologie d'Android (phonandroid.com)

[9] : Android 7 - Les fondamentaux du développement d'applications Java - Architecture


Android | Editions ENI (editions-eni.fr)

[10] : Cloud Computing – Définition, Avantages et Exemples d’utilisation (lebigdata.fr)

[11] : H. Slim, « Etude et Mise en Place d’une Solution Cloud Computing Privé au sein de
Tunisie Télécom », 2015.

[12] : A quoi sert Firebase, la plateforme mobile de Google? - Junto

[13] : https://firebase.google.com/docs/database

Vous aimerez peut-être aussi