Vous êtes sur la page 1sur 49

République Tunisienne

Minist
Ministère de l'Enseignement Supérieur
et de la Recherche Scientifique
Faculté des Sciences de Université de Carthage
Département
Bizerte (FSB) Informatique

Code : P-TRT-18

Rapport de Projet
P de Fin d’Etudess
Pour l’obtention du diplôme de Licence appliquée en Réseaux Informatique

Spécialité: Technologies de l’Informatique et de Télécommunication

Intitulé :

MISE EN PLACE D'UN SYSTEME INTELLIGENT


POUR UNE IRRIGATION DE PRECISION

Réalisé par :

Wiem Turki

Safa Mzoughi

Au sein de :

OpenDev

Encadré par :
M. Karim Fathallah OpenDev

M. Nizar Ben Neji Faculté des Sciences de Bizerte (FSB)


(

Présenté devant le jury composé de :


M.. Tarek Ben Mena Président

Mme
me Dorsaf Omri Rapporteur

2016 / 2017
Remerciements

Nous tenons à exprimer notre profonde gratitude et nos scincères remerciments à nos
deux encadrant : Monsieur Nizar Ben Neji et Monsieur Karim Fathalah pour leur encadre-
ment, leur disponibilité et leur précieux conseils.
Merci également au corps administratif et à tout le cadre enseignant du département
informatique pour leur efforts durant ces trois années de notre formation à la faculté des
sciences de Bizerte.
Nos vifs remerciments aux membres du jury pour l’honneur qu’ils nous font en acceptant
de juger ce travail.

Du fond du coeur, Merci


Dédicaces

Aucune dédicace ne saurait exprimer mon respect, mon amour éternel et ma considé-
ration pour les sacrifices que vous avez consenti pour mon instruction et mon bien être.je
vous remercie pour tout le soutien et l’amour que vous m’avez donnez.
Merci
À mes chèrs parents
À ma chère soeur
À ma chère famille
À mes professeurs

Safa Mzoughi

Je dédie ce travail à ma famille avec tous mes sentiments de respect, d’amour, de gra-
titude et de reconnaissance pour tous les sacrifices déployés pour m’ élever dignement et
assurer mon éducation dans les meilleurs conditions .
Wiem Turki

2
Table des matières

Introduction générale 8

1 Contexte du projet 9
1.1 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3 Travail à faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4 Méthodologie de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Organisation du rapport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Planification du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2 État de l’art 12
2.1 Irrigation de précision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2 Étude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3 Spécification et Conception 18
3.1 Acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Modélisation des besoins . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2.1.1 Diagramme de cas d’utilisation général . . . . . . . . . . . . 20
3.2.1.2 Gestion des utilisateurs . . . . . . . . . . . . . . . . . . . . 21
3.2.1.3 Gestion des projets d’irrigation . . . . . . . . . . . . . . . . 23
3.2.1.4 Gestion des besoins en irrigation des projets . . . . . . . . 25
3.2.1.5 Diagramme des classes des modèles . . . . . . . . . . . . . 26
3.3 Besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3
4 Réalisation du projet 30
4.1 Environnement logiciel et matériel . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.1.2 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2 Interfaces de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

Conclusion générale 42

Annexe 43

4
Table des figures

1 l’internet des objets au service de l’agriculture . . . . . . . . . . . . . . . . . . 8

1.1 taux de l’utilisation de l’eau par secteur économique . . . . . . . . . . . . . . 10


1.2 évolution de la consommation de l’eau par secteur [1] . . . . . . . . . . . . . 10

2.1 facteurs agissant sur l’évapotranspiration [2] . . . . . . . . . . . . . . . . . . . 14


2.2 l’application IRREY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3 interfaces de l’application IRREY . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 architecture générale de l’application . . . . . . . . . . . . . . . . . . . . . . . 17

3.1 cas d’utilisation général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20


3.2 cas d’utilisation gestion des utilisateurs . . . . . . . . . . . . . . . . . . . . . 21
3.3 cas d’utilisation gestion des projets d’irrigation . . . . . . . . . . . . . . . . . 23
3.4 cas d’utilisation de gestion des besoins d’irrigation des projets en . . . . . . 25
3.5 diagramme des classe des modèles . . . . . . . . . . . . . . . . . . . . . . . 27

4.1 shéma detaillé de la carte waspmote . . . . . . . . . . . . . . . . . . . . . . . 31


4.2 module XBee pro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 carte du waspmote agriculture intelligente . . . . . . . . . . . . . . . . . . . . 32
4.4 routeur Meshlium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 architecture Waspmote-Meshlium . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.6 interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.7 interface de création d’un compte . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.8 page d’acceuil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.9 interface d’ajout d’un projet(1) . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.10 interface d’ajout d’un projet (2) . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.11 interface d’ajout d’un projet (3) . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.12 interface d’ajout d’un projet (4) . . . . . . . . . . . . . . . . . . . . . . . . . . 39

5
4.13 consultation d’un projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.14 consultation détaillé d’un projet . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.15 consultation des besoins d’irrigation d’un projet . . . . . . . . . . . . . . . . . 40
4.16 routeur Meshlium équipé d’une carte sim et d’un module Xbee pro . . . . . . 43
4.17 connexion sur l’interface du routeur Meshlium . . . . . . . . . . . . . . . . . . 44
4.18 architecture Mechlium ZigBee GPRS AP . . . . . . . . . . . . . . . . . . . . . 44

6
Liste des tableaux

3.1 description du cas d’utilisation supprimer un utilisateur . . . . . . . . . . . . . 21


3.2 description du cas d’utilisation modifier un utilisateur . . . . . . . . . . . . . . 22
3.3 description du cas d’utilisation consulter un projet d’irrigation . . . . . . . . . 23
3.4 description du cas d’utilisation ajouter un projet d’irrigation . . . . . . . . . . 24
3.5 description du cas d’utilisation consulter les besoins d’irrigation d’un projet en
utilisant des capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6 description du cas d’utilisation consulter les besoins en irrigation d’un projet
en utilisant les capteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.7 description des attributs de la classe : Projet . . . . . . . . . . . . . . . . . . 28
3.8 Description des attributs de la classe : climat . . . . . . . . . . . . . . . . . . 29

7
Introduction générale

Les agriculteurs d’aujourd’hui font face à un ensemble de défis : une demande mondiale
croissante de nourriture, un climat changeant et une quantité limitée d’eau .
Avec l’évolution de l’Internet des objets (IOT) qui s’est transformé en un concept initial
en solutions matérielles et logicielles réelles, on voit émerger aujourd’hui de nombreuses
applications logicielles dans le secteur agricole qui permettent une rationalisation de l’ex-
ploitation et une augmentation de la productivité comme celle de la traite des vaches, de
l’irrigation, de l’usage des fertilisants ou de l’alimentation des animaux. L’objectif de l’agricul-
ture inteligente donc n’est pas simplement de recueillir des données via des capteurs, mais
aussi de les analyser pour évaluer les interventions ou les changements nécessaires.

F IGURE 1 – l’internet des objets au service de l’agriculture

En Tunisie, l’utilisation de l’IOT pour l’irrigation est devenue indisponsable, pour cela nous
cherchons des meilleurs solutions afin d’améliorer la productivité et la qualité des produits
agricoles avec le moindre gaspillage d’eau possible.
Dans ce contexte, nous allons concevoir et mettre en place un système qui calcule le besoin
réelle des plantes en irrigation (irrigation de précision).

8
Chapitre 1

Contexte du projet

1.1 Organisme d’accueil

OpenDEV est une société de prestation de services qui a été créé en 2012. elle a été
spécialement conçue pour aider les sociétés à améliorer leurs performances, et aussi à les
accompagner dans leur croissance. La couverture fonctionnelle d’OpenDEV est exception-
nelle, ce qui lui permet d’être adapté à toutes sortes d’industries. Elle est en collaboration
avec la faculté des sciences de Bizerte d’où elle recrute chaque année des étudiants sta-
giaires.

1.2 Problématique

"L’eau est source de vie, préservons-la pour notre survie "Monique Moreau

Avec une population mondiale de plus de 7 milliards d’individus et un changement climatique


induisant des pénuries d’eau, L’augmentation des besoins en eau est forcée de croître. Elle
devrait augmenter de 70% d’ici à 2050. La plus forte hausse concerne l’agriculture .
À l’échelle mondiale, l’agriculture irriguée consomme plus de 70% des ressources en eau,
ce qui est énorme. En Tunisie le secrétaire d’état chargé des ressources hydrauliques et
de la pèche, Abdallah Rabhi, a declaré, jeudi 9 février 2017 «L’année dernière a été une
année difficile en termes de pluviométrie. Les apports dans les barrages dont la moyenne
est de l’ordre de 1 milliard 250 mille mètre cube par an, se sont établis l’année dernière
à seulement 654 millions de mètre cube,soit une baisse d’environ 50 % et que 80% des
allocations des eaux sont réservées à l’irrigation »

9
F IGURE 1.1 – taux de l’utilisation de l’eau par secteur économique

F IGURE 1.2 – évolution de la consommation de l’eau par secteur [1]

De ce fait, pour plus de précision et moins de gaspillage l’irrigation de précision basée


sur les réseaux de capteurs est devenu un choix stratégique.

1.3 Travail à faire

Au niveau de ce projet, nous allons concevoir et mettre en place une solution d’irrigation
de précision qui va calculer les besoins réelles des plantes en eau. Le calcul nécessaire
pour la réalisation de cette tâche nécessite des données de l’environnement tel que la tem-
pérature, la radiation solaire, l’humidité et la vitesse du vent. Ces données seront collectées
soit par des web services gratuits soit par des capteurs placés sur les parcelles agricoles.

10
1.4 Méthodologie de travail

On a décider d’utiliser au cours de ce projet le modèle de cycle de vie en cascade : on


ne passe à la phase suivante du plan que lorsque la précédente est validée. Ce modèle est
simple à suivre et il permet d’éviter les retards puisqu’il est facile de visualiser que si une
étape se décale, les suivantes seront impactées.

1.5 Organisation du rapport

Ce présent rapport est organisé en cinq chapitres :


Le premier chapitre « Contexte du projet » est consacré à la présentation du cadre de
notre projet ainsi que l’organisme d’acceuil.
Le deuxième chapitre « Étude de l’art »fera l’objectif de définir l’irrigation de précision et
d’étudier quelques applications d’irrigation existantes .
Le troisième chapitre « Spécification et Conception » porte sur la détermination des prin-
cipaux cas d’utilisation, les besoins fonctionnels, les besoins non fonctionnels et les aspects
conceptuels de notre application.
Le dernier chapitre « Réalisation » présente l’environnement matériel et logiciel que nous
avons utilisé pour la réalisation de notre projet .Il illustre aussi le travail réalisé avec un
ensemble d’interfaces graphiques de l’application.

1.6 Planification du travail

• Compréhension du projet et Préparation de l’environnement de développement : Ins-


tallation et configuration des logiciels à utiliser (16 mars - 26 mars),

• Auto-formation pour la maîtrise du langage de programmation et de l’environnement


de développement (27 mars - 11 avril),

• Spécification des besoins et conception de la solution (11 avril - 16 avril),

• Implémentation de la solution (16 avril - 26 mai),

• Validation et tests des fonctionnalités implémentées (26 mai - 31 mai).

11
Chapitre 2

État de l’art

Ce chapitre a pour but de définir l’irrigation de précision et expliquer quelques notions ma-
thématiques utilisées dans notre projet et aussi d’étudier quelques applications existantes
de calcul des besoins de la plante en eau.

2.1 Irrigation de précision

L’irrigation en général consiste en un apport artificiel d’eau sur des terres agricoles.
Les agriculteurs apportent généralement des quantités d’eau en surplus que les besoins de
la plantes où l’importance de l’irrigation de précision.
L’irrigation de précision est une approche d’irrigation qui consiste à apporter à la plante juste
la quantité d’eau nécessaire, elle peut être estimée selon plusieurs modèles mathématiques
Le standard internationale publié par l’Organisation des nations unies pour l’alimentation
et l’agriculture (FAO) en 1998 est le modèle le plus utilisé puisque il présente une grande
précision qui se base sur les observations climatiques et les attributs associés à la plante
ainsi que le sol pour calculer les quantités nécessaires d’eau pour l’irrigation.
La quantité d’eau nécessaire peut être estimée en appliquant l’équation 2.1 ci-dessous :

BEI = BEP P HS (2.1)

• (BEI) : Quantité d’eau qu’on doit apporter pour la plante.

• (BEP ) : Les besoins de la plante en eau.

12
• (P ) :Pluie efficace (mm).

• (HS) : Les réserves d’eau exploitable par la plante déjà disponible dans le sol.

Les besoins de la plante en eau dépendent essentiellement de l’évapotranspiration

• L’équation ci-dessous 2.2 présente le calcul de l’evapotranspiration réelle :

ET = KS ⇤ KC ⇤ ET0 (2.2)

• (ET ) :Évapotranspiration réelle.

• (KS) :Coefficient qui permet de représenter les facteurs contraignant a de la culture.

• (KC) : Coefficient liée a la plante elle même, sa forme, son niveau d’évolution.

• (ET0 ) : Évapotranspiration de référence qui selon l’équation de penmenn montith est


basée sur les paramètres climatiques : la température de l’air, l’humidité de l’air, l’éner-
gie fournie par le soleil et la vitesse du vent.

• L’équation de penmenn montith ci-dessous 2.3 montre comment on calcul de l’évapo-


transpiration journalière :

900
0.408 (Rn G) + T +273 u2 (es ea )
ET0 = (2.3)
+ (1 + 0.34u2 )
• (ET0 ) : Évapotranspiration de référence (mm/h).

• (Rn ) : Rayonnement net (W.m -2 ).

• (G) :Flux de chaleur du sol (W.m -2 ).

• (T ) : Température moyenne de l’air ( ˚C).

• ( ) :Constante psychométrique (kPa. ˚C -1 ).

• ( ) :Pente de la courbe de la tension de vapeur saturante (kPa. ˚C -1 ).

• (es ) : Tension de vapeur à la température t (kPa).

• (ea ) :Tension de vapeur saturante (kPa).

• (u2 ) : Vitesse moyenne du vent à 2 m (m.s -1 ).

13
F IGURE 2.1 – facteurs agissant sur l’évapotranspiration [2]

Les données climatiques nécessaire pour le calcul de l’évapotranpiration sont générale-


ment collectées à partir d’un réseau de capteur déployé sur les parcelles agricole ou collec-
tées à partir des stations météo.

2.2 Étude de l’existant

En Tunisie, les agriculteurs utilisent plusieurs méthodes et techniques d’irrigation pour


une consommation d’eau beaucoup plus précise, comme par exemple "La couverture in-
tégrale", "Le goutte à goutte" ou bien aussi "L’irrigation localisée" mais ça reste insuffisant
puisqu’ ils apportent à la plante des quantités d’eau en surplus. Pour limiter encore plus le
gaspillage d’eau et plus précisément l’eau d’irrigation, on retrouve plusieurs entreprises et
organisations qui se lancent à la recherche des nouvelles idées et des solutions radicales
pouvant aider les agriculteurs à mesurer la quantité d’eau nécessaire pour l’irrigation de la
plante,ce qu’on appelle l’irrigation de précision.
Notamment l’Institut National des Grandes Cultures a mis au point une application mobile
gratuite nommé IRREY .

14
F IGURE 2.2 – l’application IRREY

Cette application permet aux agriculteurs de maîtriser le processus d’irrigation pour op-
timiser l’utilisation de l’eau en fonction de la nature de la culture , du sol et du climat .
Dans le formulaire d’ajout l’utilisateur indique le type de sa plante , date de la planta-
tion . La latitude et la longitude du champ seront obtenues automatiquement en utilisant la
géolocalisation.
L’application calcule chaque jour la quantité d’eau à irriguer selon les paramètres entrés
dans le formulaire

F IGURE 2.3 – interfaces de l’application IRREY

15
Récemment et avec l’évolution de l’IOT, une startup tunisienne I.T GROUP propose SEA-
BEX qui est un système embarqué equipé de capteurs pour controler l’irrigation selon les
besoins des parcelles . Cette application a permis à la présidente de ce startup de gagner «
Special recognition 1 : Ye ! Star – Female Entrepreneur prix » à The Global Inclusion Awards
2017 ,mais ce produit n’est pas encore disponible sur le marché

2.3 Critique de l’existant

• Les applications existantes qui obtiennent les données de l’environnement à partir d’un
web service météo, certe elles sont gratuites ou peu coûteuses mais elle donnent des
mesures peu précises, en outre elle dependent des webservices météo qu’on peut pas
les controler (peuvent devenir indisponible à tout moment )

• Les applications existantes qui obtiennent les données de l’environnement à partir des
capteurs sont Résultats de recherche performantes (donnent des mesures précises)
mais elle sont payantes et généralement chères

2.4 Solution proposée

On propose dans notre application que les données de l’environnement seront collectées
soit par un noeud de capteur :
le capteur envoie les données périodiquement sous forme d’un flux Json à notre webservice
afin de les enregistrer au base de données de l’application.
soit par un webservice météo :
On récupère les données par l’envoi d’une requête au webservice météo contenant les
coordonnées géographiques du lieu.

16
F IGURE 2.4 – architecture générale de l’application

Conclusion

Ce chapitre nous a permis tout d’abord de comprendre comment calculer la quantité


d’eau nécessaire à la plante en fonction des différents facteurs climatiques .Ensuite on a
étudié quelques applications existantes de calcul des besoins en eau des plantes en Tunisie
.Sur la base de cette étude, nous allons élaborer la spécification et la conception de notre
application.

17
Chapitre 3

Spécification et Conception

En se basant sur les informations collectées dans le chapitre précédent, nous avons
eu une vision plus concrète des besoins de notre application. Le présent chapitre nous
permettra de mieux comprendre le contexte du systéme par l’identification de toutes les
fonctionnalités de notre future application .

3.1 Acteurs

Un acteur est une entité externe qui interagit avec le système


Les acteurs qui interagissent avec notre système sont :

• Administrateur : sera responsable de la gestion des comptes utilisateurs et de la


gestion des projets d’irrigation .

• Client : sera capable de créer un compte, gérer des projets d’irrigation, consulter les
besoins en irrigation de ses plantes .

• Capteurs : des acteurs secondaires qui envoient périodiquement les informations


climatiques nécessaires collectées sur le champ tout au long de la journée

• Webservice météo : acteur secondaire qu’on interroge périodiquement pour obtenir


les informations climatiques nécessaires tout au long de la journée

3.2 Besoins fonctionnels

Nous présentons dans ce qui suit tous les besoins fonctionnels classés par acteur

18
L’administrateur peut :

• Gérer les comptes des utilisateurs :

– Ajouter utilisateur

– Supprimer utilisateur

– Modifier utilisateur

– Consulter utilisateur

• Gérer les projets d’irrigation :

– Ajouter un projet d’irrigation

– Supprimer un projet d’irrigation

– Modifier un projet d’irrigation

– Consulter un projet d’irrigation

• Gérer les besoins en irrigation des projets

– Consulter les besoin en irrigation d’un projet en utilisant un webservice

– Consulter les besoin en irrigation d’un projet en utilisant des capteurs

Le client doit :

• Créer un compte

Le client peut :

• Gérer les projets d’irrigation :

– Ajouter un projet d’irrigation

– Supprimer un projet d’irrigation

– Modifier un projet d’irrigation

– Consulter un projet d’irrigation

• Gérer les besoins en irrigation des projets

– Consulter les besoin en irrigation d’un projet en utilisant un webservice

– Consulter les besoin en irrigation d’un projet en utilisant des capteurs

19
3.2.1 Modélisation des besoins

Pour modéliser les fonctionnalitités de notre application on va utiliser Unified Modeling


Langage (UML) comme langage de modélisation de notre système. UML aide ses utilisa-
teurs à produire différents diagrammes qui forment ensemble une modélisation complète du
système.

3.2.1.1 Diagramme de cas d’utilisation général

Le diagramme de cas d’utilisation décrit les relations entre le système et les acteurs en
déterminant les besoins de l’utilisateur. La figure ci-dessous présente les fonctionnalités of-
fertes pour le client et l’administrateur par le système :

F IGURE 3.1 – cas d’utilisation général

Pour qu’il n’y ait aucune ambiguïté concernant le déroulement des cas d’utilisation nous
allons les détailler.

20
3.2.1.2 Gestion des utilisateurs

F IGURE 3.2 – cas d’utilisation gestion des utilisateurs

• Supprimer un utilisateur

TABLE 3.1 – description du cas d’utilisation supprimer un utilisateur

Nom cas d’utilisation Supprimer un utilisateur


Acteur Administrateur
Pré condition Administrateur authentifié et possède au moins un utilisa-
teur
Post condition Suppression d’un utilisateur
Enchaînement nominal
1. L’administrateur sélectionne l’utilisateur dont il veut
supprimer.

2. L’administrateur valide la suppression de l’utilisateur

3. Le systéme effectue la suppression

21
• Modifier un utilisateur

TABLE 3.2 – description du cas d’utilisation modifier un utilisateur

Nom cas d’utilisation Modifier un utilisateur


Acteur Administrateur
Pré condition Administrateur authentifié et possède au moins un utilisa-
teur
Post condition Modification des données d’un utilisateur
Enchaînement nominal
1. L’administrateur sélectionne l’utilisateur dont il veut
modifier les données.

2. Le systéme affiche les informations relatives de l’utili-


sateur à modifier .

3. L’administrateur remplie et valide le formulaire

4. L’administrateur effectue les modifications souhaitées

5. Le systéme met à jour les informations de l’utilisateur


et affiche un message de confirmation.

Exception Scénario (1) si les champs obligatoires sont vides ou un


format non valide :

• Le systéme affiche un message d’erreur

• Le scénario reprend de (2)

22
3.2.1.3 Gestion des projets d’irrigation

F IGURE 3.3 – cas d’utilisation gestion des projets d’irrigation

• Consulter un projet d’irrigation

TABLE 3.3 – description du cas d’utilisation consulter un projet d’irrigation

Nom cas d’utilisation Consulter un projet d’irrigation


Acteur Client ou Administrateur
Pré condition Acteur authentifié et possède au moins un projet d’irrigation
Post condition Le projet d’irrigation demandé sera affiché
Enchaînement nominal
1. Le système présente les différents projets existants

2. L’acteur choisit un projet d’irrigation à consulter

3. Le systéme affiche le projet d’irrigation

23
• Ajouter un projet d’irrigation

TABLE 3.4 – description du cas d’utilisation ajouter un projet d’irrigation

Nom cas d’utilisation Ajouter un projet d’irrigation


Acteur Client ou Administrateur
Pré condition Acteur authentifié
Post condition Ajout d’un projet d’irrigation
Enchaînement nominal
1. L’acteur demande la création d’un nouveau projet d’ir-
rigation

2. Le systéme affiche un formulaire d’ajout

3. L’acteur remplie et valide le formulaire

4. Le systéme vérifie les informations saisies

5. Le systéme valide la demande d’ajout

Exception Scénerio : si les champs obligatoires sont vides :

• Le systéme affiche un message d’erreur

• Le scénario reprend de (2)

24
3.2.1.4 Gestion des besoins en irrigation des projets

F IGURE 3.4 – cas d’utilisation de gestion des besoins d’irrigation des projets en

• Consulter les besoins en irrigation d’un projet en utilisant un webservice

TABLE 3.5 – description du cas d’utilisation consulter les besoins d’irrigation d’un projet en
utilisant des capteurs

Nom cas d’utilisation Consulter les besoins en irrigation des projets en utilisant
un webservice
Acteur Client - (secondaire) Webservice météo
Pré condition Acteur authentifié et possède au moins un projet où les don-
nées climatiques sont obtenues via un webservice
Post condition L’acteur peut consulter les besoins d’irrigation de ses par-
celles
Enchaînement nominal
1. Le système présente les différents projets existants où
les données climatiques sont obtenues via un webser-
vice

2. L’acteur choisit l’un de ses projets

3. L’acteur consulte les besoins en irrigation de sa par-


celle

25
• Consulter les besoins en irrigation d’un projet en utilisant les capteurs

TABLE 3.6 – description du cas d’utilisation consulter les besoins en irrigation d’un projet en
utilisant les capteurs

Nom cas d’utilisation Consulter les besoins en irrigation des projets en utilisant
les capteurs
Acteur Client - (secondaire) Capteurs
Pré condition Acteur authentifié et possède au moins un projet ou les don-
nées climatiques sont obtenues via des capteurs
Post condition L’acteur peut consulter les besoins d’irrigation de ses par-
celles
Enchaînement nominal
1. Le système présente les différents projets existants où
les données climatiques sont obtenues via des cap-
teurs

2. L’acteur choisit l’un de ses projets

3. L’acteur consulte les besoins en irrigation de sa par-


celle

3.2.1.5 Diagramme des classes des modèles

Le diagramme des classes suivant modélise tous les modèles et les attributs qui les
décrivent, il est obtenu par reverse engineering avec Django extension.

26
F IGURE 3.5 – diagramme des classe des modèles

27
• Classe Projet

TABLE 3.7 – description des attributs de la classe : Projet

Attributs Description
argile Taux d’argile dans le sol en pourcentage
date_cre Date de plantation
date_rec Date de récolte prévue
desc Description du projet
gravie Taux de graviés dans le sol en pourcentage
kc_in Coefficients liéé à la première phase de la croissance d’une
plante
kc_mid Coefficients liéé à la phase du milieu de la croissance d’une
plante
kc_end Coefficients liéé à la phase finale de croissance d’une
plante
lat Latitude du lieu du projet
lng Longitude du lieu du projet
nom_plante Nom de la plante
nom_projet Nom du projet
sable Taux de sable dans le sol en pourcentage
surface Surface de la parcelle du projet
type Choix de la source des données climatiques (capteurs ou
webservice )

28
• Classe climat

TABLE 3.8 – Description des attributs de la classe : climat

Les attributs Description


dateweather Date des données climatiques obtenues
evapo Valeur de l’évapotranspiration calculée
humidite Valeur de l’humidité
radiation Valeur de la radiation solaire
temp_max Température minimale de la journée
temp_min Température maximale de la journée
vent Vitesse du vent

3.3 Besoins non fonctionnels

Ce sont des besoins permettant d’améliorer la qualité des services du site comme la
convivialité, l’ergonomie des interfaces et l’amélioration du temps de réponse. Parmi ces
besoins,on cite :

• Sécurité : le site doit obligatoirement fournir une garantie de sécurité aux utilisateurs.

• Performance et fiabilité : l’application doit fonctionner dans les meilleurs conditions


sans s’interrompre

• Ergonomie : l’application doit disposer d’une certaine clarté et une simplicité d’utilisa-
tion.

Conclusion

Dans ce chapitre nous avons énuméré les besoins fonctionnels et non fonctionnels de
notre application et nous avons fait une étude des différents cas d’utilisation de notre sys-
tème et définie nos modéles.

29
Chapitre 4

Réalisation du projet

Dans ce chapitre nous présentons l’environnement matériel et logiciel ensuite nous pré-
sentons quelques captures d’écran démontrant les fonctionnalités de notre application.

4.1 Environnement logiciel et matériel

4.1.1 Environnement matériel

L’équipement mis à notre disposition pour la réalisation du projet a part d’un ordinateur
portable :

• Carte Libelium Waspmote

Waspmote se présente sous la forme d’une carte open source. Peut s’y connecter divers
modules de détection et de mesure ainsi que différents modules radio sans fil citons par
exemple 802.15.4/ZigBee, Wi-Fi, Global System for Mobile (GSM)/General Packet Radio
Service (GPRS), 3G, Sigfox mais plus généralement au format Xbee .

30
F IGURE 4.1 – shéma detaillé de la carte waspmote

Les modules Xbee utilisés répondent à la norme 802.15.4(ZigBee) de l’Institute of Elec-


trical and Electronics Engineers (IEEE), le protocole de communication Zigbee présente un
avantage majeur vu que cette technologie est peu consommatrice en énergie.
Dans notre projet on va utiliser le module Xbee PRO qui a une plus longue portée par rap-
port à Xbee.
Sur les modules Zigbee (fréquence 2.4 GHz) XBee Pro a une portée qui peut atteindre
7000m tandis que XBee a une portée maximale qui avoisine les 500m selon les modèles
[3].

F IGURE 4.2 – module XBee pro

31
• La carte agriculture

Elle est spécialement conçu pour surveiller les processus et les cultures agricoles. Le pan-
neau des capteurs agricoles pour waspmote permet la connexion de 14 capteurs météoro-
logiques différents en même temps. dans notre projet on a utilisé 5 capteurs : la température
de l’air, l’humidité de l’air, l’humidité du sol,vitesse du vent et rayonnement solaire.

F IGURE 4.3 – carte du waspmote agriculture intelligente

• Gateway : Meshlium

Meshlium est un routeur Linux qui fonctionne comme la passerelle du capteur Waspmote
réseaux. Il peut contenir 5 interfaces radio différentes :

– WiFi 2.4GHz

– WiFi 5GHz

– 3G ou GPRS

– Bluetooth

– XBee ou LoRa

F IGURE 4.4 – routeur Meshlium

32
Pour notre projet on va utiliser l’interface XBee pour recevoir les données des capteurs
envoyées par Waspmote et l’interface GPRS pour envoyer les données obtenues vers notre
web service pour les stocker dans la base de données

F IGURE 4.5 – architecture Waspmote-Meshlium

4.1.2 Environnement logiciel

Après avoir présenté les moyens matériels mis à notre disposition dans le cadre de
réalisation de ce projet , nous présentons les logiciel choisis et nos motifs :

• Langage :Python

Python est un langage de programmation puissant,moderne et facile à apprendre et à


utiliser . Il contient plusieurs fonctions mathématiques prédéfinies qui peuvent nous

33
faciliter les calculs.De plus il est adéquat pour les Webservice ayant une interfaçage avec
les réseaux de capteurs

• Framework : Django

Django est un framework web Python , permettant de développer rapidement des appli-
cations web,open source, avec moins de code. Il a une grande communauté des dévelop-
peurs et supporte l’architecture Modèle vue contrôleur (MVC) plutôt Modèle vue contrôleur
(MVT)

• Environnement de travail : PyCharm Community Edition

PyCharm Community Edition est l’édition gratuite et open source que propose py-
charm qui est un Integrated Development Environment (IDE) utilisé pour programmer en
Python.Cette édition offre la coloration syntaxique, l’auto-complétion du code, la vérifica-
tion de code en direct et un débogueur graphique, La gestion des environnements virtuels
(VirtualEnv). Il supporte aussi du HTML.

• Base de données Postgresql

PostgreSQL est un système de gestion de base de données relationnelle et objet. Il


propose de très nombreuses fonctionnalités, tout en respectant les standards Structured
Query Language (SQL)( SQL 92, 99 et la norme SQL2003). Et aussi il intègre plusieurs
langages embarqués (Python, Java) on peut y ajouter plusieurs extensions

• Webservice : Django Rest

Django Rest Framework est une extension de Django pour développer rapidement des
webservices REST. Le grand avantage de REST est qu’il permet de requêter le webser-
vice avec de simples requêtes HTTP. Les requêtes GET vont permettre de récupérer des
ressources, les requêtes POST d’en modifier, les requêtes DELETE d’en supprimer[4].

34
• Tâches asynchrones : Celery

celery est le plus utilisé dans le monde de Django pour gérer des tâches asynchrones
parmi ses avantages c’est de planifier les tâches et les centraliser par celery via un broker
par exemple dans notre cas Redis

• Service web météo : OpenWeatherMap

OpenweatherMap est un web service de météo gratuit. Pour avoir la météo il suffit d’ap-
peler son URL en précisant les coordonnées géographiques du lieu (Latitude et Longitude)
ou le nom d’une ville par exemple .

• Google Maps JavaScript API

Google Maps JavaScript API pour afficher des cartes géographiques et avec diffé-
rentes fonctionnalités possible par exemple : (dessiner des formes sur les cartes , géocoder
une adresse , chercher une adresse)

35
4.2 Interfaces de l’application

• Authentification

Comme toute application, la sécurité d’accés est nécessaire.La figure ci-aprés donne l’in-
terface à travers laquelle l’utilisateur s’identifie pour accéder au menu principal pour cela il
saisit son login et son mot de passe.

F IGURE 4.6 – interface de connexion

Le client peut créer un compte s’il n’est pas inscrit

F IGURE 4.7 – interface de création d’un compte

36
• Interface d’accueil

Une fois authentifié, une interface d’acceuil s’affiche à l’utilisateur pour lui proposer les fonc-
tionnalités de l’application.

F IGURE 4.8 – page d’acceuil

• Ajouter un projet d’irrigation

Lorsque l’utilisateur choisi « Ajout d’un projet d’irrigation » du premier écran un formulaire
s’affiche.
Tout d’abord il faut choisir entre la création d’un projet avec un service payant (utilisant
les capteurs) ou gratuit (utilisant un webservice OpenWeather) comme le montre la figure
ci-dessous.

F IGURE 4.9 – interface d’ajout d’un projet(1)

37
Aprés, le client remplis les champs concernant la description générale du projet, la des-
cription de la plante et la description du sol comme l’indique la figure ci-dessous.

F IGURE 4.10 – interface d’ajout d’un projet (2)

38
F IGURE 4.11 – interface d’ajout d’un projet (3)

Ensuite, une carte s’affiche pour que le client indique l’emplacement de son champ . le
client dessine ensuite sur la carte la parcelle à irriguer

F IGURE 4.12 – interface d’ajout d’un projet (4)

39
• Consulter les projets

L’utilisateur peut consulter tout ses projets en cours en cliquant sur « Consulter les projets».

F IGURE 4.13 – consultation d’un projet

L’utilisateur peut aussi afficher toutes les informations en détails d’un projet sélectionné

F IGURE 4.14 – consultation détaillé d’un projet

• Consulter les besoins d’irrigation des projets

Le client peut aussi consulter les besoins d’irrrigation de chaque parcelle comme le
montre la figure ci-dessous

F IGURE 4.15 – consultation des besoins d’irrigation d’un projet

40
Conclusion

Dans ce chapitre nous avons détaillé l’environnement matériel et logiciel de notre projet
ainsi les fonctionnalités de notre application à travers des captures d’écran.

41
Conclusion et Perspectives

Notre projet consiste en la conception et le développement d’une application web pour


calculer les besoins réelles de la plante en eau . En effet l’accomplissemet de cette tâche a
necessité tout d’abord la compréhension du concept d’irrigation de présicion .Ensuite nous
avons réalisé une étude des applications existantes sur le marché avant de passer à la
phase de la spécification et la conception.Enfin nous avons terminé par la phase de réalisa-
tion.

Nous avons rencontré des contraintes à la phase de développement. En effet nous avons
pris beaucoup de temps à nous familiariser avec l’environnement matériel et logiciel puisque
c’etait la première fois qu’on manipule des capteurs et qu’on utilise le language de program-
mation python et une nouvelle infrastructure de développement.

En outre, le stage quotidien au sein de la société a été une occasion unique pour épa-
nouir nos capacité de communication dans un environement professionnel. Il nous a permis
d’approfondir nos connaissances théoriques,acquises tout le long de notre formation, par la
pratique des nouvelles technologies.

Toutefois ,nous espérons de rendre notre application disponible sur quelques plate-
formes mobile pour plus de flexibilité et d’accessibilité pour le cilent.Il est aussi possible
d’ajouter quelques nouveautés comme le pilotage du champ à distance (arroser son champ
).

Nous espérons enfin que le travail que nous avons effectué a été à la hauteur.

42
Annexe

Configuration Meshlium

F IGURE 4.16 – routeur Meshlium équipé d’une carte sim et d’un module Xbee pro

43
Le gateway Meshlium fournit le système Meshlium Manager comme un outil simple pour
configurer les interfaces de communication.l’acéss sur le passerelle se fait sur l’adresse IP
suivante 10.10.10.1 .

F IGURE 4.17 – connexion sur l’interface du routeur Meshlium

on choisie l’architecture qu’on va adapter

F IGURE 4.18 – architecture Mechlium ZigBee GPRS AP

44
On définie les paramètres de l’opérateur mobile choisi. Il existe une liste avec certaines
configurations initiales selon le pays et l’opérateur. on saisie les informations requises pour
se connecter (Nom d’utilisateur, Mot de passe, Téléphone, Init, Composer) et on ajoute le
code PIN de la carte SIM utilisée (la laisser vide s’il n’y a pas de code PIN). Après avoir
configuré les paramètres GPRS et avant de les sauvegarder, on peut tester la connection
via le bouton "Connect now". Il essaiera de se connecter à votre opérateur et d’obtenir une
adresse IP valide. Une fois la connexion établie, la passerelle par défaut de la machine est
changée afin que tous les clients connectés via Wifi atteindra l’Internet via GPRS.7

les trames ZigBee sont stockées dans le fichier local et les bases de données avec le
préfixe Trame, on crée notre propre algorithme de capture et de stockage. On crée notre
algorithme de prompt (curl) sur le fichier ," zigbeeStorer.c ". on accède au Meshlium via la
ligne de commande (ssh).

45
46
Netographie

[1] Ministère de l’Environnement et du Développement Durable. Gestion durable des res-


sources en eau. <http://www.environnement.gov.tn/fileadmin/medias/
pdfs/observatoire/rapp_gestion_durable_ress_eau.pdf>.

[2] Bruce Smith. A quoi correspond l’Évapotranspiration ? <https://www.


campbellsci.fr/blog/evapotranspiration-101>.

[3] Xbee ou xbee pro ? <http://www.telecom-robotics.org/2013/07/


pour-un-module-zigbee-xbee-ou-xbee-pro/>.

[4] Créez une api rest grâce au django rest framework ! <https://blog.juanwolf.fr/
programmation/creer-api-rest-django-rest-framework>.

47
Glossaire

FAO Organisation des nations unies pour l’alimentation et l’agriculture. 12

GPRS General Packet Radio Service. 30, 32, 33

GSM Global System for Mobile. 30

IDE Integrated Development Environment. 34

IEEE Institute of Electrical and Electronics Engineers. 31

IOT Internet des objets. 8, 16

MVC Modèle vue contrôleur. 34

MVT Modèle vue contrôleur. 34

SQL Structured Query Language. 34

UML Unified Modeling Langage. 20

48

Vous aimerez peut-être aussi