Académique Documents
Professionnel Documents
Culture Documents
Intitulé
Au sein de
Année universitaire
2017/2018
Dédicace
A mon père
qui m’a comblé de son soutien et m’a voué un amour inconditionnel. Tu es pour moi un
exemple de courage et de sacrifice continu. Que cet humble travail témoigne mon
affection, mon éternel attachement et qu’il appelle sur moi ta continuelle bénédiction.
Akkari Aymen
1
Dédicace
A mes Amies
Pour le soutien que vous m’aviez offert.
A qui était la cause de mon bonheur une spéciale dédicace a cette personne
qui compte déjà énormément pour moi, et pour qui je porte beaucoup de
respect.
Oueslati Rabeb
2
Remerciements
Nous tenons à exprimer notre profonde gratitude et nos scincères remerciments à notre
encadrant : Monsieur OUELD ELHASSAN MOHAMED pour son encadrement, ces avis
éclairés et ces judicieux conseils. Ainsi au toute l’équipe de centre d’innovation elghazela
et 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 .
3
Table des matières
Introduction 9
1 Cadre du projet 10
1.1 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Problématique et solutions . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Travail à faire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Méthodologie de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 Planification du travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Etude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.6.1 les applications consacrées pour les plantes . . . . . . . . . . . . . 12
1.6.2 les applications consacrées pour les Volailles . . . . . . . . . . . . . 13
1.7 Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.8 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.8.1 Compartiment des bétails . . . . . . . . . . . . . . . . . . . . . . . 15
1.8.2 Compartiment des volaille . . . . . . . . . . . . . . . . . . . . . . . 16
1.8.3 Controle de l’irrigation . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.9 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2 Specification et Conception 19
2.1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.1 Besoins Fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1.2 Besoins non fonctionnels : . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Identification des acteurs et des cas d’utilisation . . . . . . . . . . . . . . . 20
2.2.1 Identification des Acteurs . . . . . . . . . . . . . . . . . . . . . . . 20
4
Table des matières 5
Conclusion générale 46
Netographie 47
Table des figures
6
Table des figures 7
8
Introduction Générale
De nos jours, les agriculteurs font contre un groupe de défis : une envie mondiale de
nourriture, un climat altérant et une quantité restreinte d’eau.
Avec l’existence de l’internet des objets (IOT) qu’on remarque émerger plusieurs domaines
parmi les quels le marché agricole.
L’idée à terme est d’avoir un contrôle total sur tous les compartiments de la ferme : aug-
menter ou diminuer la température, irriguer s’il y a un manque d’humidité dans le sol . . .
A priori, chaque agriculteur pourra à l’avenir être relié au Cloud qui analysera les données
provenant des capteurs installés au niveau des compartiments de la ferme.
Ce projet vise l’étude, la conception et l’implémentation d’une ferme intelligente, un en-
semble de capteurs permet la collecte de données et les transférer à une base de données
et d’analyse à travers des canaux de communication.
Après quatre mois passé au sein du Centre d’Innovation, nous produisons ce document qui
s’articule autour de trois chapitres qui sont les suivants :
— Le premier chapitre « Cadre du projet » est consacré à la présentation du cadre
de notre projet ainsi que l’organisme d’accueil et aussi fera l’objectif de définir la
gestion de tous les compartiments de la ferme et d’étudier quelques applications de
gestion de ferme existantes.
— Le deuxiéme chapitre « Spécification et Conception » porte sur la détermination
des principaux cas d’utilisation, les besoins fonctionnels, les besoins non fonctionnels
et les aspects conceptuels de notre application.
— Le dernier chapitre « Réalisation et Tests du projet » présente l’environne-
ment 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’ap-
plication.
Nous clôturons le présent rapport par «la conclusion» dans laquelle nous récapitulons
tout le travail réalisé dans le cadre de notre projet, puis nous terminons par quelques
perspectives qui peuvent être étudiées dans le cadre d’une extension de notre projet de fin
d’études.
9
Chapitre 1
Cadre du projet
10
1.3. Travail à faire 11
— 14 Mai - 18 Mai
Validation et test .
— 1 Mars - 16 Juin
Réduction du rapport .
équipé par un système de ventilation. Pour l’aspect sécurité on va installer une caméra de
surveillance.
1.9 Conclusion
Ce chapitre nous a permis tout d’abord de comprendre les conditions pour avoir une
haute qualité de productivité et de vie de bétails et de volailles et les besoins en eau des
plantes .Ensuite on a étudié quelques applications existantes de calcul des besoins en eau
des plantes et de contrôle de logement et conditions de vie de volailles et de bétails en
Tunisie. Sur la base de cette étude, nous allons élaborer la spécification et la conception
de notre application.
Chapitre 2
Specification et Conception
L’analyse du sujet et la collecte des informations nous a permis d’encercler les fonc-
tionnalités du système que doivent être à la disposition de l’agriculteur.
Les besoins sont classes en fonctionnels et non fonctionnels.
Nous présentons dans ce qui suit tous les besoins fonctionnels classés par acteur .
L’utilisateur peut :
Gérer le compte :
— Créer un compte
— Supprimer un compte
— Modifier un compte
— Consulter un compte
Gérer la ferme :
— Gérer les volailles
— Gérer les betails
— Gérer l’irrigation
19
2.2. Identification des acteurs et des cas d’utilisation 20
Ce sont des besoins permettant d’améliorer la qualité des services du projet comme la
convivialité, l’ergonomie des interfaces et l’amélioration du temps de réponse. Parmi ces
besoins, on cite :
— Sécurité : l’application 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’uti-
lisation.
Le diagramme de cas d’utilisation est exploité afin de permettre une modélisation entière
du Comportement fonctionnel du système, comme le démontre la figure 2.1 . Il permet
d’identifier les acteurs et présenter leurs relations avec le système.
<
Figure 2.1 – Diagramme de cas d’utilisation général
2.2. Identification des acteurs et des cas d’utilisation 22
Gérer le Compte :
Description textuelle :
Supprimer un compte :
— Nom de cas d’utilisation : Supprimer un compte
— Acteur : Agriculteur
— Pré-condition : L’agriculteur doit s’authentifier
— Post-condition : Suppression d’un compte
Enchaînement nominal :
1. L’agriculteur sélectionne le compte dont il veut supprimer
2. L’agriculteur valide la suppression du compte
3. Le système effectue la suppression
Modifier un compte :
— Nom de cas d’utilisation : Modifier un compte
2.2. Identification des acteurs et des cas d’utilisation 23
— Acteur : Agriculteur
— Pré-condition : L’agriculteur doit s’authentifier
— Post-condition : Modificationde donées d’un compte
Enchaînement nominal :
1. L’agriculteur sélectionne le comte dont il veut modifier les données.
2. Le système affiche les informations relatives de l’utilisateur à modifier
3. L’agriculteur remplie et valide le formulaire
4. L’agriculteur effectue les modifications souhaitées
5. Le système met à jour les informations de l’utilisateur et affiche un message de
confirmation.
Exception : 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)
Gérer la ferme :
Gérer l’irrigation :
Modifier les données de l’irrigation :
— Nom de cas d’utilisation : Modifier les données de l’irrigation
— Acteur : Agriculteur
— Pré-condition : L’agriculteur doit s’authentifier
— Post-condition : Modifier un ou plusieurs champs de données
Enchaînement nominal :
1. L’agriculteur sélectionne le champ dont il veut modifier
2. L’agriculteur valide la modification du champ
3. Le système effectue la modification
Pour avoir une vue séquentielle globale sur les principales fonctionnalités de notre sys-
tème :
2.3 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
système et définit nos modèles.
Chapitre 3
Dans ce chapitre nous présentons l’environnement matériel et logiciel utilisé dans notre
projet ensuite nous présentons quelques captures d’écran montrant les fonctionnalités du
notre projet.
28
3.1. Environnement logiciel et matériel 29
— Capteur de Gaz MQ5 : Un capteur de gaz est un dispositif qui détecte la pré-
sence de gaz dans une zone. Ce capteur interagit avec un gaz pour mesurer sa
concentration. Chaque gaz a une tension de claquage unique, c’est-à-dire le champ
électrique auquel il est ionisé. Le capteur identifie les gaz en mesurant ces tensions.
La concentration du gaz peut être déterminée en mesurant la décharge de courant
dans l’ appareil. Le capteur de gaz MQ5 détecte la présence de divers gaz tels que
3.1. Environnement logiciel et matériel 31
— Pompe à eau submersible : est une pompe qui permet la mise en mouvement
de l’eau
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 :
— Raspbian : est un système d’exploitation libre et gratuit basé sur Debian GNU/Linux
optimisé pour fonctionner sur un Raspberry Pi.
— Python : est un langage de programmation objet, multi-paradigme et multiplate-
formes. Il favorise la programmation impérative structurée, fonctionnelle et orientée
3.1. Environnement logiciel et matériel 33
objet. Il est doté d’un typage dynamique fort, d’une gestion automatique de la
mémoire par ramasse-miettes et d’un système de gestion d’exceptions .
— PuTTY : est un émulateur de terminal doublé d’un client pour les protocoles SSH,
Telnet, et TCP brut. Il permet également des connexions directes par liaison série
RS-232 .
— NANO : nano est un éditeur de texte pour les systèmes Unix et dérivés, basé sur
la bibliothèque ncurses et publié sous licence GNU GPL. C’est un clone libre de
Pico, l’éditeur de texte du logiciel de courrier électronique Pine. GNU nano s’efforce
de reproduire les fonctionnalités et la simplicité de l’interface de Pico, mais sans
conserver la dépendance forte envers Pine qu’impose Pico.
— Ubidots : offre aux développeurs une plate-forme qui leur permet de capturer facile-
ment les données des capteurs et de les transformer en informations utiles. Utilisez
la plate-forme Ubidots pour envoyer des données au cloud à partir de n’importe
quel appareil connecté à Internet. Vous pouvez ensuite configurer des actions et des
alertes en fonction de vos données en temps réel et déverrouiller la valeur de vos
données via des outils visuels. Ubidots propose une API REST qui vous permet
de lire et d’écrire des données sur les ressources disponibles : sources de données,
variables, valeurs, événements et informations. L’API prend en charge HTTP et
HTTPS et une clé API est requise .
— Connexion bureau à distance : est un composant du système d’exploitation Win-
dows de Microsoft. Il s’agit d’un logiciel client de bureau à distance pour les services
et protocoles RDP, TSE ou RDS qui permet d’effectuer de la télé-administration ou
du télétravail à l’échelle d’un réseau local (LAN) ou distant (WAN).
— Win32 disk Imager : Win32DiskImager est un programme Windows ouvert pour
enregistrer ou restaurer des images à partir de lecteurs amovibles tels que clés USB,
cartes mémoire SD, etc. Il peut être utilisé pour écrire des images de démarrage ou
de mise à jour (yocto sdcard image) sur un périphérique Flash SD ou USB appareil
flash. Par conséquent, il est extrêmement utile pour le développement intégré.
— Advanced IP Scanner : Advanced IP Scanner 2.5 est un scanner de réseau gratuit,
rapide et puissant avec une interface conviviale. En quelques secondes, Advanced
IP Scanner peut localiser tous les ordinateurs de votre réseau local filaire ou sans
fil et effectuer une analyse de leurs ports. Le programme fournit un accès facile à
diverses ressources réseau, telles que HTTP, HTTPS, FTP et les dossiers partagés.
Il vous permet également de détecter toutes les adresses IP sur votre réseau Wi-Fi.
— Fritzing Fritzing est une initiative open source [2] pour développer des logiciels de
CAO amateur ou de loisir pour la conception de matériel électronique, pour soutenir
les concepteurs et les artistes prêts à passer d’expérimenter avec un prototype à
construire un circuit plus permanent
3.2. Préparation de l’environnement de travail 34
3. Interconnexion de la carte à un PC :
2. Interface d’accueil
Une fois authentifié, une interface d’acceuil s’affiche à l’agriculteur pour lui proposer
les fonctionnalités de l’application.
3. Création de dispositif
Une fois l’application est connecter avec la carte nous commençons à créer des
valeurs pour les données que nous prenons de la carte .
Pour la facilité de l’utilisation on créer trois tableau de borad pour les trois batiments
3.3 Développement
3. Montage de lumiére
Pour ce montage nous utilisons un led est on branche ca borne negative avec le GND
de la carte et la borne positive avec le GPIO 18 .
6. Montage de camaera
Pour ce montage nous utilisons une camera raspberry Rev1.3 et on a branche direc-
tement avec le port de camera sur la carte .
7. Produit final
Pour ce montage nous présentons le produit final du projet qui contient toutes les
montagues que nous voyons avant .
3.5 Conclusion
Dans ce chapitre, nous avons fourni un rapport détaillé sur nos choix techniques et
notre environnement de travail. Par la suite, nous avons présenté les détails de mise
en œuvre.
Conclusion et perspectives
46
Netographie
https ://en.wikipedia.org/wiki/Raspberry_Pi
https ://en.wikipedia.org/wiki/Light-emitting_diode
https ://fr.wikipedia.org/wiki/Photor%C3%A9sistance
https ://fr.wikipedia.org/wiki/Raspbian
https ://www.programmableweb.com/api/ubidots
https ://en.wikipedia.org/wiki/PuTTY
https ://en.wikipedia.org/wiki/Python_(programming_language)
https ://fr.wikipedia.org/wiki/Connexion_bureau_%C3%A0_distance
https ://fr.wikipedia.org/wiki/GNU_nano
https ://fr.wikipedia.org/wiki/Pompe_%C3%A0_eau
https ://goo.gl/FZ2Ahc
https ://en.wikipedia.org/wiki/Fritzing
47