Vous êtes sur la page 1sur 79

Remerciements

A l’issue de notre modeste travail.Nous tenons à exprimer nos sincères et chaleureux remerciements
envers toutes personnes ayant contribué de près ou de loin à la réussite de ce stage. Nous tenons à
remercier en premier lieu toute l’équipe pédagogique de l’École Supérieure des Sciences Appliquées et
de Management (SESAME). Il nous est très agréable de remercier vivement la direction de la société
CANDY-LED pour nous avoir accueillie au sien de son organisme tout le long du stage et nous
tenons à remercier tout particulièrement Monsieur Anouar Belkadhi pour ces directives précieux
durant tout le stage. Nous tenons également à exprimer nos sentiments de gratitude à Monsieur
Dhafer Mezghani pour l’aide qui’il nous a apportée, pour sa disponibilité et son implication
pour le bon déroulement du travail. Finalement, aucun mot ne peut exprimer, à votre égard, notre
gratitude et notre entière reconnaissance.

i
Table des matières

Introduction générale 1

1 Cadre Général du Travail 2


1.1 Organisme d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Présentation de projet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 Méthodologie adoptée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Description de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Etude préalable 7
2.1 L’internet des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.2 Description d’élevage des escargots . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3 Relation entre IoT et l’élevage des escargots . . . . . . . . . . . . . . . . . . . . . . . 10
2.4 Etude du système de contrôle des escargots . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1 Etude de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1.1 Description de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4.1.2 Critiques de l’existant . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4.2 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.3 Solution proposée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Analyse et spécification des besoins 16


3.1 Spécification des besoins fonctionnels et non fonctionnels . . . . . . . . . . . . . . . . 17
3.1.1 Les besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.2 Les besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Modélisation des besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 Choix méthodologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.3 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . 19
3.2.3.1 Diagramme de cas d’utilisation « Commander à distance » . . . . . 20

ii
3.2.3.2 Diagramme de cas d’utilisation « Planification d’arrosage » . . . . . 21
3.2.4 Diagramme de séquence global . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 Conception 23
4.1 Architecture globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Conception de l’application web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 Conception de système d’élevage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 La carte Raspberry Pi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1.1 Les Composants de la carte RPI B+ . . . . . . . . . . . . . . . . . . 29
4.3.2 Choix de matériels : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.2.1 Capteur DHT11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.2.2 Le capteur de lumière « TSL2591 » . . . . . . . . . . . . . . . . . . 30
4.3.2.3 Le capteur anémomètre LEXCA003 . . . . . . . . . . . . . . . . . . 31
4.3.2.4 Pompe à eau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.2.5 Ventilateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.2.6 Motor Shield L298N . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.3 La communication avec la carte RPI . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.3.1 Diagramme de classe . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.3.3.2 Diagramme de séquence « Collecter les données » . . . . . . . . . . 37
4.3.3.3 Diagramme de séquence « Commander les actionneurs » . . . . . . . 37
4.3.3.4 Diagramme de séquence « Accéder à la BD » . . . . . . . . . . . . . 38
4.3.4 Conception SA-RT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.4.1 La méthode SA-RT . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.3.4.2 Diagramme de contexte de donnée . . . . . . . . . . . . . . . . . . . 39
4.3.4.3 Affectation des valeurs de la température . . . . . . . . . . . . . . . 40
4.3.4.4 Refroidissement du parc . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.3.4.5 Mode planifié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.3.4.6 Mode manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.4.7 Traitement des signaux . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.3.4.8 Envoyer des données . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

iii
5 Réalisation et Tests 46
5.1 Environnement de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.1 Environnement matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.2 Environnements logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.2.1 Brackets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.2.2 EasyPhp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.2.3 Filezilla server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.1.2.4 GNU Linux Raspbian Jessie . . . . . . . . . . . . . . . . . . . . . . 48
5.1.2.5 Python . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1.2.6 Prise en main à distance du Raspberry PI . . . . . . . . . . . . . . 48
5.2 Test et validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
5.2.1 La commande à distance via l’application Web . . . . . . . . . . . . . . . . . 49
5.2.2 Le serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.3 Présentation des interfaces de l’application web . . . . . . . . . . . . . . . . . 50
5.2.3.1 Interface « Dashboard » . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.2.3.2 Interface « Accueil » . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2.3.3 Interface Commande . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.2.3.4 Interface « Historique » . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2.4 Construction matérielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
5.2.4.1 Détection de température et humidité . . . . . . . . . . . . . . . . . 55
5.2.4.2 Installation de ventilateur . . . . . . . . . . . . . . . . . . . . . . . 56
5.2.4.3 Plateforme d’arrosage . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.2.4.4 Détection de vitesse du vent . . . . . . . . . . . . . . . . . . . . . . 57
5.2.4.5 Module lumière . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.4.6 Plateforme de nutrition . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.2.4.7 Présentation du parc . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Conclusion générale 62

Webographie 64

Annexes 66

iv
Table des figures

1.1 Modèle en cascade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1 Architecture d’un réseau internet des objets[4] . . . . . . . . . . . . . . . . . . . . . . 8


2.2 Communication avec un système du commande . . . . . . . . . . . . . . . . . . . . . 10
2.3 Elevage des escargots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.4 Solution proposée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.1 Diagramme de cas d’utilisation global . . . . . . . . . . . . . . . . . . . . . . . . . . 20


3.2 Diagramme de cas d’utilisation d’utilisation « Commander à distance » . . . . . . . 21
3.3 Diagramme « Planification d’arrosage » . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Diagramme de séquence global . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.1 Architecture globale de projet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25


4.2 Les différents couches de système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3 La communication au niveau de la couche data. . . . . . . . . . . . . . . . . . . . . . 27
4.4 interaction avec la RPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.5 LE capteur DHT11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.6 capteur TSL2591. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.7 courbe de la variation de luminosité en fonction de résistance. [8] . . . . . . . . . . . 31
4.8 Un capteur anémomètre LEXCA003. . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.9 Pompe à eau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.10 Pompe à eau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.11 Ventilateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.12 Motor Shield L298N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.13 Interaction avec la RPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.14 Diagramme de classe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
4.15 interagir de capteur avec la RPI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.16 Connexion RPI avec les actionneurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.17 Connexion à la BD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.18 Diagramme de contexte de donnée . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

v
4.19 Affectation des valeurs de la température . . . . . . . . . . . . . . . . . . . . . . . . 40
4.20 Organigramme de refroidissement du parc . . . . . . . . . . . . . . . . . . . . . . . . 41
4.21 Mode planifié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.22 Mode manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.23 Gérer et traiter les signaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.24 chronogramme "Transférer des données". . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1 La synoptique de la commande à distance. . . . . . . . . . . . . . . . . . . . . . . . . 49


5.2 Interface Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
5.3 Interface Accueil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
5.4 Interface Commande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.5 Activer Désactiver la commande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.6 Table arrosage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.7 Table Planification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
5.8 Interface Historique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.9 Téléchargement d’historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.10 Composition générale du montage électronique . . . . . . . . . . . . . . . . . . . . . 55
5.11 Montage électronique de détection température et humidité . . . . . . . . . . . . . . 55
5.12 Montage électronique de ventilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.13 Montage électronique de pompe à eau . . . . . . . . . . . . . . . . . . . . . . . . . . 56
5.14 Montage électronique d’anémomètre . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.15 Montage Carte RPI et une LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.16 Montage électronique de vibreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
5.17 Montage électronique de vibreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
5.18 Réalisation finale du parc des escargots . . . . . . . . . . . . . . . . . . . . . . . . . . 60

vi
Liste des abréviations

— BD = Base de Données

— GNU = GNU’s Not UNIX

— GPIO = General Purpose Input/Output

— HTML = Hypertext Markup Language

— HTTP = HyperText Transfert Protocol

— IDE = Integrated Development Environment

— IoT = Internet Of Things (internet des objets).

— JSON = JavaScript Object Notation

— RFID = Radio Frequency Identification

— RPI = Raspberry PI

— SD = Secure Digital

— SGBD = Système Gestion Base de Données

— SQL = Structured Query Language

— SoC = System on Chip

vii
Introduction générale

Dès les temps préhistoriques, les humains ont consommé de la chair d’escargot. Cette chair
est riche en protéines et en fer mais pauvre en lipides. Elle contient par ailleurs presque tous les
acides aminés indispensables au corps humain.[1]
Les escargots ne sont pas bons qu’à manger puisque leur bave est riche en collagène et il a des
propriétés régénérantes et réparatrices pour les cellules de la peau. Ces bienfaits ont été repérés par
l’industrie pharmaceutique qui s’en sert pour la fabrication des produits cosmétiques. En outre, une
étude récente a également montré que les substances glandulaires présentes dans la chair d’escargot
comestible provoquaient l’agglutination de certaines bactéries, phénomène pouvant permettre de
combattre toute une variété de maladies, dont la coqueluche.
Il est donc important d’encourager l’élevage des escargots afin de protéger cette importante
ressource. Avec l’arrivée de l’Internet of Things(IoT), un élément d’une importance capitale pour
l’héliciculture qui la fait encore évoluer. En rendant tout objet connecté, l’IoT rendra toute objets
au sein de parc dite connecté ou intelligent.
Et dans ce contexte, nous entamerons notre sujet de fin d’étude intitulé « Élaboration d’un
conditionneur autorégulé pour l’élevage des escargots ». Ce projet a pour but d’améliorer un système
de contrôle d’état de parc autonome, aussi de contrôler à distance les paramètres qui sont essentiels
durant les phases de reproduction et de nurserie.

Afin d’illustrer la démarche de travail, nous présentons dans ce qui suit l’organisation de
notre rapport. Dans un premier chapitre, nous allons débuter avec la présentation de l’organisme
d’accueil, la définition de notre projet, et nous finissons avec la méthodologie que nous avons suit
afin de bien entamer le projet. Dans un deuxième chapitre, nous allons définir l’étude et les critiques
de l’existant, le cahier des charges, et nous finissons avec une étude préalable. L’étude de l’existant
et la spécification des besoins seront dans le troisième chapitre. Le quatrième chapitre s’intéresse à
la conception logicielle et matérielle de tout le système. Nous clôturerons avec le cinquième chapitre,
qui contiendra l’étude technique, la réalisation et le test. A la fin, nous terminons avec une conclusion
générale qui décrit brièvement notre expérience.

1
Chapitre 1

Cadre Général du Travail


Chapitre 1. Cadre Général du Travail

Introduction

Dans le cadre de notre formation de licence en informatique industrielle a SESAME, nous


avons eu l’occasion d’effectuer notre projet de fin d’études au sein de société Candy Led.Ce premier
chapitre fait l’objet d’une présentation générale du projet. Nous commençons par introduire le cadre
du travail à travers une présentation de l’organisme d’accueil. Par la suite, nous allons présenter le
cadre de projet en définissant la méthodologie que nous avons suivi afin d’élaborer ce projet.

1.1 Organisme d’accueil

Le groupe 3S, leader dans son domaine, se lance dans les industries Cleantech aux confins de
l’électronique et de l’électroluminescence sous la marque Candyled. Ce premier investissement dans
le monde des Cleantech, concerne le secteur de l’éclairage LED, où les ruptures technologiques en
cours ont déjà permis de décupler le rendement de l’éclairage classique pour atteindre aujourd’hui
plus de 100 lumens par watt. Candyled fabrique, dans son usine idéalement située au Sud de Tunis,
en plein carrefour de la Méditerranée, le cœur de la technologie d’éclairage LED, le module COB
(Chip On Board)[2].
Les références de Candy-Led sont :

• Monoprix.

• Télévision tunisienne.

• Magasin générale.

• Nida outsource center

1.2 Présentation de projet

Ce travail rentre dans le cadre du projet de fin d’étude qui vient pour conclure notre
formation en informatique industrielle à l’université SESAME. Le projet s’intitule Elaboration
d’un conditionneur autorégulé pour l’élevage des escargots. Il a pour objectif la conception, le
développement d’un système de contrôle d ’escargotière et de manipuler à distance les phases de
reproduction et de nurserie. Il est découpé en deux parties :

• Partie application web : consiste à développer des interfaces web pour gérer le parc à distance.

• Partie embarqué : consiste à réaliser le système autorégulé.

3
Chapitre 1. Cadre Général du Travail

1.3 Méthodologie adoptée

La méthodologie est une démarche organisée rationnellement pour aboutir à un résultat.


Parmi les différentes méthodologies existantes, nous pouvons citer les méthodes classiques (Cascade)
et les méthodes agiles (Scrum et extrême programming) caractérisées par leurs souplesses et utilisées
dans des grands projets.
Pour conduire notre projet et assurer du bon déroulement des différentes phases, nous avons
opté pour la méthodologie Cascade .
Le choix du modèle en cascade a été pris suite à la considération des faits suivantes :

• Les besoins fonctionnels et non fonctionnels sont fixés dès le début de stage. Il n’aura pas un
grand changement tout au long de la réalisation. Ce qu’implique que nous pouvons choisir une
méthodologie classique pour éviter de compliquer les choses.

• Simplicité des processus.

• Le travail est individuel donc nous ne pouvons pas utiliser une méthodologie destinée pour le
travail d’équipe comme SCRUM.

• La conception et la réalisation du projet durera seulement cinq mois d’où la nécessité d’avoir
un plan fixe légèrement modifiable avant de commencer pour respecter les délais.

En effet, le modèle en cascade est le plus ancien des modèles de cycle de vie adoptés en 1966. Comme
illustré dans la figure 1.1, ce modèle est succession séquentielle de cinq étapes qui sont l’analyse et
spécification des besoins, conception, réalisation, test et validation et l’installation et maintenance.
Chaque étape se termine pour laisser la place à l’étape suivante avec la possibilité de retourner à
l’étape précédente en cas des éventuels changements. [3]

4
Chapitre 1. Cadre Général du Travail

Figure 1.1: Modèle en cascade

1.4 Description de travail

Pour atteindre l’objectif de notre projet et terminer les tâches, nous avons suivi les étapes
suivantes :

• Analyse et étude préalable : une analyse des besoins doit être réalisé pour fixer les objectives
et les attentes de l’application web et le système de commande.

• Spécification des besoins : Rendre claire tous les besoins auquel le système doit satisfaire.

• Conception : une description détaillée pour réaliser le système de commande et les démarches
de développement afin d’atteindre l’étape d’implémentation pour vérifier l’interaction des
différentes parties entre eux.

• Réalisation : c’est la phase au niveau de laquelle on commence la tâche de développement web


du panneau de contrôle en parallèle avec la réalisation de système de commande en essayons
à chaque étape de mettre en évidence une interaction réel entre le capteur, l’application web
et le système de commande.

• Test : cette tâche est exécutée tout au long de la phase d’implémentation en utilisant un
ordinateur comme un client qui accède à la page web « Dashboard ».

5
Chapitre 1. Cadre Général du Travail

1.5 Conclusion

Durant ce premier chapitre, nous avons présenté l’organisme d’accueil Candy-Led. Puis, nous
avons mis le projet dans son cadre en spécifiant la méthodologie utilisée. A la fin, nous avons proposé
un plan à suivre tout au long de la réalisation du projet.
Durant le prochain chapitre, nous allons établir une étude de l’existant afin de traiter la
problématique et de préciser notre objectif.

6
Chapitre 2

Etude préalable
Chapitre 2. Etude préalable

Introduction

Après la présentation générale de l’entreprise d’accueil et la stratégie du travail adopté.


Durant ce chapitre, nous allons définir l’internet des objets, puis nous allons présenter une étude de
système d’élevage des escargots afin de spécifier les défaillances existantes. Dans la deuxième partie,
nous présentons la problématique et la solution proposée.

2.1 L’internet des objets

Bien qu’il soit difficile de définir l’IoT (l’internet des objets), l’Union internationale des
télécommunications la définit en temps qu’un monde où n’importe quoi peut être connecté et
communiquer de façon intelligente grâce à un système de communication qui peut être une puce
RFID, Bluetooth ou Wi-Fi. Toute fois l’IoT est la création d’un réseau qui représente une passerelle
entre le monde virtuel et le monde physique.
Un objet, dans Internet of Things, peut-être, un réfrigérateur, un animal de ferme avec un
transpondeur bio chip, une automobile qui a des capteurs intégrés pour alerter le conducteur lorsque
la pression des pneus est faiblee ou un objet artificiel qui peut être affecté à une adresse IP et doté
de la possibilité de transférer des données sur un réseau.
En utilisant les informations d’identification de traitement des données et de communication,
l’internet des objets exploite les acteurs connectés pour offrir des services à tous les types d’application,
donc l’internet des objets est un réseau qui permet à travers des dispositifs d’identification électroniques
normalisé d’identifier les objets physiques aussi que les objets virtuelles et récupéré, stocké ou traité
les données qui circule comme il est présenté dans la figure 2.1.

Figure 2.1: Architecture d’un réseau internet des objets[4]

8
Chapitre 2. Etude préalable

2.2 Description d’élevage des escargots

Les escargots, à sang froid, sont sensibles aux changements atmosphériques (humidité, température).
Ils sont en mesure de s’adapter à diverses conditions, mais lorsque la température ou l’humidité ne
leur conviennent pas, ils entrent en dormance. Cette situation n’est pas en faveur de l’éleveur
Pour cela et pour réduire la dormance :

• Choisir la situation la plus favorable à l’élevage des escargots.

• Lui construire un abri adapté ( température,humidité,éclairage).

• Lui offrir une nourriture appropriée.

De toute évidence, il est possible d’élever des escargots en contrôlant totalement les conditions
environnementales.
En présence d’un contrôle climatique, l’élevage des escargots est élargi en régularité des
caractéristiques suivantes :

• Température

Une température stable de 25-30 C tout au long de l’année et une faible variation de température
entre le jour et la nuit. Les escargots estivent si la température est trop élevée, au-dessus de
30 C, et ils hibernent si la température tombe à moins de 5 C.

• Lumière

Une photo période ou l’estimation d’une période d’éclairage durant le jour et durant la nuit
qui sera relativement constante tout au long de l’année.

• Humidité de l’air

Elle doit être entre 75-95 % tout au long de l’année.

Les escargots estivent si l’humidité est trop élevée, au-dessus de 95 %, ou si l’humidité de


l’air est trop faible, (humidité relative < 70-75).[5]
Ces conditions correspondent aux zones forestières tropicales. Elles sont optimales lorsque les
saisons sèches sont peu marquées ou lorsqu’il y a un peu de fluctuations climatiques.

9
Chapitre 2. Etude préalable

2.3 Relation entre IoT et l’élevage des escargots

L’Internet des Objets a également un impact énorme sur certains secteurs,mais, jusqu’à
maintenant, l’automatisation dans le domaine d’héliciculture n’est pas encore assez développée
pourtant que commerce international des escargots fleurit.
D’après certaines projections, les éleveurs devraient faire appel à l’IoT dans les prochaines
années. À la clé, des gains d’efficacité, des rendements en hausse, une réduction des tâches manuelles,
et bien d’autres avantages.
De là,nous pouvons interagir l’IoT dans l’élevage des escargots à travers un système de
commande autorégulé où l’utilisateur contrôlera l’élevage suite à des interfaces, comme montre la
figure 2.2.
La figure 2.2 illustre la communication avec un système du commande.

Figure 2.2: Communication avec un système du commande .

La communication avec le système de commande permet de :

• La possibilité de stockage des informations reçues dans une base de données sur le serveur web.

• Le pilotage des actionneurs et l’affichage des résultats des capteurs.

10
Chapitre 2. Etude préalable

2.4 Etude du système de contrôle des escargots

Comme nous avons indiqué à la description de l’élevage, ces escargots sont sensibles aux
changements atmosphériques (humidité, température, lumière, vent), d’où ces conditions sont les
premières précautions à prendre lorsque nous voulons monté un élevage d’escargots productif, est
donc de construire un système de contrôle du parc ne leur laissant aucune chance de s’échapper.
Ce panneau de contrôle des escargots évite le risque par un contrôle à distance les paramètres
durant les phases de nurserie et reproduction.

2.4.1 Etude de l’existant

Dans cette partie, nous allons spécifier les insuffisances existantes et proposer une solution.

2.4.1.1 Description de l’existant

Pour comprendre la situation, nous avons effectué des observations sur les différentes méthodes
d’élevages des escargots.
• L’élevage classique :
La figure 2.3 illustre la méthode existante pour l’élevage des escargots.

Figure 2.3: Elevage des escargots.

11
Chapitre 2. Etude préalable

Le modèle actuel est présenté comme suit :

• Tout le cycle de vie de l’escargot se déroule dans le parc : accouplement, ponte, éclosion,
développement des petits escargots et croissance des escargots jusqu’à maturité.

• Les escargots se nourrissent des végétaux poussant dans l’enclos.

• Un enclos de pâturage clôturé simplement et relativement facile à construire mais peu coûteux.

• La gestion du parc se limite à replanter des plantes de temps en temps. Si la végétation est
saine, il ne sera pas nécessaire d’apporter de la nourriture supplémentaire aux escargots.

2.4.1.2 Critiques de l’existant

L’enclos de pâturage comporte divers inconvénients.

• Il est difficile de repérer et de protéger les œufs et les petits escargots. Cela peut entraîner une
mauvaise gestion des maladies et une mortalité plus élevée que dans les autres systèmes de
production.

• Il est difficile de suivre l’évolution des escargots et, par conséquent, de noter effectivement les
intrants et résultats.

• Période et rythme de vie : prend beaucoup de temps pour atteindre notre objectif.

* De Mars à mi-Mai : Reproduction et nurserie.

* De la mi-Mai à mi-Septembre : Croissance.

* De mi-Septembre à fin décembre : Maturité.[6]

• Climat

En l’absence de moyens artificiels coûteux pour réguler le climat, l’élevage d’escargots ne peut
se pratiquer que dans des forêts tropicales humides où la température est constante, l’humidité
relativement élevée et où, de préférence, il n’y a pas de saisons sèches. De même, il est préférable
que le rythme jour/nuit soit relativement constant au cours de l’année.

• Croissance

Les escargots ont une croissance relativement lente. De plus, la chair comestible ne constitue
que 40% du poids total vivant de l’escargot. De ce fait, d’élevage d’escargots ne peut être une
activité lucrative à court terme.

12
Chapitre 2. Etude préalable

2.4.2 Problématique

Le domaine de l’élevage des escargots est très vaste, notre projet fait partie de domaine de
l’héliciculture et concerné à améliorer la reproduction et d’établir les conditions souhaitées.
Les éleveurs affrontent plusieurs problèmes lors de la gestion de leurs parcs ce qui influe sur
la production et la rapidité de croissance des escargots.
La lumière, la température et l’humidité sont les facteurs les plus importants pour que
l’escargot réalise son cycle de vie, une humidité incorrecte peut engendrer une transpiration excessive
et peut endammagé la recolte. Aussi, l’un des problèmes majeur des éleveurs est leur disponibilité
pour prendre soin de leurs parc, parfois ils sont engagé de réaliser une tache loin de leurs parc et
à ce moment-là les escargots ont besoin de l’eau ou de refroidir le parc donc l’absence de l’éleveur
augmente le risque de l’échec de croissance.

2.4.3 Solution proposée

Il faut donc bien comprendre que l’élevage des escargots ne peut se pratiquer qu’au sein
d’une exploitation agricole diversifiée. Cependant, Candy-Led nous a confié la mission de réaliser un
système auto-régulé de commande pour les escargots et de développer une application web pour la
gestion d’élevage.
L’éleveur peut manipuler le parc à distance à travers un panneau de contrôle désigné pour
communiquer avec la carte RASPBERRY PI. Ce panneau de contrôle est une application web
accessible via internet ou via le réseau local de parc qui offre plusieurs fonctionnalités pour une
meilleur accessibilité.
La nouvelle solution vient en premier lieu d’interconnecter plusieurs capteurs à l’intérieur de
parc pour mesurer les différentes grandeurs et transférer ces valeurs à la carte RASSPBERRY PI,
dont son rôle est de traiter les informations reçus et les stockées dans une base de données ; elle
permet aussi de gérer les différents actionneurs qui vont remplacer l’éleveur.
la figure 2.4 présente un schéma simplifié de la solution proposée.

13
Chapitre 2. Etude préalable

Figure 2.4: Solution proposée.

La nouvelle solution est présentée comme suit :

• Première étape

Une application web contient les différents paramètres pour l’élevage des escargots.

• Deuxième étape

Traiter les informations reçues et les stockés dans une base de données.

• Troisième étape

La troisième étape consiste à construire l’environnement pour les escargots afin de réaliser un
système de commande et d’accéder à la BD.

• Quatrième étape

L’éleveur contrôle les escargots à distance en consultant l’état dans le parc, configure les modes
et gère les valeurs à ne pas les dépassés.

14
Chapitre 2. Etude préalable

2.5 Conclusion

Tout au long de ce chapitre, nous avons présenté l’IoT et l’élevage des escargots. Par la suite,
nous avons réalisé une étude de l’existant afin de dégager la problématique. Nous avons proposé une
solution afin de résoudre la problématique.
Durant le prochain chapitre, nous allons dégager les besoins fonctionnels et non fonctionnels,
établir le diagramme de cas d’utilisation, et de séquence global et les diagrammes détaillés de cas
d’utilisation.

15
Chapitre 3

Analyse et spécification des besoins


Chapitre 3. Analyse et spécification des besoins

Introduction

L’analyse et la spécification des besoins représentent la première phase du cycle de développement


d’un projet qui suit le modèle en cascade. Elle sert à identifier les acteurs réactifs du système et
associé chacun à l’ensemble des actions avec lesquelles il intervient.
Dans ce chapitre, nous allons spécifié les besoins fonctionnels et non fonctionnels en passant
par l’identification des acteurs. Puis, nous allons identifié les acteurs. A la fin,nous allons présenté
la modélisation des besoins fonctionnels et les diagrammes relatifs aux acteurs.

3.1 Spécification des besoins fonctionnels et non fonctionnels

La spécification des besoins constitue une phase primordiale pour toute application à développer
dans laquelle nous allons identifier les besoins de notre application. Nous distinguons des besoins
fonctionnels qui présentent les fonctionnalités attendues de notre application et les besoins non
fonctionnels pour éviter le développement d’une application non satisfaisante.

3.1.1 Les besoins fonctionnels

Les besoins fonctionnels ou besoin métiers représentent les actions que le système doit exécuter,
il ne devient opérationnel que s’il les satisfait. Notre application doit couvrir principalement les
besoins fonctionnels de l’éleveur.

• Consultation de l’état de parc des escargots :

Visualiser l’état de parc en analysant les informations enregistrées tel que la température
extérieure et intérieure, l’humidité extérieure et intérieure, la vitesse de vent et l’éclairage.
Ces informations sont stockées dans un fichier serveur, et envoyer au tableau de contrôle afin
d’extraire et fournir les données en utilisant le protocole http.

• Commander

Cette tâche est liée aux deux parties de projet,le système de contrôle permet de collecter les
informations depuis les capteurs et les mettre à jour en ajoutant ces informations à la base de
données. Le système doit être contrôler à travers l’application web avec deux modes :

17
Chapitre 3. Analyse et spécification des besoins

- Commander avec le mode manuel : Le système permet de gérer l’état de parc à travers
des actionneurs.

- Commander avec le mode planifié : Ce mode est désigné seulement pour l’arrosage ; avec
l’utilisation de ce mode nous aidons les escargots de sortir pour manger et reproduire.

• Surveillance

• Commander le système en temps réel

3.1.2 Les besoins non fonctionnels

Les besoins non fonctionnels décrivent toutes les contraintes auxquelles est soumis le système
pour sa réalisation et pour son bon fonctionnement.
Et ce qui concerne notre application, nous avons dégagé des obstacles par conjonction aux
besoins fonctionnels précédemment cités. Notre solution devra respecter un ensemble de contraintes
qui ne touchent pas aux objectifs métiers espérés, mais, contribuent à une meilleure qualité de la
solution souhaitée. Parmi ces contraintes nous avons :

• Contraintes de performance

Le temps de réponse de système doit être admissible pour une utilisation en temps réel.

• Contraintes matérielles

La partie matérielle du système doit être adaptée aux besoins du système de contrôle et
complètement piloter via la partie logicielle

• Extensibilité

Toutes les données statiques dont les fonctionnalités à assigner aux différents modes et les
fonctionnalités des saisons par notre module doivent être découplés de l’application. Notre
module devra aussi être ouvert à toute nouvelle fonctionnalité.

• Sécurité

Protection des escargots contre les maladies, les prédateurs et les braconniers.

3.2 Modélisation des besoins fonctionnels

3.2.1 Identification des acteurs

Un acteur est une entité externe au système. Il représente une personne ou un autre système
informatique qui attend un ou plusieurs services offerts par une interface d’accès. Il interagit avec le

18
Chapitre 3. Analyse et spécification des besoins

système par envoi ou réception des messages.


Dans notre application, Elaboration d’un conditionneur autorégulé d’élevage des escargots,
nous distinguons deux acteurs :

• L’éleveur : il est responsable des différents paramétrages de l’application. Son rôle est de
consulter le cycle de vie des escargots à distance et de contrôler la reproduction et la nurserie.

• Le système de commande : il interfère avec le serveur à distance pour atteindre les objectifs
de l’éleveur.

3.2.2 Choix méthodologique

Comme langage de modélisation, nous avons opté pour UML 3.1 qui est un langage de
modélisation graphique servant à décrire les besoins fonctionnels des systèmes pour mieux comprendre
les tâches à développer. Nous avons basé notre choix sur les points forts que présente UML3.1 tels que
sa standardisation et le fait qu’il offre un ensemble des diagrammes répartis sur 3 axes à savoir l’axe
fonctionnel, l’axe statique et l’axe dynamique ce qui facilite la compréhension du projet à développer.
Comme UML3.1 n’impose pas de démarche bien précise, il est facile à l’intégrer à n’importe quel
processus de développement.
Dans ce projet, nous avons eu recours au logiciel de modélisation « StarUML » qui nous
permet de créer des diagrammes UML3.1.

3.2.3 Diagramme de cas d’utilisation global

La figure 3.1 illustre le diagramme de cas d’utilisation de notre application Elaboration d’un
conditionneur autorégulé d’élevage des escargots pour l’éleveur. Par la suite, nous allons détailler
chaque cas d’utilisation.

19
Chapitre 3. Analyse et spécification des besoins

Figure 3.1: Diagramme de cas d’utilisation global

La figure 2.3 présente le diagramme de cas d’utilisation global. L’éleveur peut visualiser ou
bien consulté l’état du parc à partir des gauges, aussi, il peut contrôler à distance les différents
fonctionnalités à travers deux modes : le mode manuel lui permet de commander les actionneurs
alors que le mode planifié lui permet de planifier l’heure d’arrosage. L’éleveur peut aussi consulté
l’historique de chaque paramètres et avoir l’accès de la télécharger.

3.2.3.1 Diagramme de cas d’utilisation « Commander à distance »

La figure 3.2 distingue le diagramme de cas d’utilisation de l’application « Commander à


distance avec le mode manuel ».

20
Chapitre 3. Analyse et spécification des besoins

Figure 3.2: Diagramme de cas d’utilisation d’utilisation « Commander à distance »

3.2.3.2 Diagramme de cas d’utilisation « Planification d’arrosage »

La figure 3.3 illustre le diagramme de cas d’utilisation de l’application « Planification d’arrosage


»

Figure 3.3: Diagramme « Planification d’arrosage »

21
Chapitre 3. Analyse et spécification des besoins

3.2.4 Diagramme de séquence global

La figure 3.4 présente le diagramme de séquence de l’application Elaboration d’un conditionneur


autorégulé d’élevage des escargots.

Figure 3.4: Diagramme de séquence global

3.3 Conclusion

Ce chapitre a été consacré pour la spécification des besoins fonctionnels et non fonctionnels
du système résultant, ce qui correspondait aux différentes activités de la première et la deuxième
phase du cycle de développement du notre système souhaité. Dans le chapitre suivant, nous faisons
une étude de la conception matérielle et logicielle du système.

22
Chapitre 4

Conception
Chapitre 4. Conception

Introduction

Après toute étude faite, le reste du rapport sera consacré au travail réalisé tout au long
de cycle du développement du projet. Ce chapitre, intitulé Conception consiste à introduire les
préparations de l’environnement de travail et l’architecture de l’application web à développer ainsi
que l’architecture du parc autorégulé. .

4.1 Architecture globale

La figure 4.1 illustre l’architecture globale du projet. Cette figure explique la connexion entre
les différents composants du système.

• En utilisant le protocole http, l’application web exécute les requêtes dédiées pour la demande
et l’envoie des informations.

• Le tableau de contrôle fait un appel aux fichiers PHP pour extraire les informations.

• Le système installé dans le parc permet de collecter les informations à travers les capteurs.

• Le système permet de sauvegarder et modifier les informations dans la base de données.

• Le système permet de gérer les actionneurs de parc.

• pour pouvoir réaliser ce système de commande on a besoin de :

- Un capteur de température et humidité à l’extérieure du parc, ainsi un autre à l’intérieure.

- Un ventilateur

- Un capteur du vent

- Un capteur de lumière

- Une pompe

Ces capteurs doivent faire une communication avec une carte raspberry pi

24
Chapitre 4. Conception

Figure 4.1: Architecture globale de projet.

25
Chapitre 4. Conception

4.2 Conception de l’application web

Pour pouvoir mettre en place notre application web, nous avons eu recours aux langages de
développement HTML5, CSS3, JAVASCRIPT, PHP5, et pour avoir accélérer le processus au niveau
de développement de l’application on a utilisé le BOOTSTRAP comme un Framework pour bien
structuré et organisé les différents pages web et le JQUERRY comme une Bibliothèque de JavaScript
pour avoir une connexion avec le serveur web.
Concernant l’interaction avec le serveur de la base de donnée, il faut développer des fichiers
appelé fichiers serveurs avec le langage PHP et qui joue le rôle de l’intermédiaire entre le client et le
serveur.
Notre application offre aussi plusieurs fonctionnalités qui nécessite l’utilisation des bibliothèques
JQUERY ou bibliothèques PHP comme le traçage de courbe et la génération des fichiers PDF
contenant les informations de parc.
Notre application web possède cinq couches attachées entre eux :

Figure 4.2: Les différents couches de système .

26
Chapitre 4. Conception

* La couche data
C’est la couche dont le système de gestion de la base de données permet de stocker les
différents types de données utilisées par l’application ; ainsi, elle effectue une communication directe
avec le système de gestion de base de données en exécutant des requêtes spécifiques.
La figure 4.3 est un schéma distingué pour la connexion au niveau de la couche DATA.

Figure 4.3: La communication au niveau de la couche data.

* La couche persistance C’est la couche qui gère le processus de sauvegarde et de restauration


des données et elle est constitué par les fichiers serveur.

* La couche accès aux données


• Elle prend en charge l’accès aux données et leur manipulation. Ces données sont représentées
par les fonctions spécifiques pour l’accès à la base de données qui sont inclus dans les fichiers serveurs.
• C’est une couche très importante dont son rôle est d’effectuer une communication directe
avec le système de gestion de base de données en exécutant des requêtes spécifiques.

* Couche service
• Cette couche gère la logique de l’application et les traitements à effectuer sur les données,
indépendamment de la provenance des données et de la façon dont elles seront affichées une fois les
traitements effectués.
• La couche service couvre presque tous les fichiers client car elle permet de mettre la forme
des données reçu depuis le serveur pour que cette information soit compréhensible par le client.

27
Chapitre 4. Conception

* Couche présentation :
• Elle prend en charge l’affichage des données reçues par la couche de service et d’envoyer à
la couche de service les informations relatives aux actions de l’utilisateur qu’ils sont inclus dans les
fichiers accessibles par l’utilisateur.
• Cette couche couvre toute les fichiers client, elle permet d’afficher tout le contenu de la page
web et elle est basé sur les balises HTML et CSS pour la mise en forme aussi elle exploite parfois la
puissance de JQUERY pour exécuter des méthodes prédit.

4.3 Conception de système d’élevage

Le système de contrôle d’élevage permet d’interagir avec la base de données pour extraire les
informations afin de bien contrôler à distance le parc des escargots.
Pour que notre système pilote le parc à distance nous avons adopté la carte Raspberry Pi
comme un serveur de contrôle.

4.3.1 La carte Raspberry Pi

Un pilier majeur dans le monde des fabricants et de l’électronique, la Raspberry Pi est un


ordinateur sur une seule carte, à faible coût et haute performance, développé pour la première fois
au Royaume-Uni par la Fondation Raspberry Pi.
Non seulement cela a contribué à la joie de l’électronique et de la programmation informatique
aux gens du monde entier, mais il est également devenu un élément de base de la communauté
créatrice. Le Pi toujours présent est maintenant dans sa sixième itération : Raspberry Pi 3, alors
que la Pi fondation continue de s’améliorer. Il y a aussi le Pi Zéro, un Raspberry Pi qui change de
jeu dans un paquet beaucoup plus petit.
Les modèles Pi peuvent être utilisés comme ordinateur de bureau, le cœur d’un centre
multimédia et d’autres applications. Ils donnent un ordinateur économique à expérimenter, et bien
qu’ils fussent d’abord considérés comme un outil d’apprentissage, Raspberry Pi est utilisé à des fins
multiples, y compris les applications IoT.
La figure 4.4 présente la carte RPI modèle B+ que nous avons choisi dans la réalisation de notre
projet.

28
Chapitre 4. Conception

Figure 4.4: interaction avec la RPI

4.3.1.1 Les Composants de la carte RPI B+

Le Raspberry Pi 3 modèle B+ est la troisième génération de Raspberry Pi. Ces caractéristiques


sont les suivants : [7]

• Processeur : Broadcom BCM2837 Processeur quadruple âme A53 (ARM v8) 64 bits SoC.

• Mémoire : SDRAM LPDDR2 1 Go.

• Bluetooth : Puce Cypress BLE 2,4 GHz/5 GHz IEEE 802.11ac.

• Ethernet : Ethernet Gigabit sur USB 2.0 (300 Mb/s max.)

• USB : Quatre ports USB 2.0

• Vidéo : Port d’affichage MIPI DSI, port appareil photo MIPI CSI et sortie stéréo 4 pôles et
port vidéo composite.

• Multimédia : H.264, décodage MPEG-4 (1080p30). Encodage H.264 (1080p30). OpenGL


ES 1.1, graphiques 2.0.

• Stockage : Slot pour carte microSD pour le chargement du système d’exploitation et le


stockage des données.

• Alimentation : Connecteur USB pour 5,1 V/2,5 A c.c. Avec fonction POE.

29
Chapitre 4. Conception

4.3.2 Choix de matériels :

4.3.2.1 Capteur DHT11

Le capteur DHT11 est capable de mesurer des températures de -40 à +125C avec une précision
de +/- 0.5C et des taux d’humidité relative de 0 à 100% avec une précision de +/- 2% (+/- 5% aux
extrêmes, à 10% et 90%). Une mesure peut être réalisée toutes les 500 millisecondes (soit deux fois
par seconde).

Figure 4.5: LE capteur DHT11.

Les capteurs DHT11 communique avec le microcontrôleur via une unique broche d’entrée /
sortie, dont on verra ensemble le protocole de communication dans le chapitre suivant.

4.3.2.2 Le capteur de lumière « TSL2591 »

Notre travail comprend l’amélioration de la luminosité au sein du parc. Ce capteur TSL2591


est un convertisseur lumière-numérique à très haute sensibilité qui transforme l’intensité de la lumière
en une sortie de signal numérique capable d’une interface directe I2C.

Figure 4.6: capteur TSL2591.

30
Chapitre 4. Conception

Le dispositif combine une photodiode à large bande (visible plus infrarouge) et une photodiode
à réponse infrarouge sur un seul circuit intégré CMOS. Deux convertisseurs ADC intégrant convertissent
les courants de photodiode en une sortie numérique qui représente l’éclairement énergétique mesuré
sur chaque canal. Cette sortie numérique peut être entrée dans un microprocesseur où l’éclairement
(niveau de lumière ambiante) en lux est dérivé en utilisant une formule empirique pour se rapprocher
de la réponse de l’œil humain. Le TSL2591 prend en charge une interruption de style de niveau
traditionnel qui reste confirmée jusqu’à ce que le microprogramme le supprime.

Figure 4.7: courbe de la variation de luminosité en fonction de résistance. [8]

4.3.2.3 Le capteur anémomètre LEXCA003

Lors de l’étude de notre projet, nous avons noté le besoin d’un capteur de vent pour capter
la vitesse au parc.
L’anémomètre est un appareil qui sert à mesurer la vitesse ou la pression du vent. Plusieurs
types d’anémomètres sont utilisé pour la mesure de la vitesse du vent. Le plus employé est l’anémomètre
à coupelles. Son principe de fonctionnement est simple. Sur un axe vertical trois coupelles sont
disposées sur des bras horizontaux de façon qu’un angle de 120 degrés soit entre chaque deux bras.
La vitesse de rotation de l’anémomètre est proportionnelle à la vitesse du vent.
Nous avons choisi le capteur anémomètre LEXCA003 (figure 4.8), un anémomètre de précision
à transmetteur intégré et alimenter par une tension de 5 à 12 V DC. Il délivre directement un courant
variant de 2 à 10 mA pour une plage de vitesse de 2-100km / h . [9]

31
Chapitre 4. Conception

Figure 4.8: Un capteur anémomètre LEXCA003.

Le tableau présente Les spécifications techniques d’anémomètre.

Tableau 4.1: Les spécifications techniques d’anémomètre

Measuring principle Contact – free magnetic scanning system

Measuring range 2-100 Km/h

Accuracy 2.5deg

Start-up speed <0.5m/s

Supply Supply DC 5/12 V

Signal output Current. Output to be configurable by manufacturer : 0-10


/ 2-10 mA

L’acquisition de la mesure de l’anémomètre Relation entre la vitesse du vent sortie actuelle.


La sortie de courant est proportionnelle à la vitesse du vent en relation avec le graphique dans la
colonne de droite. Ceux-ci sont des ensembles configurables :0-10 / 2-10 mA le graphique sur le côté
est représenté en fonction du maximum vitesse configurable = 100 km / h.

Figure 4.9: Pompe à eau

32
Chapitre 4. Conception

4.3.2.4 Pompe à eau

Pour la réalisation du système d’arrosage au sein du parc des escargots, nous avons besoin
d’une pompe à eau à déclencher.

Figure 4.10: Pompe à eau

Les caractéristiques de la pompe à eau :

• Température opérationnelle : 0 à 40 o C

• Tension du moteur : 12 Vcc

• Moteur démultiplié à courant continu

4.3.2.5 Ventilateur

c’est un ventilateur de refroidissement, il est besoin d’électricité pour fonctionner et d’un


certain voltage pour faire tourner leur hélice à une certaine vitesse.

Figure 4.11: Ventilateur

33
Chapitre 4. Conception

4.3.2.6 Motor Shield L298N

Ce composant est essentiel à l’alimentation et la manipulation de tout type de moteur (moteur


à courant continu, moteur pas à pas . . . ).
Dual Motor Controller est la version révisée du DF-MDV1.0. Ses performances ont été
considérablement améliorées. Il peut supporter un courant plus important en raison de la dissipation
accrue du dissipateur de chaleur. Il est facile à contrôler, en utilisant la puce de pilote de moteur
haute puissance exceptionnelle de LGS, la L298N. Cette puce permet un entraînement direct de deux
moteurs DC bidirectionnels et incorpore des diodes courtes à grande vitesse pour une protection.
Courant d’entraînement jusqu’à 2 A par sortie du moteur. Le conducteur utilise une conception à
large bande pour réduire la résistance du fil.

Figure 4.12: Motor Shield L298N

Les caractéristiques de shield motor :

• Tension de fonctionnement : 5V à 12 V par un connecteur à vis.

• Contrôleur moteur : L298 - 2 moteurs à courant continu ou un moteur pas à pas.

• Courant maximal : 2A par canal ou 4A max (avec alimentation externe).

Le ventilateur est très efficace en interaction ou pour brasser l’air aux abords des escargots,
des sources de chaleur voir même pour limiter l’échauffement lors de reproduction des escargots.

34
Chapitre 4. Conception

4.3.3 La communication avec la carte RPI

La figure 4.12 présente l’interaction entre la carte RPI et la base de données, les capteurs
ainsi que les actionneurs.
La carte RPI contient trois fonctionnalités principales :

• Commander des actionneurs.

• Accéder à la base de données.

• Collecter les données.

Figure 4.13: Interaction avec la RPI.

35
Chapitre 4. Conception

4.3.3.1 Diagramme de classe

Ce diagramme sert à représenter la structure statique du futur système, en terme de classe


et des relations entre les classes et à en décrire les principales méthodes ainsi que leurs attributs.

Figure 4.14: Diagramme de classe.

36
Chapitre 4. Conception

4.3.3.2 Diagramme de séquence « Collecter les données »

La figure ci-dessous montre la communication entre la carte RPI et le capteur.

Figure 4.15: interagir de capteur avec la RPI.

4.3.3.3 Diagramme de séquence « Commander les actionneurs »

La figure 4.15 explique la commande des actionneurs avec la RPI

Figure 4.16: Connexion RPI avec les actionneurs.

37
Chapitre 4. Conception

4.3.3.4 Diagramme de séquence « Accéder à la BD »

La figure 4.16 illustre la connexion de la carte RPI et la BD.

Figure 4.17: Connexion à la BD.

4.3.4 Conception SA-RT

4.3.4.1 La méthode SA-RT

La méthode SA-RT a été mise au point à la fin des années 80 pour exprimer les spécifications
des applications temps réel.
La méthode SA-RT intègre trois aspects fondamentaux d’une méthode de spécification :
L’aspect fonctionnel (ou transformation de données) : représentation de la transformation que le
système opère sur les données et spécification des processus qui transforment les données.
L’aspect événementiel (piloté par les événements) : représentation des événements qui conditionnent
l’évolution d’un système et spécification de la logique de contrôle qui produit des actions et des
événements en fonction d’événement en entrée et fait changer le système d’état.
L’aspect informationnel (données) : spécification des données sur les flots ou dans les stockages.
Ce dernier aspect, qui est en général assez négligé dans ce type d’application, doit faire l’objet d’une
description spécifique.[10]

38
Chapitre 4. Conception

4.3.4.2 Diagramme de contexte de donnée

Le diagramme de contexte de donnée est la première étape qui représente l’interaction entre le
système et l’environnement, un seul processus fonctionnel numéroté 0 traduit l’application à réaliser
par le concepteur.‘

Figure 4.18: Diagramme de contexte de donnée

39
Chapitre 4. Conception

4.3.4.3 Affectation des valeurs de la température

Le diagramme d’activité suivant représente la démarche suit par le système pour générer le
signale convenable.

Figure 4.19: Affectation des valeurs de la température

40
Chapitre 4. Conception

4.3.4.4 Refroidissement du parc

La figure 4.19 décrit le fonctionnement du système de ventilation selon la valeur de la


température au sein du parc.
La RPI lance un test au niveau de la température, si elle est supérieure à 30 degrés le
ventilateur sera activé et il sera désactivé automatiquement quand la température est au- dessous
de la valeur maximale désiré.

Figure 4.20: Organigramme de refroidissement du parc

41
Chapitre 4. Conception

4.3.4.5 Mode planifié

En mode planifié la RASPBERRY PI lance un test sur les dates et les heures d’activation et
désactivation d’arrosage dans le parc pour génèrer le signale convenable, la figure 4.20 présente le
fonctionnement du mode planifié.

Figure 4.21: Mode planifié

42
Chapitre 4. Conception

4.3.4.6 Mode manuel

Au cours de fonctionnement de système,les différents actionneurs peuvent subir plusieurs


changements selon les paramètres du parc. La RASPBERRY PI active les actionneurs en analysant
l’état des boutons pour livrer le signale convenable.

Figure 4.22: Mode manuel

4.3.4.7 Traitement des signaux

Comme nous avons indiqué, notre système abandonne les données accordées de la base de
données afin de commander les actionneurs.
La figure 4.22 présente un organigramme pour gérer les actionneurs et traiter les signaux de
la commande.

43
Chapitre 4. Conception

Figure 4.23: Gérer et traiter les signaux.

Le système de commande exploite les données récupérées de la base de données pour commander
les actionneurs.
La récupération se traite à travers des bits de commande afin qu’elle demande des valeurs.
Le système retourne pour récupérer les données s’il reçois un échec sinon il passe à la configuration
des modes et génère les signaux commandés.

44
Chapitre 4. Conception

4.3.4.8 Envoyer des données

Notre système d’élevage des escargots doit faire une interaction avec la base de données
comme nous avons montré dans le chrono-gramme 4.23.

Figure 4.24: chronogramme "Transférer des données".

Le système revue par des étapes d’interaction avec la base de données lors de son fonctionnement.
Le système doit confirmer le stockage des données à partir d’envoyer une requête.

4.4 Conclusion

Dans ce chapitre, nous avons présenté le projet avec une architecture descriptive dans la
première partie. Dans la deuxième partie, nous avons étudié la conception de notre application web
ainsi que de notre système d’élevage.

45
Chapitre 5

Réalisation et Tests
Chapitre 5. Réalisation et Tests

Introduction

Après avoir conceptualisé notre projet, nous présentons dans ce chapitre, la phase de la
réalisation et des tests. La phase de réalisation est considérée comme étant la concrétisation finale
de toutes les étapes précédentes. Nous présentons en premier lieu notre choix de l’environnement
de travail, où nous spécifions l’environnement matériel et logiciel que nous avons utilisé pour la
réalisation de notre projet, aussi nous présentons quelques interfaces réalisées pour illustrer le
fonctionnement de quelques activités du système. .

5.1 Environnement de travail

L’environnement de travail utilisé tout au long de ce projet est reparti en deux : l’environnement
matériel et l’environnement logiciel .

5.1.1 Environnement matériel

Comme station de développement nous avons utilisé un ordinateur portable LENOVO équipé
d’un processus Intel Core i3 , 16 Go de mémoire vive et d’un système d’exploitation windows 10.

5.1.2 Environnements logiciels

5.1.2.1 Brackets

C’est un éditeur de texte moderne. Par l’intégration d’outils visuels directement dans son
interface, vous bénéficiez de la quantité d’aide adéquate lorsque vous le souhaitez.

5.1.2.2 EasyPhp

Pour le fonctionnement des scripts PHP, nous avons utilisé la plateforme EasyPHP. Il comporte
deux serveurs (un serveur web Appache et un autre de base de données MySql), un interrupteur de
script PHP et une administration PhpMyAdmin.

5.1.2.3 Filezilla server

Le logiciel FileZilla est un utilitaire FTP gratuit (à code source libre), permettant à un
utilisateur de transférer des fichiers d’un ordinateur local à un ordinateur distant.
Dans notre projet nous avons choisi Filezilla pour envoyer les fichiers de notre ordinateur à

47
Chapitre 5. Réalisation et Tests

la carte RASPBERRY PI.


FileZilla possède des dizaines de fonctionnalités, y compris certaines des fonctionnalités
populaires ci-dessous :

• Vue des fichiers et des dossiers : similaire à un gestionnaire de fichiers, permettant à un


utilisateur de modifier des fichiers et des dossiers et offrant une fonctionnalité de glisser-déposer
entre les répertoires locaux et distants.

• File d’attente de transfert : affiche l’état des transferts de fichiers en cours ou en attente de
traitement.

• FileZilla est capable de fonctionner sous Windows, macOS X et Linux.Il supporte les protocoles
FTP, SFTP et FTPS

5.1.2.4 GNU Linux Raspbian Jessie

Raspbian est un système d’exploitation open source basé sur la distribution Debian GNU/Linux.
Ce système est le plus adéquat avec la Raspberry Pi et est recommandable par le fabriquant.
Raspbian est préinstallé avec beaucoup de logiciels pour l’éducation, la programmation et l’utilisation
générale.
Il y a Python, Scratch, Sonic Pi, Java, Mathematica et plus encore. Raspbian Jessie qui est la
dernière version a eu beaucoup des changements entre elle et la version précédente, ils sont invisibles
pour l’utilisateur final. Le système sous-jacent a été modifié pour améliorer la performance et la
flexibilité, en particulier en ce qui concerne le contrôle des processus système.[12].

5.1.2.5 Python

Python est un langage très puissant et il est open source . Il est un langage orienté objet,
multiparadigme ; laisse les développeurs choisir le type de programmation voulu, il est aussi multiplateforme.
En plus de tout ça, python est langage de haut niveau et simple syntaxe à utiliser pour faire gagner
au développeur un temps précieux [13].

5.1.2.6 Prise en main à distance du Raspberry PI

Bien que les dernières versions des systèmes d’exploitation fournissent une partie graphique
comme Raspbian. Il y a des situations où nous devons accéder à l’interface graphique à distance,
c’est pour cela, que Raspbian Jessie vient avec le VNC et SSH intégré.

48
Chapitre 5. Réalisation et Tests

• VNC Viewer

Le VNC Viewer (Virtual Network Computing) est un système de visualisation et de contrôle


d’un ordinateur distant. Le VNC permet d’utiliser un ordinateur à distance exactement comme
si on se trouvait en face de lui, en tapons sur le clavier et en déplaçons la souris les données se
transmette à l’ordinateur distant.

• SSH

SSH, ou Secure Shell, est un programme informatique de chiffrement qui sert de protocole de
communication offrant plus de sécurité. Grâce à un procès de codage en début de connexion, il
crypte les segments TCP pour de manière à protéger l’utilisateur et rendre impossible le fait de
tracer ce qu’il fait. La deuxième version de SSH peu utilisé la partie graphique en l’assoyions à
des programmes tel que PuTTY. Il sert principalement à contrôler d’autre machine à distance.

5.2 Test et validation

Dans cette partie, nous présentons les modes de communication, les méthodes adaptées
ainsi que les différentes interfaces de notre application et le système de commande. Ces interfaces
permettent la vérification du fonctionnement de notre solution.

5.2.1 La commande à distance via l’application Web

Afin de commander notre circuit à distance à travers notre Raspberry Pi, nous avons eu
recours à développer une application Web. Cette commande à distance nécessite d’une part une
communication Wifi de l’application développée avec le Raspberry Pi, et d’autre part une communication
Gpio des capteurs avec le Raspberry Pi. Ceci est montré par la figure suivante.

Figure 5.1: La synoptique de la commande à distance.

49
Chapitre 5. Réalisation et Tests

5.2.2 Le serveur

Un serveur est une entité humaine ou pas qui effectue des services auprès des clients, en
informatique, il est un dispositif (matériel ou logiciel) fonctionnant en permanant pour offrir des
services au client. Dans notre cas, la Raspberry joue le rôle du serveur ou elle est responsable de
l’exécution des requêtes venant d’un utilisateur déjà connecté au réseau.
Pour faire fonctionner le serveur sur la Raspberry, il faut au premier lieu installer Apache avec
la commande ‘sudo apt install apache2’ pour rendre notre RPI un serveur web et ensuite installer
php et bien évidement pour stocker les informations MySQL (un SGBD libre) avec la commande ‘
sudo apt install mysql-server php-mysql’, enfin migrer le projet, après l’avoir installé, avec FileZilla.

5.2.3 Présentation des interfaces de l’application web

Dans cette partie, nous présentons les différentes interfaces de notre application web. Ces
interfaces permettent la vérification du fonctionnement de notre solution.

5.2.3.1 Interface « Dashboard »

C’est la première interface de notre application web dont elle donne l’accès à toutes les
autres interfaces.L’utilisateur débouche à une description de système de contrôle de parc à travers
le bouton "Découvrir plus", alors que le bouton "commencer" lui accorde l’accès à la page d’accueil
de l’application.

Figure 5.2: Interface Dashboard

50
Chapitre 5. Réalisation et Tests

5.2.3.2 Interface « Accueil »

Cette interface donne à l’éleveur l’opportunité de consulter l’état de parc à partir des gauges
afin de visualiser la température, l’humidité, la ventilation et l’éclairage au sein du parc. La mise à
jour de l’état de parc se fait en temps réel.

Figure 5.3: Interface Accueil.

5.2.3.3 Interface Commande

C’est l’interface dont laquelle l’utilisateur peut piloter le système de parc des escargots à
distance et le gérer à partir de choix des modes :

• Mode manuel : ce mode permet à l’utilisateur de gérer à distance avec l’aide des boutons
d’activation ou désactivation des actionneurs du système.

- Arrosage : contrôle le besoin d’eau au sein du parc.

- Éclairage : prend en charge l’activation des lampes ‘18 heures par jour’.

- Ventilation : puisque les escargots sont trop sensibles, si la température est très élevée,
l’activation du vent aide les escargots à avoir un bon environnement.

- Nourrissement : ce bouton est relié à un système de nutrition dont il distribue la nourriture


aux escargots chaque jour.

• Mode planifié : vue que les escargots préfèrent se cacher de temps en temps, avec l’aide de
ce mode qui est désigné à l’arrosage, ils sortent de ses coquilles ou bien de la poussière pour
manger ou reproduire.

51
Chapitre 5. Réalisation et Tests

Le mode planifié est activé seulement lors de la précision du l’heure d’activation et l’heure de
désactivation de jour même, car il est relié à une activité quotidienne.

Figure 5.4: Interface Commande.

Le changement d’état se fait en temps réel et envoie une notification d’activation ou de


désactivation comme suit dans la figure 5.5 .

Figure 5.5: Activer Désactiver la commande.

52
Chapitre 5. Réalisation et Tests

Par ailleurs, la plate-forme PHP valide la commande et traite la demande de l’utilisateur.


La figure suivante montre le résultat d’activation et de désactivation à la plate-forme de base de
données.

Figure 5.6: Table arrosage.

Le mode planifié envoie l’heure d’activation et de désactivation à la BD.

Figure 5.7: Table Planification.

53
Chapitre 5. Réalisation et Tests

5.2.3.4 Interface « Historique »

L’éleveur consulte l’état au sein du parc toute la journée grâce à l’interface Historique. Et
donc, suite à ces courbes historique, l’éleveur peut contrôler les derniers états sans visiter le parc.
La figure 5.10 présente l’interface historique de l’application web.

Figure 5.8: Interface Historique.

L’utilisateur peut imprimer et télécharger l’historique soit en PDF, JPEG, ou PNG.

Figure 5.9: Téléchargement d’historique

54
Chapitre 5. Réalisation et Tests

5.2.4 Construction matérielle

Dans cette partie, nous allons présenter les différents montages électroniques utilisés afin
d’avoir une vue globale. Par la suite, nous avons faire une explication détaillée et profonde de
chaque élément.

Figure 5.10: Composition générale du montage électronique

5.2.4.1 Détection de température et humidité

Figure 5.11: Montage électronique de détection température et humidité

La figure 5.11 présente la disposition des capteurs DHT11 par rapport à notre carte Raspberry
Pi. La présence de ces capteurs a pour objectif, la mesure de la température et l’humidité à l’intérieur
et à l’extérieur du parc. Les deux capteurs sont reliés à la carte à travers 3 pôles : la masse GND, la
tension VCC qui doit avoir la valeur 3.3 V et les GPIOs qui sont les émetteurs du signal.

55
Chapitre 5. Réalisation et Tests

5.2.4.2 Installation de ventilateur

Figure 5.12: Montage électronique de ventilation

La figure ci-dessous présente l’installation du ventilateur pour gérer le refroidissement au sein


du parc. Tout d’abord, nous avons câblé le ventilateur avec le Shield moteur qui prend en charge
le changement et la rotation de la vitesse avec la RPI à l’aide des piles de 9v. Nous avons utilisé
ensuite le pin 29 synonyme de la GPIO 5 pour gérer l’allumage ON/OFF.

5.2.4.3 Plateforme d’arrosage

Figure 5.13: Montage électronique de pompe à eau

56
Chapitre 5. Réalisation et Tests

A travers cette figure, vous pouvez voir que nous avons relié notre Shield moteur qui a comme
fonction le changement de la vitesse la rotation et le freinage, avec notre carte Raspberry pi. Après,
nous avons branché la pompe avec le Shield. Pour leurs alimentations, nous avons ajouté une pile
rechargeable de 9v.

5.2.4.4 Détection de vitesse du vent

Figure 5.14: Montage électronique d’anémomètre

La détection du vent est réalisée avec un capteur Anémomètre. La figure 5.14 présente leur
branchement avec la Raspberry pi. La Raspberry pi est reliée à l’anémomètre à l’aide d’un RJ-11.
Elle commande l’alimentation d’après une résistance de fixation du courant alors que le signal de
vitesse du vent est branché à la GPIO 19.

57
Chapitre 5. Réalisation et Tests

5.2.4.5 Module lumière

Figure 5.15: Montage Carte RPI et une LED

Autour de notre construction du parc nous avons fait ce montage qui représente une led avec
la file de terre relié au pin de GND d’un Raspberry pi et la borne positif de la led bronché avec le
pin 12.

5.2.4.6 Plateforme de nutrition

Figure 5.16: Montage électronique de vibreur

58
Chapitre 5. Réalisation et Tests

La figure précédente est une figure explicative. La Raspberry Pi commande le transistor de


fonctionnement via une résistance de fixation du courant de base R1. Sa valeur est de 1k. si le
GPIO de la Raspberry Pi excite le transistor par un état « haut » le moteur M1 du vibreur sera
donc alimenté par la tension 5V, entraînant l’agitation du tamis. Un état « bas » du même GPIO
connecté à la résistance de la base du transistor Q1 arrête l’agitateur.

Figure 5.17: Montage électronique de vibreur

Le système de nutrition des escargots est conçu autour d’un tamis pour distribuer la nourriture
via la commande de la Dashboard (application). Ce dispositif est soumis à un agitateur pour
permettre de contrôler la quantité de la substance d’alimentation à fournir aux escargots. L’agitateur
est un vibreur commandable par une tension continue de 5V.

5.2.4.7 Présentation du parc

Dans ce dernier paragraphe, nous présentons la réalisation du notre parc à travers des
différents schémas réels .
La partie hardware de notre système peut être décomposée en trois modules :

• Partie cerveau : formée par la carte Raspberry Pi. Elle est la pièce maîtresse du système, et
elle est capable de gérer les données reçues par le WEB, traiter les informations reçues des
capteurs et commander les différents parties actionneurs dans le parc.

59
Chapitre 5. Réalisation et Tests

• Partie capteur : c’est la partie qui fournit les données de mesure à la Raspberry Pi. Elle est
composée principalement par les deux capteurs d’humidité et de température DHT11 installés
sur le parc, dont le premier est le responsable des mesures internes, et le deuxième sur les
mesures d’environnement externe.

• Partie actionneur : elle englobe tous les modules de sorties liées à la Raspberry Pi. Et elle
assure les activités suivantes :

o Arroser le parc à l’aide d’une bouteille d’eau. Cette action est garantie par une mini pompe
d’eau assisté par un Shield moteur. Ce dernier est le responsable de traduire les ordres d’action
donnés par la Raspberry Pi en des signaux électriques puissants, qui permettent d’activer le
moteur de la pompe. La capacité électrique de ce module est patronnée par un module de piles à
toute épreuve (Heavy Duty). Cette opération peut être planifiée ou commander manuellement
à l’aide de l’application

o Éclairer le parc grâce à des diodes électroluminescente installées dans l’enclos. Cette action
est assistée manuellement.

o Brasser l’air à l’intérieur du parc à l’aide d’un ventilateur. Ce module est commandable en
vitesse à l’aide d’un signal PWM, généré par le Shield moteur et assisté par la Raspberry Pi.

Figure 5.18: Réalisation finale du parc des escargots

60
Chapitre 5. Réalisation et Tests

5.3 Conclusion

Dans ce chapitre, nous avons présenté notre environnement matériel et logiciel. Ensuite, nous
avons décrit les étapes nécessaires à la validation de notre application web ainsi que le système de
commande à l’aide des captures d’écran des interfaces graphiques.

61
Conclusion Générale et Perspectives

Notre projet se présume à l’invocation de deux domaines, l’héliciculture et l’IoT. L’héliciculture,


un marché en pleine croissance au niveau mondial. Il offre des potentiels de croissance très importants
pour les agriculteurs, étant donné les taux de productivité particulièrement intéressants permis par
le climat, la dynamique du marché est portée par une diversification potentielle illimitée de l’escargot
et de ses dérivés dans l’alimentaire et la cosmétique : concepts gastronomiques tels que le caviar,
plats préparés, crème de soin et de beauté à partir de mucus et de caviar. L’IoT est conçue pour
rendre tout objet sur la planète connecté, et dans notre contexte on s’intéresse aux objets d’élevage
des escargots.
Notre travail était « l’élaboration d’un conditionneur autorégulé pour l’élevage des escargots
», qui consistait à piloter et gérer le parc des escargots à distance à travers une application web qui
est embarqué sur une carte Raspberry Pi. Cette dernière commande les actionneurs et collecte les
informations de la base de données.
Tout aux long du projet de fin d’étude nous avons pu explorer les avantages du parc des
escargots.Nous avons pu mètre en oeuvre la solution idéale de reproduction des escargots, Afin
de réussir l’étape de reproduction et nurserie,nous devons réglé la température à 30 C avec une
humidité allons du 75 % a 95 % suivi par un éclairage chaque jour de 18 heure. L’étape qui suit
l’étape de reproduction et nurserie est l’étape de croissance, dans celle-ci nous allons changé les
anciens paramètres d’arrosage, en fin nous allons passé à l’étape d’hibernation nous devons modifié
quelques paramètres afin de pouvoir achevé le processus, pour cela il faux que la température soit à
5 % et la luministe a 6 heure par jour.
Cela nous a permis de défier les lois de la nature on élèvent les escargots à n’importe quel
moins de l’année .l’intérêt de la mise en place de ce système est l’administration et le contrôle à
distance de toutes les fonctionnalités du système.
Notre travail a été subdivisé en cinq étapes. La première consistait à faire une présentation
générale du projet. La deuxième présente une étude préalable, et la troisième étape exposait l’analyse
et les spécifications des besoins. La quatrième était réservée à l’étude conceptuelle du projet. Et enfin
nous avons clôturé avec la plus importante des étapes qui est la réalisation du projet. Nous avons
commencé par la présentation des outils du travail et par la suite nous avons exposé les interfaces
les plus significatives de notre application.

62
Conclusion générale

Comme perspective, nous pouvons rendre notre application plus autonome en installant une
caméra pour détecter les mouvements dans le parc. Nous espérons enfin que le travail que nous avons
pu effectuer jusqu’à maintenant a été à la hauteur de la confiance qui nous a été donnée.

63
Webographie

[1], Historique d’utilisation des escargots, http ://www.jaitoutcompris.com/animaux/ l’escargot


153.php, consulté le 11/02/2019.

[2], A propos, http ://www.candyled.com/, consulté le 25/02/2019.

[3], Modèle en cascade, http ://www.supinfo.com/articles/single/3099 waterfall model modele


cascade,consulté le 18/02/2019.

[4],réseau IoT, http ://silanus.fr/sin/ ?cat=30 , consulté le 17/02/2019.

[5], Cycle de vie des escargots, https ://www.lescargotspres.fr/elevage/,consulté le 07/02/2019.

[6], Les conditions d’héliciculture, https ://www.rustica.fr/articles jardin/l escargot pour


amateurs,11543, consulté le 2/02/2019.

[7], Les caractéristiques de la RPI3 B+, https ://www.generation robots.com/fr/401819


raspberry pi.html,consulté le 01/03/2019.

[8], Courbe en lux ; Ben Ghanem Fatma « Développement de Systèmes Embarqués sans fil
pour la domotique assistée avec Android HMI », Rapport de Projet de fin d’Etude en Informatique
Industriel, INSTITUT SUPERIEUR D’INFORMATIQUE,Année Universitaire 2015-2016, consulté
le 09/03/2019.

[9], Anémomètre, http ://anemotech.free.fr/blogs/anemometre/ ?page-id=499 , consulté le


27/03/2019.

[10], Méthode SA-RT, https ://www.espacetechnologue.com/wp-content/DeveloppementApp,


consulté le 09/03/2019.

64
Webographie

[11],Etat transition, http ://projet.eu.org/pedago/sin/1ere/5-diagramme-etats.pdf,consulté


le 11/03/2019.

[12], https ://www.raspberrypi.org/products/raspberry-pi-3-model-b/ ,consulté le 17/03/2019.

[13], https ://fr.wikipedia.org/wiki/Python-(langage),consulté le 18/04/2019.

65
Annexes

Annexe 1. Manipulations première installation et configuration

de Raspbian

Mise en place matérielle

Tout d’abord nous allons préparer notre carte SD depuis Windows afin que celle-ci intègre
Raspbian et non NOOBS, nous utiliserons le logiciel Win32DiskImager pour ce faire. Lesperformances
du Raspberry Pi sont fortement influencées par la qualité de la carte SD on a donc choisi une carte
SD de 16Go classe 10 (avec une vitesse d’écriture de 48Mo/s).

On a téléchargé la dernière version de Raspbian (23/09/2016) disponible sur le site officiel


de Raspberry Pi : https ://www.raspberrypi.org/downloads/raspbian/

On a aussi téléchargé le logiciel Win32DiskImager à l’adresse suivante :


https ://sourceforge.net/projects/win32diskimager/files/latest/download Pour connecter la
carte SD à l’ordinateur.
Après avoir installé et lancer Win32DiskImager, on décompresse le fichier .zip de l’image de Raspbian
pour obtenir un fichier .img. On insère la carte SD dans le lecteur que l’on connecte à l’ordinateur,
celle-ci doit bien être reconnue.

66
Annexes

1 – On indique ou se trouve l’image que l’on veut écrire sur la carte SD (ici 2016-09-23-Raspbian-jessie.img).
2 – On choisit le bon périphérique, ici notre carte SD qui est le périphérique.
3 – On appuie sur Write

Voici ce que contient maintenant notre carte SD :

67
Annexes

Le Raspberry s’occupe lui-même de l’installation de Raspbian :

Puis on tombe sur une belle Interface Graphique avec déjà pas mal de fonctionnalités installées :
Python 2 et 3, Java IDE, Geany, Wolfram, la suite Libre Office, Chromium et d’autres

68
Annexes

Configuration de Raspbian

Le LOGIN par défaut est « pi » et le PASSWD est « raspberry ». Notons que le clavier
est par défaut en QWERTY et non en AZERTY, il va donc falloir faire quelques réglages avant de
pouvoir commencer à travailler sur le Raspberry Pi.

Pour commencer à configurer le Raspberry afin d’être dans des conditions optimales d’utilisation
lors du redémarrage on ouvre un terminal et on tape la commande :
sudo raspi-config
* Devoir utiliser un écran, un clavier, une souris rien que pour le Raspberry nous semble un
peu trop donc on va configurer le SSH afin d’y accéder à distance depuis nos postes personnels :

* Nous allons modifier le mot de passe par défaut du Raspberry pour des raisons de sécurité,
vu que le Raspberry intègrera le Wi-Fi et le Bluetooth il ne faut pas qu’il soit une proie facile : nous
choisissons le mot de passe « raspberrypi ».

69
Annexes

Finalement nous allons exécuter la commande suivante :


sudo aptitude update -y sudo aptitude upgrade -y sudo reboot Cette commande va chercher
des mises à jour, les appliquer et enfin redémarrer le Raspberry (l’argument –y permet de valider
ces mises à jour). Les permettent d’effectuer une commande juste après une autre commande.
Maintenant que nous sommes affranchis de l’écran, du clavier et de la souris sur le Raspberry
Pi, cela va réduire un peu sa consommation, nous avons juste besoin d’un câble Ethernet pour le
mettre sur le réseau. Le Protocole SSH permet de prendre la main dessus pour travailler ; mais si on
avait envie d’avoir accès à l’interface graphique ce qui n’est pas possible avec SSH donc on utilise
un outil très simple : VNCserver (l’interface graphique reste optionnelle).
On l’installe sur le Raspberry avec la commande : sudo apt-get install tightvncserver
On le lance avec la commande : tightvncserver
Il faut définir un mot de passe : « 012345 » puis on dit que l’on ne veut pas juste « view-only
». Le processus est maintenant lancé et on peut y accéder depuis le réseau, par exemple sur Windows
avec Google Chrome qui a une application VNC Viewer.
Exemple pour accéder au Raspberry :

70
Annexes

Annexe 2. Capteur de température et d’humidité (DHT11)

DHT11 Temperature Humidity Sensor features a temperature humidity sensor complex


with a calibrated digital signal output. By using the exclusive digital-signal-acquisition technique and
temperature humidity sensing technology, it ensures high reliability and excellent long-term stability.
This sensor includes a resistive-type humidity measurement component and an NTC temperature
measurement component, and connects to a highperformance 8-bit microcontroller.

Typical Application

When the connecting cable is shorter than 20 metres, a 5K pull-up resistor is recommended ;
when the connecting cable is longer than 20 metres, choose a appropriate pull-up resistor as needed.

Power and Pin

DHT11’s power supply is 3-5.5V DC. When power is supplied to the sensor, do not send any
instruction to the sensor in within one second in order to pass the unstable status. One capacitor
valued 100nF can be added between VDD and GND for power filtering.

Communication Process : Serial Interface (Single-Wire Two-Way)

Single-bus data format is used for communication and synchronization between MCU and
DHT11 sensor. One communication process is about 4ms.
Data consists of decimal and integral parts. A complete data transmission is 40bit, and the
sensor sends higher data bit first. Data format : 8bit integral RH data + 8bit decimal RH data +
8bit integral T data + 8bit decimal T data + 8bit check sum. If the data transmission is right, the
check-sum should be the last 8bit of "8bit integral RH data + 8bit decimal RH data + 8bit integral
T data + 8bit decimal T data".

71
Annexes

Overall Communication Process

When MCU sends a start signal, DHT11 changes from the low-power-consumption mode to
the running-mode, waiting for MCU completing the start signal. Once it is completed, DHT11 sends
a response signal of 40-bit data that include the relative humidity and temperature information
to MCU. Users can choose to collect (read) some data. Without the start signal from MCU,
DHT11 will not give the response signal to MCU. Once data is collected, DHT11 will change to
the lowpower-consumption mode until it receives a start signal from MCU again.

MCU Sends out Start Signal to DHT

Data Single-bus free status is at high voltage level. When the communication between MCU
and DHT11 begins, the programme of MCU will set Data Single-bus voltage level from high to low
and this process must take at least 18ms to ensure DHT’s detection of MCU’s signal, then MCU
will pull up voltage and wait 20-40us for DHT’s response.

72