Vous êtes sur la page 1sur 115

.

N° d’ordre : 16 / IRS / M2 / TCO Année Universitaire : 2018 / 2019

UNIVERSITE D’ANTANANARIVO
----------------------
ECOLE SUPERIEURE POLYTECHNIQUE
-----------------------
MENTION TELECOMMUNICATION

MEMOIRE
en vue de l’obtention
du DIPLOME de MASTER II

Titre : Ingénieur
Domaine : Science de l’ingénieur
Mention : Télécommunication
Parcours : Ingénierie des Réseaux et Systèmes

Par : RASOLOFOJAONA Miarisoa Natolotra

L’IOT ET L’ONDE ULTRASONORE POUR LA


SUPERVISION D’UN SYSTEME AGRICULTURE
AMELIORE AVEC RECYCLAGE DE L’EAU
Soutenu le 21 Décembre 2020 devant la Commission d’Examen composée de :

Président : Mr RANDRIAMITANTSOA Andry Auguste

Examinateurs :
Mr ANDRIAMANALINA Ando Nirina
Mr ANDRIAMASY Zidora
Mr RASOLOMANANA Jean Fanomezantsoa
Directeur de mémoire :
Mr. RAVONIMANANTSOA Ndaohialy Manda-Vy
REMERCIEMENTS

Avant tout, je rends grâce à Dieu Tout-puissant qui m’a donné force mentale et physique afin
d’aboutir à l’accomplissement de ce travail. Respect et gloire seront à Lui aujourd’hui et à jamais.
Je remercie Monsieur RAVELOMANANTSOA Mamy, Professeur agrégé, Président de
l’université d’Antananarivo.
Je tiens ensuite à adresser mes reconnaissances au Directeur de l’Ecole Supérieure
Polytechnique d’Antananarivo, Monsieur RAKOTOSAONA Rijalalaina, Professeur, pour les
années d’études au sein de cet établissent.
J’exprime ma plus grande gratitude à Monsieur RAKOTONDRAINA Tahina Ezéchiel, Maître
de Conférences, Responsable de la Mention Télécommunication au sein de l’Ecole Supérieure.
Polytechnique d’Antananarivo, qui a toujours su nous conseiller intellectuellement et humainement.
Je remercie particulièrement Monsieur RAVONIMANANTSOA Ndaohialy Manda-Vy,
Professeur, qui en tant que Directeur de mémoire a offert son temps et n’a pas hésité à partager ses
connaissances et ses directives afin de mener à bien ce travail.
Présidé par Monsieur RANDRIAMITANTSOA Andry Auguste, Professeur, qui nous fait l’honneur
d’examiner ce travail, je gratifie de mes remerciements à lui ainsi qu’aux membres du jury, à savoir
 Mr ANDRIAMIASY Zidora Maître de Conférences;
 Mr ANDRIAMANALINA Ando Nirina, Maître de Conférences ;
 Mr RASOLOMANANA Jean Fanomezantsoa, Docteur;
Mes sincères remerciements vont aussi à tous les corps enseignants de l’Ecole Supérieure
Polytechnique d’Antananarivo, en particulier ceux de la Mention Télécommunication. Leurs efforts
ont tous sans exception contribuer à m’orienter vers le chemin que j’ai à prendre.
Enfin, je remercie spécialement ma famille qui n’ont cessé d’être présents tout au long de mes
études malgré la distance. Leur encouragement et leur soutien ont servi de tremplin pour arriver à
ce jour. Sans oublier mes amis chers et ceux qui ont apporté leurs aides, de près ou de loin.

i
TABLE DES MATIERES

TABLE DES MATIERES ....................................................................................................................... ii


ABREVIATIONS ................................................................................................................................... vi
INTRODUCTION GENERALE ............................................................................................................. 1
CHAPITRE 1 GENERALITES SUR L’INTERNET DES OBJETS ..................................................... 2
1.1 Introduction ................................................................................................................................... 2

1.2 Généralités [1] [2]........................................................................................................................... 2

1.2.1 Définitions ............................................................................................................................... 2

1.2.2 Concept de l’IoT....................................................................................................................... 3

1.2.3 Importance de l’IoT ................................................................................................................. 4

1.3 Le M2M [6] [7] ............................................................................................................................... 6

1.3.1 Définition ................................................................................................................................. 6

1.3.2 Différence entre M2M et IoT ................................................................................................... 6

1.4 Les objets connectés [3] [4] [5] ....................................................................................................... 7

1.4.1 Définitions ............................................................................................................................... 7

1.4.2 Typologie.................................................................................................................................. 7

1.4.3 Fonctionnement des objets connectés ...................................................................................... 8

1.4.4 Exemples d'objets connectés .................................................................................................... 8

1.4.5 Les capteurs ............................................................................................................................. 8

1.5 Domaines d’application [8], [9] ..................................................................................................... 9

1.5.1 Usages sans rétroaction ........................................................................................................... 9

1.5.2 Usages avec rétroaction ......................................................................................................... 10

1.6 Architectures des réseaux IoT [6] [7] .......................................................................................... 10

1.7 Les systèmes IoT courte portée et longue portée [6], [10], [11]................................................... 13

1.7.1 Les systèmes fixes à courte portée .......................................................................................... 13

1.7.2 Les Système à longue portée .................................................................................................. 15

1.7.3 Protocoles Applicatifs............................................................................................................. 19

1.8 Conclusion .................................................................................................................................... 21

CHAPITRE 2 MODELE CLIENT-SERVEUR ET ARDUINO ........................................................... 22

ii
2.1 Introduction ................................................................................................................................. 22

2.2 Concepts et définitions ................................................................................................................. 22

2.2.1 Client-serveur......................................................................................................................... 22

2.2.2 Serveur................................................................................................................................... 23

2.2.3 Client ..................................................................................................................................... 23

2.3 Notion de ports et de protocoles .................................................................................................. 24

2.3.1 Notion de port ........................................................................................................................ 24

2.3.2 Notion de protocoles............................................................................................................... 25

2.4 Les Sockets ................................................................................................................................... 26

2.4.1 Fonctionnalités ...................................................................................................................... 26

2.5 WebSocket.................................................................................................................................... 26

2.6 Serveur Tornado .......................................................................................................................... 27

2.6.1 Composants............................................................................................................................ 28

2.6.2 E / S asynchrones et non bloquantes ...................................................................................... 28

2.7 Redis ............................................................................................................................................. 31

2.7.1 NoSQL ................................................................................................................................... 31

2.7.2 Base de données en mémoire et système clé-valeur ................................................................ 32

2.8 Arduino ........................................................................................................................................ 33

2.8.1 Qu’est-ce qu’un microcontrôleur [12].................................................................................... 33

2.8.2 Présentation de la carte [3], [12], [13] .................................................................................... 34

2.8.3 Constitution de la carte [13], [14]........................................................................................... 36

2.9 Partie logiciel [13], [15] ................................................................................................................ 43

2.9.1 IDE Arduino .......................................................................................................................... 43

2.9.2 Langage Arduino ................................................................................................................... 44

2.10 Conclusion .................................................................................................................................. 48

CHAPITRE 3 APPROCHE THEORIQUE DE L’ONDE ULTRASONORE...................................... 49


3.1 Introduction ................................................................................................................................. 49

3.2 Définition des ultrasons [15] ........................................................................................................ 49

3.3 Paramètres de l’onde ultrasonore ............................................................................................... 50

iii
3.3.1 L’impédance acoustique......................................................................................................... 50

3.3.2 La longueur d’onde................................................................................................................ 50

3.3.3 La pression et l’intensité ........................................................................................................ 50

3.3.4 L'équation de l’onde ultrasonore [19], [20]............................................................................ 51

3.3.5 Propagation des ultrasons dans un milieu solide ................................................................... 51

3.3.6 Propagation des ultrasons dans un milieu liquide [16], [19] .................................................. 53

3.3.7 Émission et réception de l'onde ultrasonore........................................................................... 53

3.4 Conclusion .................................................................................................................................... 62

CHAPITRE 4 CONTEXTE SOCIAL, ECONOMIQUE ET ENVIRONNEMENTAL DE


MADAGASCAR .................................................................................................................................... 63
4.1 Introduction ................................................................................................................................. 63

4.2 Contexte économique ................................................................................................................... 63

4.2.1 Aperçu général de la pauvreté ................................................................................................ 63

4.2.2 Détails pour chaque province ................................................................................................. 63

4.2.3 Détails pour chaque région .................................................................................................... 64

4.3 Contexte social [23] ...................................................................................................................... 65

4.3.1 Presque un tiers des ménages en insécurité alimentaire ........................................................ 66

4.3.2 Une majorité de la population avec des carences quantitatives et qualitatives graves ............ 67

4.3.3 Les causes de l’insécurité alimentaire .................................................................................... 67

4.3.4 Perspectives ............................................................................................................................ 68

4.4 Contexte environnemental ........................................................................................................... 69

4.4.1 Manifestation de la crise ........................................................................................................ 69

4.5 Proposition d’une meilleure solution pour les problèmes social, économique et
environnemental de Madagascar ...................................................................................................... 71

4.5.1 Principe : ............................................................................................................................... 71

4.5.2 Résultats................................................................................................................................. 72

4.6 Conclusion .................................................................................................................................... 72

CHAPITRE 5 PRESENTATION ET IMPLEMENTATIONS ............................................................ 73


5.1 Introduction ................................................................................................................................. 73

5.2 Partie IoT ..................................................................................................................................... 73

iv
5.2.1 Architecture de l’ensemble ..................................................................................................... 73

5.2.2 Le Hardware .......................................................................................................................... 73

5.2.3 Softwares................................................................................................................................ 80

5.3 Partie agriculture ......................................................................................................................... 82

5.3.1 Description ............................................................................................................................. 82

5.3.2 Les différents composants ...................................................................................................... 84

5.3.3 Choix de la production ........................................................................................................... 86

5.4 Fonctionnement de l’ensemble .................................................................................................... 88

CONCLUSION GENERALE ................................................................................................................ 92


ANNEXES .............................................................................................................................................. 93
ANNEXE 1 : EXTRAIT DE CODE JQUERY ................................................................................. 93

A1.1 Fonction d’envoi d’un email de notification ............................................................................. 93

A1.2 Fonction de mise à jour de données .......................................................................................... 93

A1.3 Fonction de mise à jour de données du pH ............................................................................... 94

ANNEXE 2 : EXTRAIT CODE SOURCE ARDUINO ........................................................................ 97


A2.1 Connexion NodeMCU-Arduino et NodeMCU-Redis ................................................................... 97
BIBLIOGRAPHIE............................................................................................................................... 101
FICHE DE RENSEIGNEMENTS....................................................................................................... 104
RESUME.................................................................................................................................................. 1
ABSTRACT ............................................................................................................................................. 1

v
ABREVIATIONS

1.Minuscules latines
c la vitesse du son dans le milieu
d Diamètre de la zone de Fresnel
f la fréquence d'émission
l Longueur de la zone de Fresnel
r Rayon de la source sonore
vL vitesse des ondes longitudinales
vS vitesse des ondes de surface
vt vitesse des ondes transversales
2. Majuscules latines
DS Diamètre de la source sonore
EY module de Young
I intensité ultrasonore
P pression d'onde acoustique
Pi Pression d’onde incidente
Pr Pression d’onde réfléchie
Pt Pression d’onde transmise
Tv Temps de vol de l’onde ultrasonore
V Vitesse de l’ultrason dans les liquides
Z impédance acoustique
3. Minuscules grecques
α Coefficient d’atténuation
η coefficient de viscosité
θ angle de divergence
θi Angle d’onde incidente
θr Angle d’onde réfléchie
θt Angle d’onde transmise
λ Longueur d’onde de l’onde ultrasonore
μ coefficient d’absorption
μs module d'élasticité transverse
ρ la densité du milieu

vi
4. Abréviations
2G Réseau Mobile De Deuxième Génération
3G Réseau Mobile De Troisième Génération
3GPP 3rd Generation Mobile System
4G Réseau Mobile De Quatrième Génération
5G Réseau Mobile De Cinquième Génération

ARPANET Advanced Research Projects Agency Network

CAD convertisseur analogue/digital

ENSOMD Enquête Nationale sur le Suivi des Objectifs du Millénaire

EPROM Electrically Erasable Programmable Read Only Memory


GSM Global System For Mobile Communication
HTTP HyperText Transfert Protocol
IdO Internet des Objets
IEEE Institute of Electrical and Electronics Engineers
IMWI International Water Management Institute
INSTAT Institut National de la Statistique
IoT Internet of Things
IP Internet Protocol
ISM Industriel, Scientifique et Médical
LAN Local Area Network
LED Light Emitting Diod

LoRaWan Long Range Radio Wide Area Network

LPWA Low Power Wide Area


LTE Long Term Evolution
M2M Machine-to-Machine
NFC Near Field Communication
NFT Nutrient Film Technique
ODD objectifs de développement durable
OMD Objectifs du Millénaire pour le Développement
PC Personal Computer
PPA parité de pouvoir d’achat

vii
PWM Pulse Width Modulation
RFID Radio Frequency Identification
SMTP Simple Mail Transfert Protocol
SRAM Static Random Access Memory
SUN Scaling Up Nutrition

viii
INTRODUCTION GENERALE

Révolutionnaire, Fascinante. Ce sont les adjectifs qui qualifient l’avènement des nouvelles
technologies de la dernière décennie. Nous faisons partie d’une ère digitale en plein expansion qui
s’oriente de plus en plus vers l’internet des objets. Il arrive que nous le vivons et l’exploitons sans
même nous en apercevoir

Le terme Internet of Things (IoT) ou Internet des objets désigne l’extension d’Internet à des objets
de notre quotidien. On parle des objets connectés que l’on connaît à travers non seulement les
smartcars, les smartwatch, mais aussi à travers l’e-industry, ou l’e-agriculture. L’IoT est en lui-
même la combinaison d’une évolution et d’une révolution.

Néanmoins, cette évolution n’est pas une fin, elle peut plutôt servir comme un outil pour y parvenir.
Ceci implique une vision plus grande et plus large des existants et mène par la suite vers une
vocation profonde et plus universelle.

Selon RFI, 8 enfants ont perdu la vie Septembre dernier, probablement à cause de la famine. Plus
de 9 mois sans pluie, l'eau manque dans le Sud de Madagascar. Le contexte social, environnemental
et économique de notre pays est précaire. Il faut donc trouver une solution qui combine ces trois
aspects tout en suivant la voie de l’évolution. C’est l’idée principale de notre travail qui s’intitule
« l’IoT et l’onde ultrasonore au service d’une agriculture améliorée avec recyclage de l’eau ».

Pour bien entrer dans le thème de ce présent mémoire, nous allons commencer par les généralités
sur l’internet des objets dans le premier chapitre. Nous poursuivrons ensuite nos études vers le
modèle client-serveur et Arduino. Dans le troisième chapitre nous détaillerons mathématiquement
l’onde ultrasonore qui va nous servir grandement dans le projet. Pour terminer, nous allons, dans
le dernier chapitre, pour la mise en place de notre solution après avoir révisé les contextes à tenir
en compte.

1
CHAPITRE 1
GENERALITES SUR L’INTERNET DES OBJETS

1.1 Introduction

Internet des objets est un réseau mondial d’objets qui repose sur l’idée que tous les objets peuvent
être connectés à Internet, ces objets sont adressables de manière unique. Tout objet, y compris (des
ordinateurs, des capteurs, des RFID et des téléphones mobiles) seront en mesure d’´émettre de
l’information et éventuellement de recevoir des commandes. IdO ouvre la voie vers une multitude
de scenarios basés sur l’interconnexion entre le monde physique et le monde virtuel
W3 est un système d'information hypermédia sur Internet. Si c'est lui qui a popularisé Internet, il
doit à Internet ses fondements, et même surtout son infrastructure. Il a donné à l'Internet une forme
de cohésion en permettant d'établir des liens entre les masses d'informations autrefois dispersées.
En même temps, il a donné aux utilisateurs de l'Internet un outil efficace pour accéder aux
documents d'une façon très simple grâce à des interfaces clients conviviales. Il a créé le premier
réseau hypermédia réparti en installant les documents sur des sites différents. Le succès des sites
Web a été inespéré et chaque jour de nouveaux sites apparaissent.

1.2 Généralités [1] [2]

1.2.1 Définitions

1.2.1.1 Définition selon l’IEEE

Selon l’Institute of Electrical and Electronics Engineers (IEEE) « Un système IoT est un réseau de
réseaux où, en général, un grand nombre d'objets, de choses, de capteurs ou d'appareils sont
connectés via des infrastructures de communication et d'information pour fournir des services à
valeur ajoutée via un traitement et une gestion intelligents des données pour différents traitements
et gestion intelligents des données. Pour différentes applications (par exemple : villes
intelligentes, santé intelligente, réseau intelligent, maison intelligente, transports intelligents et
achats intelligents). »

1.2.1.2 Définition selon l’UIT

Selon l'Union internationale des télécommunications (UIT), l'Internet des objets ou IoT est une «
infrastructure mondiale pour la société de l'information, qui permet de disposer de services évolués

2
en interconnectant des objets (physiques ou virtuels) grâce aux technologies de l'information et de
la communication interopérables existantes ou en évolution. »

En réalité, la définition de ce qu'est l'internet des objets n'est pas figée. Elle recoupe des dimensions
d'ordres conceptuel et technique. D'un point de vue conceptuel, l'Internet des objets caractérise des
objets physiques connectés ayant leur propre identité numérique et capables de communiquer les
uns avec les autres. Ce réseau crée en quelque sorte une passerelle entre le monde physique et le
monde virtuel. D'un point de vue technique, l'IoT consiste en l'identification numérique directe et
normalisée (adresse IP, protocoles smtp, http...) d'un objet physique grâce à un système de
communication sans fil qui peut être une puce RFID, Bluetooth ou Wi-Fi.

Figure 1.01 : L’IoT

1.2.2 Concept de l’IoT

L’Internet des objets repose sur l’idée que tous les objets seront connectés un jour à Internet et seront
donc capables d’émettre de l’information et éventuellement de recevoir des commandes. On parle
aussi d’ “ubiquitous computing”, c’est à dire informatique omniprésente ou ambiante. Ce nouveau
paradigme informatique est basé non plus sur le PC, mais sur des objets quotidiens intégrant des
capteurs et des capacités de communication. L’internet des objets propose de créer une continuité
entre le monde réel et le monde numérique : il donne une existence aux objets physiques dans le
monde numérique. Sur le plan fonctionnel, l’Internet des objets désigne un informatique qui se fond
dans notre quotidien pour nous simplifier la vie, nous faire gagner du temps, décharger notre cerveau

3
de la mémorisation de données logistiques (itinéraires, agenda, etc.). Il permet de créer de nouveaux
usages, comme, par exemple, des informations en temps réel sur la localisation de ses amis. Il permet
aussi de faire des mesures exhaustives, là où on se contentait dans le passé d’un simple panel, par
exemple avec la mesure du trafic automobile dans les rues de la capitale.

1.2.3 Importance de l’IoT

Pour pouvoir mesurer l’importance de l’IoT, il faut d’abord comprendre les différences entre
l’Internet et le World Wide Web (ou Web), des termes souvent confondus. L’Internet est la couche
physique, c’est-à-dire le réseau composé de commutateurs, de routeurs et d’autres équipements. Sa
principale fonction est de transporter les informations d’un point A à un point B de façon rapide,
fiable et sécurisée. Le Web, lui, est une couche applicative qui intervient sur l’Internet. Son rôle
essentiel est de fournir une interface permettant d’exploiter les informations qui circulent sur
l’Internet.

1.2.3.1 Évolution du Web et de l’Internet


Le Web est passé par plusieurs phases distinctes :

Étape 1 : Le Web 1.0. : Le monde des "éditeurs"


Tout a commencé par une phase de recherche pendant laquelle le Web était appelé ARPANET
(Advanced Research Projects Agency Network). Le Web était alors surtout utilisé par des
universitaires à des fins de recherche. Au commencement du web, les contenus étaient réalisés par
quelques éditeurs, qui les publiaient sur des sites web. On avait donc un nombre restreint d'émetteurs
d'informations, et un grand nombre de lecteurs : c'est le web 1.0., premier stade d'évolution
d'Internet.

Étape 2 : Le Web 2.0. : Et l'utilisateur se mit à produire du contenu


Dans sa deuxième phase, le Web peut être qualifié de « brochure électronique ». Nous assistions
alors à une véritable prise d’assaut des noms de domaine. Toutes les entreprises ressentaient le
besoin de partager des informations sur Internet pour faire connaître leurs produits et leurs services.
Avec l'arrivée des premiers réseaux sociaux, chaque individu s'est mis à générer lui-même des
contenus. Quand quelqu'un publie un commentaire sur un article, créé un profil sur Facebook, publie
une vidéo sur Youtube ou écrit un Tweet, il produit un contenu (texte, image, vidéo...) qui pourra
être consulté par d'autres. C'est le web dit "social", souvent appelé web 2.0.

Étape 3 : Le web 3.0. : Les machines s'y mettent

4
Désormais, nous voyons émerger de nombreux objets physiques dits "connectés". Ces objets
utilisent Internet pour envoyer des informations et en recevoir. Par exemple, un bracelet connecté
qui envoie le nombre de pulsations pendant la journée, cela permettra ainsi de consulter l'historique
à travers des courbes de tensions artérielles sur un site web.
Les premiers objets connectés n’apparaissent que dans les années 1990. Il s’agit de grille-pain,
machines à café ou autres objets du quotidien. En 2000, le fabricant coréen LG est le premier
industriel à parler sérieusement d’un appareil électroménager relié à internet, Les années 2000
verront les premières expérimentations d’appareils connectés à Internet. Ils l’utilisent notamment
pour consulter des informations de manière automatique. En 2003, la population mondiale s’élevait
à environ 6,3 milliards d’individus et 500 millions d’appareils étaient connectés à Internet. Le
résultat de la division du nombre d’appareils par la population mondiale (0,08) montre qu’il y avait
moins d’appareils connectés par personne. Selon la définition de Cisco IBSG, l’IdO n’existait pas
encore en 2003 car le nombre d’objets connectés était faible. En raison de l’explosion des
Smartphones et des tablettes, le nombre d’appareils connectés `à Internet a atteint 12,5 milliards en
2010, alors que la population mondiale était de 6,8 milliards. C’est ainsi que le nombre d’appareils
connectés par personne est devenu supérieur à 1 (1,84 pour être exact) pour la première fois de
l’histoire. En affinant ces chiffres, Cisco IBSG a situé l’apparition de l’IdO entre 2008 et 2009
(Figure 1.02). En ce qui concerne l’avenir, Cisco IBSG estime que 50 milliards d’appareils seront
connectés à Internet cette année. Il est important de noter que ces estimations ne tiennent pas compte
des progrès rapides d’Internet ni des avancées technologiques, mais reposent sur les faits avérés à
l’heure actuelle.

Figure 1.02 : L’évolution de l’IoT entre 2003 et de nos jours

5
Et selon Statista Research Department en 2018, d’ici 2025 le nombre d’objets connectés sera estimé
à environ 76 milliards.

1.2.3.2 L’IoT, la première évolution de l’Internet

Contrairement au Web, l’Internet se développe et s’améliore continuellement, mais il n’a pas connu
de transformation fondamentale. Sa fonction reste essentiellement la même que lors de la phase
ARPANET. Par exemple, il existait au départ plusieurs protocoles de communication, notamment
AppleTalk, Anneau à jeton (ou Token Ring) et IP. Actuellement, le protocole IP est devenu la
norme. Dans ce contexte, l’importance de l’IoT devient considérable, puisqu’il s’agit de la première
véritable évolution de l’Internet. Celle-ci donnera lieu à des applications révolutionnaires capables
de transformer profondément notre mode de vie, et notre façon d’apprendre, de travailler et de nous
divertir. L’IoT a déjà doté l’Internet de capacités sensorielles (température, pression, vibration,
luminosité, humidité, tension), ce qui nous permet d’anticiper plutôt que de simplement réagir. En
outre, l’Internet couvre maintenant des endroits jusqu’alors inaccessibles. Des patients ingèrent
même des dispositifs connectés qui aident les médecins à diagnostiquer certaines pathologies et à
en déterminer les causes. Des capteurs extrêmement miniaturisés peuvent être placés sur des plantes,
des animaux et des sites géologiques, et connectés à l’Internet.

1.3 Le M2M [6] [7]

1.3.1 Définition

Le M2M (Machine-to-Machine) constitue un ensemble de technologies réseaux sans fil ou filaires


rendant des systèmes communiquant et leur permettant de s'échanger automatiquement des
informations, sans intervention humaine. Il existe deux grandes familles de technologies, à savoir
le sans-fil et les filaires. La plus connue des technologies sans-fil est celle du réseau Internet mobile
de type 2G ,3G, 4G mais il en existe d'autres, basées sur des radiofréquences différentes allant de la
plus courte portée avec le NFC, à la plus longue, avec le Wireless M-buss par exemple. Du côté des
technologies M2M filaires, on trouve le courant porteur en ligne.

1.3.2 Différence entre M2M et IoT

Souvent désignés par leurs initiales la machine to machine (M2M) et l’Internet of Things (IoT) sont
deux concepts très proches. Il existe néanmoins une différence essentielle à retenir. Nous vous
l’expliquons dans les lignes qui suivent.

6
Le M2M et l’IoT sont deux concepts, deux phénomènes très importants et assez proches. Ce sont
deux solutions qui proposent des accès à distances à des objets ou des capteurs. Le M2M se définit
traditionnellement par un réseau de télécommunication point à point utilisant un module cellulaire
ou WiFi intégré, pour connecter des machines ou des objets à un réseau. L’intervention humaine
n’est pas nécessaire, les informations circulent d’un endroit à un autre et peuvent être relayées via
un serveur vers un logiciel. L’IoT repose quant à lui sur l’identification de chaque objet, souvent
connecté les uns aux autres, afin qu’il puisse envoyer des données sur une plateforme Cloud ou à
une application à plus large échelle.

1.4 Les objets connectés [3] [4] [5]

1.4.1 Définitions

On parle d'objets connectés pour définir des types d'objets dont la vocation première n'est pas d'être
des périphériques informatiques ni des interfaces d'accès au web, mais auxquels l'ajout d'une
connexion Internet a permis d'apporter une valeur supplémentaire en terme de fonctionnalité,
d'information, d'interaction avec l'environnement ou d'usage. On distinguera un objet connecté d'une
interface d'accès au web, cette dernière pouvant en effet prendre la forme d'un objet du quotidien.
Ainsi, de manière évidente, un smartphone n'est pas un objet connecté. La smartwatch (montre
connectée), peut être une simple interface de visualisation ou d'accès au web. Elle peut aussi devenir
un objet connecté à part entière à partir du moment où elle traite et génère elle-même des
informations, comme par exemple une montre qui mesure le rythme cardiaque de l'utilisateur et
envoie ses données à un serveur pour une exploitation ultérieure tout comme les capteurs d’activités.

1.4.2 Typologie

On peut distinguer plusieurs types d’objets dans notre sujet :


 Des marqueurs passifs (code barre, RFID, …) qui nécessitent le recours à un système de
lecture
 Des capteurs actifs spécialisés (podomètre Fitbit, Mi-band) capables de transmettre leurs
données directement vers Internet ou indirectement via un PC
 Des objets “couteau suisse”, généralement des Smartphones, capables d’exécuter plusieurs
scénarios (suivi du sommeil, géolocalisation). Ces objets généralistes sont généralement
moins précis dans leurs mesures que les capteurs spécialisés.
L’interaction avec le monde réel peut prendre plusieurs formes :
 Mesure de données environnementales : localisation, température, vent, …

7
 Mesure de données comportementales : mouvement de personnes, …

1.4.3 Fonctionnement des objets connectés

Les objets connectés sont reliés à Internet (on parle d'ailleurs d'Internet des objets, ou web 3.0) : ils
peuvent donc communiquer avec d'autres systèmes pour obtenir ou fournir de l'information. Cela
est rendu possible par la forte miniaturisation des composants électroniques, mais aussi par
l'émergence de nouveaux réseaux de télécommunication de type M2M. Ils pourront par exemple :
 Collecter et stocker des informations en fonction de leur environnement : nombre de pas de
l'utilisateur, hygrométrie d'une cave, etc.
 Déclencher une action en fonction des informations recueillies sur le web, comme par
exemple l'arrosage d'une pelouse à la veille d'une forte journée de sécheresse.

1.4.4 Exemples d'objets connectés

1.4.4.1 Réfrigérateur connecté

Plus de clients malhonnêtes qui cherchent à voler le contenu des frigos dans les chambres d’hôtel.
Le réfrigérateur connecté détecte les modifications de ce qu’il y a à l’intérieur. A Chaque boisson
consommée par le client, des informations seront envoyées à un serveur permettant ensuite la
facturation sans pour autant que le personnel aille vérifier.

1.4.4.2 Maison connectée

La maison connectée est une grande révolution et un marché qui explosera d’ici quelques années.
Elle est en elle-même un ensemble d’objets connectés. A travers plusieurs capteurs, des tâches
seront automatiquement effectuées. L’exemple le plus proche est la porte qui s’ouvre dès la présence
d’une personne. La climatisation qui se configure toute seule en fonction de la température de la
salle en est aussi un.

1.4.5 Les capteurs

Les capteurs sont de petits appareils disposant de capacités de mesures, voire d’actions, sur leur
environnement. La température, le taux d’humidité, la luminosité ambiante, la détection de
présences ou de mouvements via un accéléromètre, présence de gaz, de polluants ou encore la
géolocalisation font partie des informations les plus couramment collectées sur ce type de matériel.
Selon les capteurs, ou grâce à l’ajout de cartes additionnelles, la pression atmosphérique, le niveau
de radiation ou la pression acoustique (événements sonores) peuvent aussi être quantifiés. Les

8
spécifiés innovantes de ces capteurs résident dans leur taille et leur cout réduit, tout en étant dotés
des capacités de traitements de l’information, et des possibilités de transmission sans fil. La nature
de l’objet "intelligent" a ceci de particulier qu’il dispose de possibilités de calcul et de transmission
des données. L’échange d’informations, voire l’interaction entre différents objets est envisageable,
et ce même sans intervention des utilisateurs. L’objet va "capter", mesurer une caractéristique
physique de son environnement, éventuellement lui appliquer un traitement informatisé, et fournir
le résultat à d’autres (utilisateur, ordinateur, etc.). Si les capteurs disposent d’éléments pour évaluer
une caractéristique physique de leur environnement, certains d’entre eux peuvent également agir sur
cet environnement : on parle alors d’effecteurs. Ces effecteurs sont souvent plus puissants en termes
de capacités mémoire, de traitement.

1.5 Domaines d’application [8], [9]

On peut distinguer deux grandes familles d’usage de l’Internet des objets :

1.5.1 Usages sans rétroaction

Dans ce cas, l’Internet des Objets est utilisé pour faire une sorte de monitoring :
 Consommation de l’objet (énergie pour une voiture)
 État de l’objet (niveau d’huile pour une voiture)
 Mesure du contexte environnemental (météo, trafic routier, foule dans les transports, …)
 Mesure des paramètres personnels d’un individu ou Quantified Self (activité sportive…)
 Activité d’une infrastructure (Pass Navigo, réseau de télécommunication, réseau
d’énergie, …)
Les utilisateurs des données peuvent être : l’usager final, un fournisseur, une administration
publique.
Les données remontent des indicateurs permettant :
 des tableaux de bords analytiques, pour des fonctions décisionnelles (ex : moment précis
pour arroser les plantes).
 la détection d’évènements anormaux (ex : saturation des transports lors d’une
manifestation)
 de disposer d’informations sur un individu, ses comportements et consommations, … (ex
: mes performances sportives de la semaine)

9
 de ramener les informations d’un individu à une population à des fins de comparaison
pour lui-même ou pour le fournisseur de service (ex : je consomme plus de gaz que les
usagers vivant dans un appartement de même surface)
 de proposer la “gamification”, c’est à dire une compétition entre l’individu et ses pairs afin
d’optimiser l’usage du service (ex : faire baisser sa consommation électrique pour gagner
des prix)

1.5.2 Usages avec rétroaction

Dans ce cas, l’Internet des Objets permet de :


 piloter les objets à distance, par exemple dans des applications domotiques (ex : allumer la
lumière lorsque je rentre à la maison)
 d’envoyer des notifications au fournisseur (ex : provision de yaourts car les rayons du
supermarché sont vides)
 d’envoyer des notifications aux usagers (ex : ralentir car l’autoroute est saturée)

1.6 Architectures des réseaux IoT [6] [7]

Pour bien comprendre le concept de l’IoT, il est nécessaire de connaitre son architecture réseau
illustrée par la figure 1.03 suivante :

Figure 1.03 : Architecture de l’internet des objets

Précisons le rôle des différents processus présentes sur cette figure :

10
 Capter désigne l’action de transformer une grandeur physique analogique en un signal
numérique.
 Concentrer permet d’interfacer un réseau spécialisé d’objet à un réseau IP standard (ex :
WiFi) ou des dispositifs grand public.
 Stocker qualifie le fait d’agréger des données brutes, produites en temps réel, méta taguées,
arrivant de façon non prédictible.
 Enfin, presenter indique la capacité de restituer les informations de façon compréhensible
par l’Homme, tout en lui offrant un moyen d’agir et/ou d’interagir.
Deux autres processus n’apparaissent pas sur le schéma, pourtant ils sont à la fois transverses et
omniprésents : le traitement de données et la transmission des données.
Le traitement des données est un processus qui peut intervenir à tous les niveaux de la chaîne,
depuis la capture de l’information jusqu’à sa restitution. Une stratégie pertinente, et commune quand
on parle d’Internet des objets, consiste à stocker l’information dans sa forme intégrale. On collecte
de manière exhaustive, « big data », sans préjuger des traitements qu’on fera subir aux données.
Cette stratégie est possible aujourd’hui grâce à des architectures distribuées type NoSQL, capables
d’emmagasiner de grandes quantités d’information tout en offrant la possibilité de réaliser des
traitements complexes en leur sein (Map/Reduce par exemple).
La transmission des données est un processus qui intervient à tous les niveaux de la chaîne. Deux
réseaux, supports des transmissions, cohabitent généralement :
 Réseau local de concentration. On utilise alors des technologies comme ZigBee, Z-wave,
NFC ou Bluetooth LE. (cf 1.7.1.1)
 Réseau WAN, permettant d’interconnecter les réseaux spécialisés et de les interfacer avec
des fermes de serveur. On utilise alors WiFi, les réseaux cellulaires (GSM, UMTS, LTE) ou
encore les connexions physiques standard (Ethernet, fibre optique). Ces réseaux sont
généralement connectés à Internet

Les technologies de transmission utilisées dépendent essentiellement de l’application et du contexte.


La transmission peut par exemple exploiter des differents protocoles applicatifs comme WebSocket,
HTTP, …. Les canaux peuvent être bidirectionnels si l’application autorise une rétroaction. Dans
certains cas, ces canaux devront transmettre les données en temps réel, dans d’autres cas, le temps
ne sera pas un facteur déterminant.
Quant aux gateways, ils jouent le rôle d’intermédiaire pour connecter l’objet à internet et envoyer
ses données au cloud. Un exemple de ces Gateway sont les routeurs domestiques, les téléphones

11
mobiles, le raspberryPi, l’Arduino. Ces Gateway fournissent ce qui est nécessaire en termes de
connectivité, de sécurité et de management des appareils. Les Gateway traduisent aussi les
protocoles propriétaires (exemple zigbee, BLE) au réseau Internet et certaines peuvent jouer le rôle
d’agrégateurs de réseaux.

Figure 1.04 : Architecture des réseaux IoT

Remarque : [1]

L’IdO se compose d’un ensemble de réseaux hétérogène. Prenons l’exemple des véhicules.
Plusieurs réseaux permettent de renforcer la sécurité routière, économiser du temps, etc. les
bâtiments commerciaux et résidentiels sont également équipés de différents systèmes pour avoir le
contrôle global des différents équipements dédiés à la sécurité, l’éclairage, le chauffage et l’aération,
etc. grâce à l’évolution de l’IdO, ces réseaux seront connectés à des fonctions évoluées de sécurité
et de gestion (voir Figure 1. 05) ? c’est ainsi que l’IdO atteindra son plein potentiel.

Figure 1.05 : IoT en tant qu’un réseau de réseaux

12
1.7 Les systèmes IoT courte portée et longue portée [6], [10], [11]

Deux grandes catégories de réseaux existent sur le marché :

1.7.1 Les systèmes fixes à courte portée

Parmi les technologies de communication sans fil pour le M2M (machine-to-machine) et l’Internet
des Objets, nous pouvons distinguer deux grands types de réseaux de communication radio : les
réseaux courte portée et les réseaux moyenne et longue portée. Le premier type concerne les
technologies – bien connues du grand public – qui émettent de quelques centimètres à quelques
centaines de mètres maximum : WiFi, Bluetooth, RFID, NFC, ZigBee, etc… Le second concerne
les technologies qui ont des portées plus importantes, de quelques centaines de mètres. Autre aspect
sur lequel les réseaux se différencient : le débit. Quand une technologie comme le Wifi, propose des
débits de l’ordre de la centaine de Mbits (voire plus) ; le ZigBee comme la RFID ne dépassent pas
le Mbit.

1.7.1.1 Protocoles M2M / WPAN / WBAN

a) Bluetooth low energy

Le Bluetooth Low Energy est très largement utilisé dans le monde. Quasiment tous les smartphones
sont équipés de cette technologie, fréquemment utilisée pour faire communiquer les wearables. Il a
une portée de 60 mètres en terrain dégagé et consomme environ 20 fois moins d'énergie que le Wifi.
La dernière version de cette technologie, le Bluetooth 5, est plus adaptée à l'IoT et dispose d'une
portée deux fois supérieure à celle de son aînée. Ce réseau de courte portée permet de transporter
nettement moins d'infos que le Wifi : 1 mbps seulement, même si le nouveau standard permet de
transférer quatre fois plus de données.

b) ZigBee

ZigBee est un protocole de haut niveau permettant la communication de petites radios, à


consommation réduite, basée sur la norme IEEE 802.15.4 (Institute of Electrical and Electronics
Engineers) pour les réseaux à dimension personnelle (Wireless Personal Area Networks : WPAN).
La spécification initiale de ZigBee propose un protocole lent dont le rayon d’action est relativement
faible, mais dont la fiabilité est assez élevée, le prix de revient faible et la consommation
considérablement réduite. On retrouve donc ce protocole dans des « environnements embarqués »
où la consommation est un critère de sélection. Ainsi, la domotique et les nombreux capteurs et

13
télécommandes qu’elle implémente apprécient particulièrement ce protocole en plein essor et dont
la configuration du réseau maillé se fait automatiquement en fonction de l’ajout ou de la suppression
de nœuds. On retrouve aussi ZigBee dans les contrôles industriels, les applications médicales et les
détecteurs de fumée et d’intrusion. Les nœuds sont conçus pour fonctionner plusieurs mois (jusqu’à
dix ans pour les plus économes) en autonomie complète grâce à une simple pile de 1,5 V. Le ZigBee
permet de faire circuler plus de données que le Z-Wave (jusqu'à 250 kbps, contre 100 maximum).
Il est également moins cher et plus facile à implémenter pour les fabricants d'objets connectés que
le Z-Wave ou le Bluetooth (dans sa version 4, dite Low Energy comme dans sa version 5, qui vient
d'être standardisée). Mais ce réseau n'a que 10 mètres de portée en moyenne soit 20 de moins que
le Z-Wave et 50 de moins que le Bluetooth Low Energy.

c) Z-Wave

Le Z-Wave est un protocole de communication dédié à la domotique. Sans fil, il est facile à installer
dans la maison. Il a à la base une portée de 30 mètres. C'est un réseau maillé, c'est-à-dire que chaque
appareil connecté au système est émetteur de données mais peut aussi relayer celles qui sont émises
par ses voisins. Cela permet d'élargir sa portée. Un bémol toutefois : les clients qui créent dans leur
logement un réseau Z-Wave doivent veiller à installer régulièrement dans l'espace des appareils
reliés au secteur, faute de quoi ils risquent de créer des zones blanches. Ce sont les seuls qui restent
en activité 100% du temps, pour éventuellement transmettre les données de leurs comparses. Ceux
qui fonctionnent sur batterie sont la plupart du temps en sommeil pour ne pas consommer trop (le
Z-Wave brûle tout de même deux fois plus d'énergie que le Bluetooth Low Energy). Ils ne relaient
donc les données que lorsqu'ils s'allument. Le Z-Wave n'est par ailleurs pas aussi universel que le
Wifi. Tous les appareils de la maison ne pourront pas forcément communiquer avec un objet
connecté via cette technologie.

d) RFID

Les protocoles de communication RFID désignent l'ensemble des caractéristiques qui permettent à
une radio-étiquette de communiquer avec un lecteur. La RFID impose des exigences bien
spécifiques tant d'un point de vue de la confidentialité et de la sécurité que des performances. Des
solutions et améliorations sont proposées par la recherche et l'industrie, certaines font leur chemin
jusqu'aux spécifications des normes.

14
1.7.1.2 Protocoles LAN

a) Ethernet

Ethernet est un protocole de réseau local à commutation de paquets. C'est une norme internationale:
ISO/IEC 8802-3. Son rôle dans l’internet des objets est l’accès à Internet.

b) Wi-Fi

Le Wi-Fi, est un ensemble de protocoles de communication sans fil régis par les normes du groupe
IEE 802.11 (ISO/CEI 8802-11). Un réseau Wi-Fi permet de relier par ondes radio plusieurs appareils
informatiques (ordinateur, routeur, smartphone, décodeur Internet, etc.) au sein d'un réseau
informatique afin de permettre la transmission de données entre eux. Le wifi a un très grand rôle
dans l’internet des objets car presque les objets connectes sont munis de cette technologie pour
communique et envoyer et recevoir ainsi des informations provenant d’un serveur.

1.7.2 Les Système à longue portée

Comme Sigfox, LoRa ou encore les technologies cellulaires (GSM, 2G, 3G…) sont capables de
faire transiter des data d'un appareil à l'autre sur de vastes distances, explique Olivier Ezratty,
consultant qui fouille régulièrement des thématiques liées à l'IoT sur son blog. Ils sont utilisés par
les entreprises qui veulent connecter des kilomètres d'infrastructures à Internet ou dans des projets
de smart cities par exemple.
Dans cette catégorie, nous citerons d’un côté des exemples sur les normes non 3GPP et de l’autre
quelques-uns sur les normes 3GPP.

Figure 1.06 : Les systèmes à longue portée

15
1.7.2.1 Les normes non 3GPP (LPWAN)

Les réseaux LPWA pour Low Power Wide Area, comme le laisse deviner l’acronyme, sont des
réseaux sans fils basse consommation, bas débit et longue portée, optimisés pour les équipements
aux ressources limitées pour lesquels une autonomie de plusieurs années est requise. Ces réseaux
conviennent particulièrement aux applications qui n’exigent pas un débit élevé. Les LPWAN
utilisent les bandes de fréquences à usage libre – sans licence – ISM (Industriel, Scientifique et
Médical) disponibles mondialement, contrairement aux opérateurs mobiles qui utilisent des bandes
sous licence pour lesquelles ils payent l’attribution. Il est à noter que l’utilisation des bandes ISM
implique le partage des ressources avec les concurrents et avec les autres technologies (RFID, WiFi,
Bluetooth, ZigBee, etc.). Toutefois, ce n’est pas la jungle non plus : ces bandes de fréquences sont
régulées par des autorités organisatrices et il est tenu de respecter des règles d’utilisation. Compte
tenu des faibles débits et de la faible occupation spectrale des signaux, il faut en moyenne, pour un
réseau LPWA, 10 fois moins d’antennes pour couvrir la même surface qu’un réseau cellulaire
traditionnel.
a) Sigfox
Commençons les présentations avec Sigfox, une société pionnière sur le marché des LPWAN,
arrivée en 2009 avec une technologie basée sur la transmission de signaux sur une bande ultra étroite
(UNB pour Ultra Narrow Band) d’une centaine de hertz contre quelques centaines de kiloHertz pour
les réseaux cellulaires traditionnels. Sigfox est un opérateur qui fournit sa technologie de
connectivité bas débit au travers de son propre réseau cellulaire. La technologie utilise les bandes
ISM : autour de 868 MHz pour l’Europe et 915 MHz pour les USA. Un capteur, équipé d’un module
et d’un abonnement au réseau Sigfox, peut envoyer jusqu’à 140 messages par jour. Chaque message
pouvant contenir jusqu’à 12 octets de données réelles de charge utile (l’identifiant du périphérique
est transmis par le protocole), ce qui est largement suffisant pour la majorité des applications de
monitoring. Avec une portée comprise entre 30 et 50 Km dans les zones rurales et entre 3 et 10 km
dans les zones urbaines, Sigfox offre un débit de 100 bits par seconde.
L’intégration des données et la gestion des périphériques sont effectuées à partir de la plateforme
web fournit par l’opérateur ou par ses partenaires. Il est à noter que dans les premières versions du
protocole, celui-ci ne supportait que les communications unidirectionnelles : les capteurs
transmettaient mais ne pouvaient pas recevoir de données. Depuis, le protocole permet une
communication bidirectionnelle mais extrêmement limitée : le capteur est disposé à recevoir
quelques octets, pour son paramétrage par exemple, pendant un créneau très court qui suit sa phase
d’émission.

16
Figure 1.07 : L’architecture d’un réseau SigFox

b) LoRaWan
LoRaWan (Long Range Radio Wide Area Network) est un réseau LPWAN basé sur la technologie
radio LoRa.LoRa utilise une technique d’étalement de spectre pour la transmission des signaux
radio (chirp spread spectrum). Sur un réseau LoRaWan, les données émises par les équipements
sont centralisées par des gateways (des concentrateurs) qui transmettent les données à leur tour vers
le serveur de gestion en ligne. La liaison entre les gateways et le serveur s’appuie sur des
technologies très haut débit (Ethernet, Réseaux mobiles)
Lora utilise également les bandes de fréquences ISM avec une portée comprise entre 15 et 20 km
dans les zones rurales et entre 3 et 8 km dans les zones urbaines. LoRaWan revendique un débit
adaptatif compris entre 0,3 et 50 kbits par seconde et une communication bidirectionnelle moins
limitée que son concurrent direct SigFox. Pour cela, LoRaWan définit trois classes d’équipements :
 Classe A : cette classe concerne les équipements dont la consommation d’énergie doit être
la plus faible possible. Les équipements de classe A permettent une communication
bidirectionnelle par l’allocation de deux créneaux courts de réception après chaque émission.
 Classe B : en plus des créneaux de réception prévus par la classe A, les terminaux de la
classe B planifient l’ouverture de créneaux supplémentaires à intervalles réguliers
paramétrables. La planification de ces créneaux se réalise à la réception d’une balise de
synchronisation émise par le réseau. Ce mode consomme davantage que le précédent en
sollicitant davantage la liaison radio de l’équipement vers le réseau.

17
 Classe C : les équipements de classe C sont quasi-constamment « à l’écoute » d’une
réception de données par le réseau. Les créneaux de réception ne se ferment que lorsque
l’équipement est en phase d’émission. Ce mode est le plus consommateur, il n’est pas adapté
aux équipements sur batterie ou pile.

Figure 1.08 : L’architecture d’un réseau LoRaWan

1.7.2.2 Les normes 3GPP

a) LTE-M
LTE (Long Term Evolution), plus communément appelée « 4G », est une technologie très haut débit
pour les communications mobiles. Cette technologie est définie par un organisme en charge de la
spécification des technologies de réseaux mobiles (GSM, UMTS, LTE) nommé 3GPP. Au sein de
cet organisme, le groupe de travail dédié aux réseaux d’accès radio (3GPP-RAN) travaille depuis
peu (Q4 2014), sur une version M2M de la technologie LTE : la technologie LTE-M (LTE –
Machine to Machine). Pour répondre aux besoins des applications M2M, la technologie LTE-M
propose des débits (~ 1Mbits), une puissance d’émission (max 20dBm) et une occupation spectrale
(1,4 MHz) beaucoup plus faibles que la technologie LTE. Initialement spécifiée dans la version 12
(Rel.12) des spécifications 3GPP, une version 13 (Rel.13) a été prévue pour le premier trimestre
2016. La Rel.13 prévoit notamment un mode « bande étroite » (NB-Narrow Band) avec une bande
passante à 200 kHz, et un débit plus faible encore (~ 150kbits par seconde). La question de
l’utilisation des bandes ISM en complément des bandes sous licence se pose également. Ces travaux

18
menés par 3GPP, préparent l’arrivée de la prochaine génération de réseaux mobiles – la 5G – prévue
cette année et pour laquelle l’IoT et notamment les LPWAN occuperont une place centrale.

1.7.3 Protocoles Applicatifs

D'autres protocoles de transfert pour les appareils à ressources limitées sont à l'étude. Comme le
protocole pour applications contraintes (CoAP pour Constrained Application Protocol), qui utilise
un modèle de communication de type requête/réponse. Ou le protocole de file de messages avancé
(AMQP pour Advanced Message Queuing Protocol) qui, comme MQTT, s'appuie sur un modèle
publication/abonnement. Citons et expliquons quelques protocoles applicatifs.

 IPv4 / IPv6 / 6LoWPAN

Le protocole réseau classique IPv4 assure l’adressage de seulement 4,3 milliards d’appareils. Or,
D’ici à 2025, 76 milliards d’appareils seront connectés à internet via l’Internet of Things (IoT)
(cf.1.2.3.1). Pour en assurer la performance, nous avons besoin du nouveau protocole réseau IPv6,
son héritier. L’IPv6 prend, quant à lui, en charge 340 sextillions (un milliard fois un milliard fois un
milliard fois un milliard) d’adresses. Il s’avère donc crucial pour les fabricants d’appareils IoT. Le
nouveau protocole garantit, en effet, que leurs appareils pourront continuer à fonctionner sur
internet. 6LoWPAN est l’acronyme de IPv6 Low Power Wireless Personal Area Networks. C’est
un réseau sans fil à faible puissance ou tous les nœuds ont leurs propres adresses IPV6, qui leurs
permettent de se connecter directement à l’internet. 6LoWPAN est un mécanisme de
compression et d’encapsulation d’entête permettant aux paquets IPv6 d’être envoyés via le
protocole de communication IEEE-802.15.4.

Figure 1.09 : Réseau 6LoWPAN

19
Tous les nœuds du réseau 6LoWPAN ont une adresse IPv6. Ils nécessitent une faible mémoire et
une faible puissance de traitement. Dans une application dans l’agriculture les nœuds du réseau
peuvent être des capteurs de Ph, capteurs de présence…
En ce qui concerne le routeur EDGE, il peut être vu comme une passerelle simplifié de passage
d’adresse IPv6 compressé en adresse IP internet standard (IPV4 ou IP). L’entête IPv6 comprimé
nécessite un dispositif intermédiaire qui assure la conversion entre 6LoWPAN et l’entête IP
standard.
 TCP/UDP : Ce sont des protocoles de communication en mode connectée et non connectée

 HTTP

Le protocole HTTP (HyperText Transfer Protocol) est le protocole le plus utilisé sur Internet. Le
but du protocole HTTP est de permettre un transfert de fichiers (essentiellement au format HTML)
localisés grâce à une chaîne de caractères appelée URL entre un navigateur (le client) et un serveur
Web.

 CoAP

Bien que l'infrastructure du web soit disponible et utilisable par les appareils IoT, elle est trop lourde
pour la majorité des applications de l'IoT. En juillet 2013, l'IETF a publié le Protocole d'application
contrainte (CoAP, Constrained Application Protocol) pour utilisation avec une faible puissance et
des nœuds et réseaux à pertes (limitées) (LLNs). CoAP, comme HTTP, est un protocole REST.

 MQTT

MQ Telemetry Transport (MQTT) est un protocole open source qui a été développé et optimisé
pour les appareils limités et à faible bande passante, à latence élevée, ou pour les réseaux non fiables.
Il s'agit d'un transport de messages de publication/d'abonnement qui est extrêmement léger et idéal
pour le raccordement à des réseaux de petits appareils avec une bande passante minimale. MQTT
utilise efficacement la bande passante, accueille toutes les données, et est en permanence informé
de l'état de la session, car il utilise le protocole TCP. Il est destiné à minimiser les besoins en
ressources de l'appareil tout en essayant d'assurer une fiabilité et un certain degré d'assurance de
livraison avec des niveaux de service.

20
 XMPP

XMPP (Extensible Messaging and Presence Protocol) est un bon exemple de technologie web
existante qui trouve un nouvel emploi dans l'espace IoT. XMPP prend ses racines dans les
informations de messagerie instantanée et de présence, et s'est étendu aux appels vocaux et vidéo, à
la collaboration, au middleware léger, à la syndication de contenu, et au routage généralisé de
données XML. C'est un concurrent pour la gestion à grande échelle des produits blancs de
consommation tels que les lave-linge, les sèche-linge, les réfrigérateurs, et ainsi de suite. Les atouts
de XMPP sont son adressage, sa sécurité et évolutivité. Cela le rend idéal pour les applications IoT
grand-public.

1.8 Conclusion

Avec le 5G en cours, l’Internet des Objets prendra le devant de la scène. Elle va s’intégrer petit à
petit jusqu’à faire partie de notre vie quotidienne. Au final, l’Internet des Objets va changer la façon
dont nous interagissons avec le monde qui nous entoure. Les objets du quotidien que nous
considérions comme étant banals vont commencer à avoir un comportement autonome et à anticiper
nos besoins.

21
CHAPITRE 2
MODELE CLIENT-SERVEUR ET ARDUINO

2.1 Introduction

Dans l’informatique moderne, les systèmes d’information convergent vers une architecture
centralisée selon un environnement client-serveur. Cette dénomination signifie que des machines
clientes (faisant partie du réseau) contactent un serveur - une machine généralement puissante leur
fournit des services. Nous allons voir comment cette technologie permet d’exploiter au mieux les
réseaux, et permet un haut niveau de coopération entre différentes machines sans que l’utilisateur
se préoccupe des détails de compatibilité

2.2 Concepts et définitions

2.2.1 Client-serveur

Le modèle client-serveur se base sur le mode « message ». Le client envoie dans un premier message
une requête d’exécution d’un traitement à un serveur. Le serveur effectue le travail et fournit dans
un second message la réponse. Ce genre de communication par message de données en mode
asynchrone est supporté par les protocoles de transport. Le modèle client-serveur se base sur l’appel
de procédure distance.
 Le client (l’appelant) fait exécuter une procédure à distance par un site (le serveur).
 Le serveur (l’appelé) exécute la procédure.
 Le mécanisme de procédure distance se base sur la sémantique et la présentation syntaxique

Figure 2.01 : Concept Client-Serveur

Le modèle client-serveur s'articule autour d'un réseau auquel sont connectés deux types
d'ordinateurs le serveur et le client. Le client et le serveur communiquent via des protocoles. Les
applications et les données sont réparties entre le client et le serveur de manière à réduire les coûts.
Le client-serveur représente un dialogue entre deux processus informatiques par l’intermédiaire

22
d’un échange de messages. Le processus client sous-traite au processus serveur des services à
réaliser. Les processus sont généralement exécutés sur des machines, des OS et des réseaux
hétérogènes.

2.2.2 Serveur

Un serveur est initialement passif, il attend, il est à l’écoute, prêt à répondre aux requêtes envoyées
par des clients. Dès qu’une requête lui parvient, il la traite et envoie une réponse. Le processus
serveur :
 offre un point d’entrée sur le réseau
 entre dans une boucle infinie d’attente de requêtes
 à la réception d’une requête, déclenche les processus
 associés à la requête, puis émet la réponse vers le client
 Deux types de serveurs :
o itératifs : ne gèrent qu’un seul client à la fois
o parallèles : fonctionnent en mode concurrent.
Un serveur WEB est une machine sur laquelle le service HTTP est à l'écoute de requêtes http en
provenance du réseau. L’application cliente d'un serveur HTTP est généralement un logiciel
navigateur. Lorsqu'un utilisateur saisi une URL dans la barre d'adresse, il émet une requête à
destination du service HTTP actif sur un serveur. Par défaut, le service HTTP utilise le port 80, mais
il est possible d'utiliser un autre port, soit pour des raisons de sécurité, soit parce qu'un serveur assure
ce service pour différents sites web.

2.2.3 Client

On appelle logiciel client un programme qui utilise le service offert par un serveur. Une application
cliente est moins complexe qu’une application serveur.
 La plupart des applications clientes ne gèrent pas d’interactions avec plusieurs serveurs.
 La plupart des applications clientes sont traitées comme un processus conventionnel ; un
serveur peut nécessiter des accès privilégiés.
Dans un réseau informatique, un client est le logiciel qui envoie des demandes à un serveur. Il peut
s'agir d'un logiciel manipulé par une personne. L'ordinateur client est généralement un ordinateur
personnel ordinaire, équipés de logiciels relatifs aux différents types de demandes qui vont être
envoyées, comme un navigateur web, un logiciel client pour le World wide web. Les caractéristiques
d’un client sont les suivantes : il est d’abord actif (ou maître), il envoie des requêtes au serveur, il
attend et reçoit les réponses du serveur.

23
2.3 Notion de ports et de protocoles

2.3.1 Notion de port

Il existe deux grandes classifications de ports :


 Les ports physiques
 Les ports virtuels
Chaque type a sa propre définition, sa propre fonction et ses propres types.

2.3.1.1 Port physique

Un port physique permet de connecter les composants matériels internes ou des périphériques
externes à l’unité centrale de l’ordinateur. Les ports internes fournissent par exemple des connexions
aux CD-ROM ainsi qu’aux disques durs qui permettent à l’ordinateur de fonctionner. Pour le port
externe, il relie l’appareil aux modems, imprimantes, et d’autres périphériques.
Les ports les plus fréquemment utilisés sont :
 Port USB
 Port VGA
 Port Ethernet
 Port HDMI

2.3.1.2 Port virtuel

Les suites de protocoles internet telles que UDP ou TCP s’appuient sur des ports virtuels comme
points de connexion pour l’échange d’information et la transmission de données. Les données
voyagent à partir d’un port de l’appareil initial et se dirigent vers l’extrémité réceptrice de la ligne.
Un numéro de port est un entier de 16 bits spécialement conçu pour contenir le protocole utilisé
pour le transfert.il permet d’identifier des ports réseau spécifiques en conservant l’adresse IP
correspondante et le protocole utilisé pour la connexion.
Puisqu’un port réseau est utilisé pour identifier l’application ou le processus sur l’appareil, un
ensemble de numéros de port est attribué à différents types de services ou programmes réseau.
 0-1023 : ces numéros sont réservés aux ports bien connus ou couramment utilisés. Attribués
par l’Internet Assigned Numbers Authority (IANA), la majorité de ces ports prennent en
charge les services serveur nécessaires aux connexions réseau. Par exemple :
o 21 FTP
o 23 Telnet

24
o 53 DNS
o 80 HTTP
 1024-49151 : pour ces numéros, ils sont enregistrés ou semi-réservés. Les entreprises, les
organisations ou même les particuliers peuvent s’inscrire pour utiliser ces numéros de port
afin de fournir des services réseau avec l’IANA.
 49152-65535 : ces ports font référence aux ports éphémères utilisés par les programmes
clients.

2.3.2 Notion de protocoles

Un protocole est une série d'étapes à suivre pour permettre une communication harmonieuse Entre
plusieurs ordinateurs. Internet est un ensemble de protocoles regroupés sous le terme "TCP-IP"
(Transmission Control Protocol/Internet Protocol).
Les protocoles sont classés en deux catégories :
 Les protocoles où les machines s'envoient des accusés de réception (pour permettre une
gestion des erreurs). Ce sont les protocoles "orientés connexion"
 Les autres protocoles qui n'avertissent pas la machine qui va recevoir les données sont les
protocoles "non orientés connexion"
Ici-bas, nous voyons une liste non-exhaustive des protocoles souvent utilisés avec leur numéro de
port.

Figure 2.02 : Ports et protocoles

25
2.4 Les Sockets

La notion de socket a été introduite dans les distributions de Berkeley (un fameux système de type
UNIX, dont beaucoup de distributions actuelles utilisent des morceaux de code). C’est la raison
pour laquelle on parle parfois de sockets BSD (Berkeley Software Distribution).
Il s’agit d’un modèle permettant la communication inter processus (IPC – Inter Process
Communication) afin de permettre à divers processus de communiquer aussi bien sur une même
machine qu’à travers un réseau TCP/IP.

2.4.1 Fonctionnalités

Typiquement, un socket respecte un flux spécifique d’évènement pour qu’elle fonctionne. Pour un
modèle client-serveur orienté connexion, le socket du processus serveur attend la demande d’un
client. Pour ce faire, le serveur doit d’abord établir une adresse que les clients peuvent utiliser pour
trouver et se connecter à lui. Lorsqu’une connexion est établie avec succès, le serveur attend que les
clients demandent un service. L’échange de donnée aura lieu si le client se connecte au serveur via
le socket.
Les sockets aident à lier les extrémités client et serveur du programme et sont souvent illustrés
comme un tuyau entre deux programmes.
L’exemple la plus évident est celui quand on navigue sur internet dans une page XHTML, notre
navigateur va utiliser les sockets pour demander au serveur le code source de la page, pour pouvoir
afficher ce qu’elle contient. Le schéma, à titre d’exemple qui va suivre est très simplifié, mais permet
d’avoir une vision simplifiée du principe.

Peux-tu me donner la page


index.html ?

Voilà la page que tu m’as


demandé

Figure 2.03 : Vision simplifiée du principe

2.5 WebSocket

WebSocket est un protocole de communication informatique, fournissant des canaux de


communication en duplex intégral sur une seule connexion TCP.

26
WebSocket est distinct de HTTP. Les deux protocoles sont situés à la couche 7 dans le modèle OSI
et dépendent de TCP à la couche 4. Bien qu'ils soient différents, WebSocket est conçu pour
fonctionner sur les ports HTTP 443 et 80 ainsi que pour prendre en charge les proxies et
intermédiaires HTTP, le rendant ainsi compatible avec le protocole HTTP. Pour assurer la
compatibilité, la négociation WebSocket utilise l'en-tête HTTP Upgrade pour passer du protocole
HTTP au protocole WebSocket.
Le protocole WebSocket permet une interaction entre un navigateur Web (ou une autre application
cliente) et un serveur Web. Il facilite le transfert de données en temps réel depuis et vers le serveur.
Ceci est rendu possible en fournissant un moyen standardisé pour le serveur d'envoyer du contenu
au client sans être d'abord demandé par le client, et en permettant aux messages d'être transmis dans
les deux sens tout en maintenant la connexion ouverte. De cette manière, une conversation continue
bidirectionnelle peut avoir lieu entre le client et le serveur. Tornado est la solution adéquate surtout
pour les connexions longue durée comme celles qui nécessitent le transfert en temps réel.

Figure 2.04 : Communication bilatérale avec websocket

2.6 Serveur Tornado

Tornado est un framework Web Python et une bibliothèque de mise en réseau asynchrone,
initialement développés chez FriendFeed .

Figure 2.05 : Serveur web en temps réel Tornado

27
En utilisant des E / S réseau non bloquantes, Tornado peut évoluer jusqu'à des dizaines de milliers
de connexions ouvertes, ce qui le rend idéal pour les longues interrogations , les WebSockets et
d'autres applications qui nécessitent une connexion de longue durée à chaque utilisateur.

2.6.1 Composants

Tornado peut être divisé en quatre composants principaux:


 Un framework Web (y compris RequestHandler qui est sous-classé pour créer des
applications Web et diverses classes de prise en charge).
 Implémentations côté client et serveur de HTTP (HTTPServer et AsyncHTTPClient).
 Une bibliothèque de réseau asynchrone comprenant les classes IOLoop et IOStream, qui
servent de blocs de construction pour les composants HTTP et peuvent également être
utilisées pour implémenter d'autres protocoles.
 Une bibliothèque coroutine (tornado.gen) qui permet d'écrire du code asynchrone de manière
plus simple que d'enchaîner les rappels. Ceci est similaire à la fonctionnalité coroutine native
introduite dans Python 3.5. Les coroutines natives sont recommandées à la place du module
tornado.gen lorsqu'elles sont disponibles.

2.6.2 E / S asynchrones et non bloquantes

Les fonctionnalités Web en temps réel nécessitent une connexion de longue durée pour la plupart
inactive par utilisateur. Dans un serveur Web synchrone traditionnel, cela implique de consacrer un
thread à chaque utilisateur, ce qui peut être très coûteux.
Pour minimiser le coût des connexions simultanées, Tornado utilise une boucle d'événements à un
seul thread. Cela signifie que tout le code d'application doit viser à être asynchrone et non bloquant
car une seule opération peut être active à la fois.
Les termes asynchrone et non bloquant sont étroitement liés et sont souvent utilisés de manière
interchangeable, mais ce n'est pas tout à fait la même chose.

2.6.2.1 Modèle bloquant vs modèle non bloquant

Imaginez un programme dont le rôle est de télécharger un fichier puis de l'afficher.


Voici comment on écrirait le code dans un modèle bloquant :

Télécharger un fichier
Afficher le fichier
Faire autre chose
Les actions sont effectuées dans l'ordre. Il faut lire les lignes de haut en bas :

28
1. Le programme va télécharger un fichier sur Internet
2. Le programme affiche le fichier à l'utilisateur
3. Puis ensuite le programme peut faire d'autres choses (effectuer d'autres actions).
Maintenant, on peut écrire le même code sur un modèle non bloquant :
Télécharger un fichier
Dès que c’est terminé, afficher le fichier
Faire autre chose

Le programme n'exécute plus les lignes dans l'ordre où elles sont écrites. Il fait ceci :
1. Le programme lance le téléchargement d'un fichier sur Internet
2. Le programme fait d'autres choses (le programme suit son cours)
3. Dès que le téléchargement est terminé, le programme effectue les actions qu'on lui
avait demandées : il affiche le fichier.
Schématiquement, l'exécution du programme peut donc se représenter comme le montre la figure
ci-bas :

Figure 2.06 : Le modèle non bloquant en programmation

C'est justement comme ça que fonctionne Tornado. Dès que l'évènement "Téléchargement terminé"
apparaît, une fonction appelée fonction de callback est appelée et effectue des actions (ici, la
fonction de callback affiche le fichier).

29
2.6.2.2 Le modèle asynchrone

Une fonction asynchrone retourne avant qu'elle ne soit terminée, et provoque généralement un
travail en arrière-plan avant de déclencher une action future dans l'application (par opposition aux
fonctions synchrones normales, qui font tout ce qu'elles vont faire avant de revenir). Il existe de
nombreux styles d'interfaces asynchrones:
 Callback argument
 Return a placeholder
 Deliver to a queue
 Callback registry (e.g. POSIX signals)
Quel que soit le type d'interface utilisé, les fonctions asynchrones par définition interagissent
différemment avec leurs appelants; il n'y a pas de moyen gratuit de rendre une fonction synchrone
asynchrone d'une manière transparente pour ses appelants (des systèmes comme gevent utilisent des
threads légers pour offrir des performances comparables à celles des systèmes asynchrones, mais ils
ne rendent pas les choses asynchrones).
Les opérations asynchrones dans Tornado renvoient généralement des objets d'espace réservé
(Futures), à l'exception de certains composants de bas niveau comme l'IOLoop qui utilisent des
rappels (callbacks). Les Futures sont généralement transformés en leur résultat avec les mots clés
await ou yield.
Voici un exemple de fonction synchrone:

Et voici la même fonction réécrite de manière asynchrone qu'une coroutine native:

30
2.7 Redis

Redis, Remote Dictionary Server est un système de gestion de base de données (SGBD)
fonctionnant sur une base de données en mémoire avec le principe clé-valeur scalable. Ce système
de type NoSQL est disponible sous licence BSD et est connu pour obtenir de très bonnes
performances. Redis est l’un des systèmes de gestion de base de données les plus conseillés par les
grands programmeurs.

Figure 2.07 : Logo de Redis

2.7.1 NoSQL

NoSQL correspond à « not only SQL » et c’est en effet ce que ce modèle de base de données veut
être : non pas une contrepartie, mais bien un enrichissement et complément utile des bases de
données SQL relationnelles traditionnelles. Ce faisant, les bases de données NoSQL dépassent les
limites des systèmes relationnels et exploitent un modèle de base de données alternatif. Cela ne veut
toutefois pas dire qu’aucun système SQL n’est utilisé. Il existe de nombreuses variantes combinées
au sein desquelles les deux solutions peuvent être utilisées et qui restent toutefois englobées sous
l’étiquette NoSQL.

2.7.1.1 Techniques flexibles

À l’inverse des bases de données SQL relationnelles, les bases de données NoSQL n’utilisent pas
de tableaux traditionnels (lignes et colonnes) pour le stockage des données. Elles organisent les
gros volumes de données au moyen de techniques flexibles, tels que des documents, graphiques,
paires de valeurs et colonnes. En ce sens, les systèmes NoSQL sont parfaitement adaptés aux
applications exigeant le traitement de larges volumes de données sur la base de structures flexibles.

Contrairement aux bases de données relationnelles qui perdent rapidement de la puissance à mesure
que le volume de données augmente, les bases de données NoSQL s’imposent comme une solution

31
performante, flexible et évolutive pour le stockage de grosses quantités de données.

2.7.1.2 Dimensionnement horizontal

L’une des particularités des systèmes NoSQL est, en outre, leur capacité de dimensionnement
horizontal. Les bases de données SQL relationnelles sont dimensionnées verticalement. Leur
entière performance repose sur un seul et même serveur. Pour augmenter leur capacité, il faut
investir dans un serveur plus puissant, ce qui, sur la durée est non seulement plus cher, mais limite
également les possibilités de développement d’application. Les solutions NoSQL répartissent
généralement leurs données sur plusieurs serveurs. En cas d’augmentation du volume de données,
de nouveaux serveurs peuvent alors facilement être ajoutés.

2.7.2 Base de données en mémoire et système clé-valeur

2.7.2.1 Base de données en mémoire :

Ces bases de données permettent au SGBD d’enregistrer toutes les données directement dans la
mémoire vive. Ceci permet des délais d’accès très courts – même en cas de grands volumes de
données non structurées.

2.7.2.2 Système clé-valeur :

Les bases de données clé-valeur séduisent par leur performance élevée et leur possibilité de mise à
l’échelle grâce à une structure simple. Une clé permettant de consulter les informations a posteriori
est créée pour chaque entrée.

Dans le cas d’un serveur Redis, toutes les données ne sont donc pas situées sur le disque dur, mais
dans la mémoire vive. Du fait de ce choix, Redis est aussi bien une mémoire cache qu’une mémoire
vive : Redis ne fait aucune distinction entre les informations stockées dans la base de données
durablement ou uniquement à court terme.

Chaque entrée de la base de données se voit attribuer une clé. Elle permet de consulter les données
ultérieurement en toute simplicité. Les entrées ne sont donc pas liées les unes aux autres et ne
doivent donc pas être interrogées dans plusieurs tableaux. Les informations sont directement
disponibles.

Du fait de l’enregistrement dans la mémoire vive, il existe toutefois un risque de perte de l’ensemble
des données en cas de panne du serveur. Afin d’éviter cela, Redis peut soit dupliquer
régulièrement toutes les données sur un disque dur de sauvegarde soit enregistrer toutes les

32
commandes nécessaires à une reconstruction dans un fichier journal.

2.7.2.3 Structures de données

Avec Redis, les données sont structurées en strings, c’est-à-dire des suites de caractères simples.
Les clés (qui constituent une partie du système clé-valeur) sont également réalisées sous la forme
de strings. Le système peut toutefois également supporter d’autres structures de données :

 strings : une suite de caractères d’une taille maximale de 512 Mo

 hashes : une entrée avec plusieurs champs

 lists : un ensemble de strings triés par ordre de saisie

 sets : un ensemble de strings non triés

 sorted sets : un ensemble de strings triés par l’utilisateur

 bitmaps : un ensemble d’opérations au niveau des bits

 HyperLogLogs : une estimation basée sur des valeurs précises

 Streams : une liste de strings ou de paires clé-valeur complexes

2.8 Arduino

2.8.1 Qu’est-ce qu’un microcontrôleur [12]

Les cartes Arduino font partie de la famille des microcontrôleurs. Un microcontrôleur est une petite
unité de calcul accompagné de mémoire, de ports d’entrée/sortie et de périphériques permettant
d’interagir avec son environnement. Parmi les périphériques, on recense généralement des Timers,
des convertisseurs analogique-numérique, des liaisons Séries, ... etc. On peut comparer un micro
contrôleurs à un ordinateur classique, mais avec un autre système d’exploitation et avec une
puissance de calcul considérablement plus faible.
Les microcontrôleurs sont inévitables dans les domaines de l’informatique embarquée, de
l’automatique et de l’informatique industrielle. Ils permettent de réduire le nombre de composant et
de simplifier la création de cartes électroniques logiques.
A Chaque carte Arduino correspond une version différente du microcontrôleur ATMega : Atmel
ATMEGA8, ATMEGA168, ATMEGA 328, La carte Arduino UNO utilise en lui le microcontrôleur
ATMega328. Il s’agit d’un microcontrôleur ATMEL de la famille AVR 8bits.

33
2.8.2 Présentation de la carte [3], [12], [13]

2.8.2.1 Définition du module Arduino

Le module Arduino est un circuit imprimé en matériel libre (plateforme de contrôle) dont les plans
de la carte elle-même sont publiés en licence libre dont certains composants de la carte : comme le
microcontrôleur et les composants complémentaires qui ne sont pas en licence libre. Un
microcontrôleur programmé peut analyser et produire des signaux électriques de manière à effectuer
des tâches très diverses. Arduino est utilisé dans beaucoup d'applications comme l'électrotechnique
industrielle et embarquée ; le modélisme, la domotique mais aussi dans des domaines différents
comme l'art contemporain et le pilotage d'un robot, commande des moteurs et faire des jeux de
lumières, communiquer avec l'ordinateur, commander des appareils mobiles (modélisme). Chaque
module d’Arduino possède un régulateur de tension +5 V et un oscillateur à quartez 16 MHz (ou un
résonateur céramique dans certains modèles). Pour programmer cette carte, on utilise l’logiciel IDE
Arduino.

2.8.2.2 Les gammes de la carte Arduino

Actuellement, il existe plus de 20 versions de module Arduino, nous citons quelques un afin
d’éclaircir l’évaluation de ce produit scientifique et académique:
 Le NG d'Arduino, avec une interface USB pour programmer et usage d'un ATmega8.
 L'Arduino Mini, une version miniature de l'Arduino en utilisant un microcontrôleur
ATmega168.
 L'Arduino Nano, une petite carte programmable à l’aide porte USB cette version utilisant un
microcontrôleur ATmega168 (ATmega328 pour une plus nouvelle version).
 Le LilyPad Arduino, une conception de minimaliste pour l'application wearable en utilisant
un microcontrôleur ATmega168.
 Le NG d'Arduino plus, avec une interface d’USB pour programmer et usage d'un
 ATmega168.
 L'Arduino Bluetooth, avec une interface de Bluetooth pour programmer en utilisant un
microcontrôleur ATmega168.
 L'Arduino Diecimila, avec une interface d'USB et utilise un microcontrôleur
 ATmega168.

34
 L’Arduino Duemilanove ("2009"), en utilisant un microcontrôleur l'ATmega168
(ATmega328 pour une plus nouvelle version) et actionné par l'intermédiaire de la puissance
d'USB/DC.
 L'Arduino Mega, en utilisant un microcontrôleur ATmega1280 pour I/O additionnel et
mémoire.
 L'Arduino UNO, utilisations microcontrôleur ATmega328.
 L'Arduino Mega2560, utilisations un microcontrôleur ATmega2560, et possède toute la
mémoire à 256 KBS. Elle incorpore également le nouvel ATmega8U2
 (ATmega16U2 dans le jeu de puces d'USB de révision 3).
 L'Arduino Leonardo, avec un morceau ATmega3Ù4 qui élimine le besoin de raccordement
d'USB et peut être employé comme clavier.
 L'Arduino Esplora : ressemblant à un contrôleur visuel de jeu, avec un manche et des sondes
intégrées pour le bruit, la lumière, la température, et l'accélération.

Figure 2.08 : La carte Arduino UNO

Parmi ces types, nous avons choisi une carte Arduino UNO. Mise à part le fait d’être l’un des
modèles les plus répandu, c’est la première version stable de carte Arduino (voir Figure 2.01). Elle
possède toutes les fonctionnalités d’un microcontrôleur classique en plus de sa simplicité
d’utilisation.

35
2.8.2.3 Avantages de l’Arduino

Il y a de nombreuses cartes électroniques qui possèdent des plateformes basées sur des
microcontrôleurs disponibles pour l'électronique programmée. Tous ces outils prennent en charge
les détails compliqués de la programmation et les intègrent dans une présentation facile à utiliser.
De la même façon, le système Arduino simplifie la façon de travailler avec les microcontrôleurs
tout en offrant à personnes intéressées plusieurs avantages cités comme suit:
 Le prix (réduits) : les cartes Arduino sont relativement peu coûteuses comparativement aux
autres plates-formes. La moins chère des versions du module Arduino peut être assemblée à
la main, (les cartes Arduino préassemblées coûtent moins de 2500 Dinars).
 Multi plateforme : le logiciel Arduino, écrit en JAVA, tourne sous les systèmes
d'exploitation Windows, Macintosh et Linux. La plupart des systèmes à microcontrôleurs
sont limités à Windows. Un environnement de programmation clair et simple :
l'environnement de programmation Arduino (le logiciel Arduino IDE) est facile à utiliser
pour les débutants, tout en étant assez flexible pour que les utilisateurs avancés puissent en
tirer profit également.
 Logiciel Open Source et extensible : le logiciel Arduino et le langage Arduino sont publiés
sous licence open source, disponible pour être complété par des programmateurs
expérimentés. Le logiciel de programmation des modules Arduino est une application JAVA
multi plateformes (fonctionnant sur tout système d'exploitation), servant d'éditeur de code et
de compilateur, et qui peut transférer le programme au travers de la liaison série (RS232,
Bluetooth ou USB selon le module).
 Matériel Open source et extensible : les schémas des modules sont publiés sous une licence
créative Commons, et les concepteurs des circuits expérimentés peuvent réaliser leur propre
version des cartes Arduino, en les complétant et en les améliorant. Même les utilisateurs
relativement inexpérimentés peuvent fabriquer la version sur plaque d'essai de la carte
Arduino, dont le but est de comprendre comment elle fonctionne pour économiser le coût

2.8.3 Constitution de la carte [13], [14]

Un module Arduino est généralement construit autour d’un microcontrôleur ATMEL AVR, et de
composants complémentaires qui facilitent la programmation et l’interfaçage avec d’autres circuits.
Le microcontrôleur est préprogrammé avec un bootloader de façon à ce qu’un programmateur dédié
ne soit pas nécessaire.

36
La carte contient une mémoire morte de 1 kilo. Elle est dotée de 14 entrées/sorties digitales (dont 6
peuvent être utilisées en tant que sortie Pulse Width Modulation), 6 entrées analogiques et un cristal
à 16 MHz (ou un résonateur céramique dans certains modèles), une connexion USB et Possède un
bouton de remise à zéro et une prise jack d'alimentation.

2.8.3.1 Partie matérielle

Ce paragraphe apportera de la lumière sur tout ce qui constitue la carte.

Figure 2.09 : La constitution de la carte Arduino UNO

a) Le Microcontrôleur ATMega328

Le microcontrôleur ATMega328 est constitué par un ensemble d’éléments qui ont chacun une
fonction bien déterminée. En vérité il est constitué des mêmes éléments que sur la carte mère d’un
ordinateur. Globalement, l’architecture interne de ce circuit programmable se compose
essentiellement sur :
 La mémoire Flash : C'est celle qui contiendra le programme à exécuter. Cette mémoire est
effaçable et réinscriptible mémoire programme de 32Ko (dont bootloader de 0.5 ko).
 SRAM : c'est la mémoire dite "vive", elle va contenir les variables du programme. Elle est
dite "volatile" car elle s'efface si on coupe l'alimentation du microcontrôleur. Sa capacité est
2 ko.

37
 EEPROM : C'est le disque dur du microcontrôleur. On y enregistre des infos qui ont besoin
de survivre dans le temps, même si la carte doit être arrêtée. Cette mémoire ne s'efface pas
lorsque l'on éteint le microcontrôleur ou lorsqu'on le reprogramme
Pour ce qui est des broches, la liste ci-dessous énumère leur rôle respectif.

Figure 2.10 : Datasheet du microcontrôleur Atmega328

 Digital I/O (entrées-sorties Tout Ou Rien) = 3 ports Port B, Port C, Port D (soit 23 broches
en tout I/O).
 Timers/Counters : Timer0 et Timer2 (comptage 8 bits), Timer1 (comptage 16 bits) Chaque
timer peut être utilisé pour générer deux signaux PWM. (6 broches OCxA/OCxB).
 Plusieurs broches multi-fonctions: certaines broches peuvent avoir plusieurs fonctions
différentes choisies par programmation.
 PWM = 6 broches OC0A(PD6), OC0B(PD5), 0C1A(PB1), OC1B(PB3), OC2A(PB3),
OC2B(PD3)
 Analog to Digital Converter (resolution 10 bits) = 6 entrees multiplexes ADC0(PC0) à
ADC5(PC5).
 Gestion bus I2C (TWI Two Wire Interface) = le bus est exploité via les broches
SDA(PC5)/SCL(PC4).
 Port série (USART) = émission/réception série via les broches TXD(PD1)/RXD(PD0)

38
 Comparateur Analogique = broches AIN0(PD6) et AIN1 (PD7) peut déclencher
interruption
 Watch dog Trimer programmable.
 Gestion d'interruptions (24 sources possibles (cf. interruptif vecteurs)) : en résumé
o Interruptions liées aux entrées INT0 (PD2) et INT1 (PD3).
o Interruptions sur changement d'état des broches PCINT0 a PCINT23.
o Interruptions liées aux Timers 0, 1 et 2 (plusieurs causes configurables).
o Interruption liée au comparateur analogique.
o Interruption de fin de conversion ADC.
o Interruptions du port série USART.
o Interruption du bus TWI (I2C)

b) Les sources de l'alimentation de la carte

La carte Arduino peut aussi s’alimenter et communiquer avec un ordinateur grâce à son port USB.
On peut aussi l’alimenter avec une alimentation comprise entre 7V et 12V grâce à son connecteur
Power Jack.

c) Les tensions de références

La carte Arduino fournit des ports permettant d’accéder à certaines tensions de référence.
 GND est la référence de la carte Arduino par rapport à laquelle toutes les différences de
tension sont mesurées. Si la carte est reliée à l’ordinateur par un câble USB, cette tension est
celle de la terre.
 VIN. La tension d'entrée positive lorsque la carte Arduino est utilisée avec une source de
tension externe (à distinguer du 5V de la connexion USB ou autre source 5V régulée). On
peut alimenter la carte à l'aide de cette broche, ou, si l'alimentation est fournie par le jack
d'alimentation, accéder à la tension d'alimentation sur cette broche.
 5V. Les circuits électroniques numériques nécessitent une tension d'alimentation
parfaitement stable dite "tension régulée" obtenue à l'aide d'un composant appelé un
régulateur et qui est intégré à la carte Arduino. Cette tension est utilisée pour faire
fonctionner le microcontrôleur et les autres composants de la carte. Elle peut provenir de la
tension d'alimentation VIN via le régulateur de la carte ou bien de la connexion USB mais
cette fois-ci la tension de référence 5V n’est plus aussi bien régulée surtout quand la carte
ne possède pas d’alimentation externe.

39
 3V3. Une alimentation de 3.3V fournie par le circuit intégré FTDI (circuit intégré faisant
l'adaptation du signal entre le port USB de votre ordinateur et le port série de l'ATmega) de
la carte est disponible : ceci est intéressant pour certains circuits externes nécessitant cette
tension au lieu du 5V. L'intensité maximale disponible sur cette broche est de 50mA.

Figure 2.11 : Les tensions de références de l’Arduino

d) Les entrées & sorties

Les entrées / sorties (I/O – input/output) représentent le moyen que possède la carte Arduino
d’interagir avec l’extérieur. Les sorties sont contrôlées par la carte, ce qui permet au programme du
microcontrôleur de déclencher des actions (allumer ou d’éteindre une LED, un ventilateur, un
moteur). Les entrées sont lues par le microcontrôleur, ce qui lui permet de connaitre l’état du
système auquel il est relié.
Il y a deux sortes d’I/O : les I/O numériques, et les I/O analogiques.
- Les entrées/sorties numériques
Les entrées / sorties numériques ne peuvent prendre que deux valeurs, la valeur LOW (~ GND, 0
V), et la valeur HIGH (~ 5 V). La valeur d’un port numérique peut donc être codée sur un bit, 0 ou
1, true ou false.

Figure 2.12 : Les entrées/sorties numériques

La carte Arduino comporte 14 I/O numériques (appelées DIGITAL sur la carte), numérotées de 0 à
13 (voir le schéma ci-dessus), et appelées D0, D1, D2, … D13. Chacun de ces ports peut être déclaré
comme étant une entrée ou comme une sortie dans le programme du microcontrôleur. Les deux
premiers ports (D0 et D1) sont réservés à la communication série, il ne faut pas les utiliser. Le

40
dernier port, D13, possède un indicateur lumineux, une LED qui s’allume quand le port est HIGH,
et qui s’éteint quand le port est LOW.
Le port GND est la masse de la carte (0 V).
 Entrées numériques
Chacun des 14 ports numériques de la carte peuvent être utilisés en entrée. Déclaré comme une
entrée, un port numérique sera considéré comme HIGH ou LOW selon la valeur de la tension
mesurée par la carte et cette valeur pourra être utilisée dans le programme pour déclencher telle ou
telle action. En gros, les tensions inférieures à 1 V seront lues comme LOW, les tensions supérieures
à 4 V seront lues comme HIGH. Il faut éviter les tensions intermédiaires, qui risquent de donner un
résultat indéterminé et il faut noter qu’une tension supérieure à 5.5 V peut détruire la carte Arduino.
 Sorties numériques
Chacun des 14 ports numériques de la carte peuvent être utilisés en sortie. Si un port est déclaré
comme une sortie, le microcontrôleur contrôle la valeur de ce port.
Le courant que peut délivrer un port digital en sortie est limité à 40 mA : en demander plus peut
endommager la carte. Ce genre de situation peut arriver si un port, déclaré comme une sortie, est
directement relié à la masse (port GND) avec une résistance très faible (un fil), et que le programme
bascule la sortie en HIGH (5 V). L’inverse est également dangereux (une sortie numérique reliée au
port 5 V et basculée sur la valeur LOW).
- Les entrées/sorties analogiques
 Les entrées analogiques
Une entrée analogique est une sorte de voltmètre : la carte lit la tension qui est appliquée sur le port.
Cependant le microcontrôleur ne travaille qu’avec des chiffres : il faut donc transformer la tension
appliquée en sa valeur numérique. C’est le travail du convertisseur analogue/digital, dit « CAD ».

Figure 2.13 : Les entrées analogiques

Le CAD de la carte arduino travaille sur 10 bits : il accepte en entrée une tension comprise entre 0
V et Vref une tension de référence, et fournit au microcontrôleur un chiffre entier compris entre 0 et
1023 (= 210 - 1). Une tension inférieure à 0 V est lue comme 0, une tension supérieure à V ref est lue

41
comme 1023, une tension intermédiaire est lue comme un entier entre 0 et 1023, avec une relation
linéaire. La tension Vref est 5 V par défaut, mais cette valeur peut être changée dans le programme.
 Les sorties analogiques
La carte Arduino ne possède pas de vraie sortie analogique, capable de produire une tension d’une
valeur arbitraire choisie par l’utilisateur. Certains ports numériques peuvent cependant servir de
sortie analogique en utilisant la technique de PWM (Pulse Width Modulation) : il s’agit des ports 3,
5, 6, 9, 10 et 11 (signalés par un ~ sur la carte) (voir Figure 2.05). Ces ports peuvent simuler une
tension entre 0 et 5 V en basculant rapidement entre leur état LOW (O V) et HIGH (5 V). La valeur
moyenne de la tension est alors 2.5 V si le port passe autant de temps dans un état que dans l’autre,
mais en changeant ce rapport, la valeur moyenne de la tension peut être contrôlée de 0 à 5 V.
La carte arduino est capable de faire varier la valeur moyenne de ces ports avec une sensibilité de 8
bits : on fournit un chiffre entier compris entre 0 et 255 (= 2 8 - 1), et le port délivre une tension
moyenne entre 0 et 5 V (0 = 0 V, 255 = 5 V).

Tension moyenne = 0 V

Tension moyenne = 1.25 V

Tension moyenne = 2.5 V

Tension moyenne = 3.75 V

Tension moyenne = 5 V

Figure 2.14 : Pulse Width Modulation

42
Pour certaines applications, une sortie PMW convient tout à fait. Par exemple, pour alimenter un
moteur, ou pour faire varier la puissance d’une LED.

e) Les ports de communications RX et TX

La carte Arduino UNO a de nombreuses possibilités de communications avec l’extérieur.


L’Atmega328 possède une communication série UART TTL (5V), grâce aux broches numériques
0 (RX) et 1 (TX).
On utilise (RX) pour recevoir et (TX) transmettre (les données séries de niveau TTL). Ces broches
sont connectées aux broches correspondantes du circuit intégré ATmega328.

2.9 Partie logiciel [13], [15]

2.9.1 IDE Arduino

Plusieurs alternatives existent pour développer l’Arduino (extensions pour Code Blocks, Visual
Studio, Eclipse, XCode, etc.) mais nous n’aborderons dans ce chapitre que l’IDE officiel.
L’interface de l’IDE Arduino est plutôt simple (Figure II.6), il offre une interface minimale et épurée
pour développer un programme sur les cartes Arduino. Il est doté d’un éditeur de code avec
coloration syntaxique (1) et d’une barre d’outils rapide (2). Ce sont les deux éléments les plus
importants de l’interface, c’est ceux que l’on utilise le plus souvent. On retrouve aussi une barre de
menus (3) plus classique qui est utilisé pour accéder aux fonctions avancées de l’IDE. Enfin, une
console (4) affichant les résultats de la compilation du code source, des opérations sur la carte, etc.

Figure 2.15 : IDE de l’Arduino

43
- Les boutons
On va voir à présent les rôles des boutons numérotés en rouge.

Figure 2.16 : Les boutons de l’IDE

 Bouton 1 (verify): Ce bouton permet de vérifier le programme, il actionne un module qui


cherche les erreurs dans votre programme.
 Bouton 2 (uploade): Compiler et envoyer le programme vers la carte.
 Bouton 3 (new): Créer un nouveau fichier.
 Bouton 4 (open): Charger un programme existant.
 Bouton 5 (save): Sauvegarder le programme en cours.
 Bouton 6 (serial monitor): Permet d'accéder au port série (en RX/TX).

2.9.2 Langage Arduino

Le langage Arduino est inspiré de plusieurs langages. On retrouve notamment des similarités avec
le C, le C++, le Java et le Processing. Le langage impose une structure particulière typique de
l’informatique embarquée. La fonction setup (voir Figure 2.10) contiendra toutes les opérations
nécessaires à la configuration de la carte (directions des entrées sorties, débits de communications
série, etc.). La fonction loop, elle est exécutée en boucle après l’exécution de la fonction setup. Elle
continuera de boucler tant que la carte n’est pas mise hors tension, redémarrée (par le bouton reset).
Cette boucle est absolument nécessaire sur les microcontrôleurs étant donné qu’ils n’ont pas de
système d’exploitation. En effet, si l’on omettait cette boucle, à la fin du code produit, il sera
impossible de reprendre la main sur la carte Arduino qu’exécuterait alors du code aléatoire.

Figure 2.17 : Un code minimal

44
2.9.2.1 Fonctionnalités de base

a) Les entrées/sorties

Le langage Arduino vient avec un nombre important de fonction de base permettant d’interagir avec
son environnement. Les fonctions les plus utilisée sont les fonctions d’entrée/sorties. Ce sont elles
qui permettent d’envoyer ou de mesurer une tension sur une des broches de la carte.
Dans un premier temps, avant d’effectuer une mesure ou d’envoyer une commande. Il est nécessaire
de définir la direction des broches utilisées. Pour cela on fait appel à la fonction pin Mode en lui
donnant d’une part, la broche concernée, et d’autre part, la direction :
Void setup() {
pinMode(1,OUTPUT) ; // Broche 1 en sortie
pinMode(2,INPUT) ; // Broche 2 en entrée
}
Une fois cette configuration faite, on peut procéder à l’utilisation des broches. Toutes les broches
sont capables d’écrire et de lire des données numériques (c'est-à-dire des 0 (0V) ou des 1 (5V)).
Mais, certaines disposent de fonctionnalité supplémentaire.
Tout d’abord, toutes les cartes Arduino possèdent des entrées analogiques. Ce sont les broches A0-
A1-A2 etc. Elles permettent de lire des tensions analogiques (comprise entre0 et 5V) et de le
convertir en entier (compris entre 0 et 1023) proportionnellement à la tension mesurée (cf. §2.4.1.3).
Certaines cartes Arduino possède des sorties analogiques faisant l’opération inverse (met une
tension sur la broche proportionnellement à l’entier donné), mais ce n’est pas le cas pour l’Arduino
UNO.
Pour pouvoir tout de même contrôler des composants autrement qu’en « tout ou rien » il est possible
d’utiliser des broches PWM. Ce sont les broches annotées par un tilde ~ sur la carte. Les PWM
(Pulse Width Modulation) sont utilisées pour synthétiser des signaux analogiques en modulant le
temps passé à l’état 1 (5V). Le signal obtenu est représenté (figure 2.07). En utilisant une fréquence
relativement élevée, les PWM permettent de commander certains composants comme s’il recevait
une tension analogique. Cela provient du fait que les composants utilisés dans l’électronique
analogique, ne changes pas d’états instantanément. Par exemple, une ampoule à incandescence reste
chaude et éclaire un court instant après avoir été éteinte. Ce phénomène est généralement invisible
à l’œil nu. Grâce à elles, on pourra par exemple faire varier l’intensité d’une LED. La plupart des
cartes Arduino utilisent des PWM cadencées à 490 Hz environ.

45
Toutes ces fonctionnalités sur les broches d’entrées sorties sont utilisables par le biais de quatre
fonctions :
 digitalRead(pin): mesure une donnée numérique sur une des broches, la broche en question
doit être réglée en entrée.
 digitalWrite(pin, value): écrit une donnée numérique sur une des broches, la broche
concernée doit être réglée en sortie. Le paramètre value doit être égal à HIGH (état 1 soit
5V) ou LOW (état 0 soit 0V).
 analogRead(pin): mesure une donnée analogique sur une des broches (compatible
seulement), la broche doit être réglée sur entrée.
 analogWrite(pin, value): écrit une donnée sous forme de PWM sur une des broches
(compatible uniquement), la broche doit être réglée en sortie. Le paramètre value doit être
compris dans l’intervalle [0;255].

b) La gestion du temps

Des intervalles de temps sont toujours nécessaires pour la plupart des applications de cette
technologie. Par exemple, pour gérer le temps d’appui sur un bouton ou pour faire une sonnerie qui
se répète un certain nombre de fois. Le langage Arduino fournis quelques fonctions permettant de
gérer le temps.
Il est possible d’insérer une pause dans son programme pendant un instant. Pour cela, on utilise les
fonctions delay et delayMicroseconds qui insère une pause suivant le paramètre passé (en
milliseconde pour l’un, en microseconde pour l’autre). Cependant ces fonctions bloquent le
microcontrôleur, on ne peut alors plus effectuer aucune action.
En plus d’insérer une pause, il est possible de mesurer le temps. De la même manière que les
fonctions de délai, on utilise les fonctions millis et micros qui donnent le nombre de milliseconde
(respectivement microseconde) depuis le lancement de la carte. Attention, ces fonctions
incrémentent une variable (interne). Ces variables se remettent à zéro une fois le maximum atteint
(overflow). La variable utilisée pour les millisecondes atteintes est maximum au bout de 49 jours et
17 heures et la variable utilisée pour les microsecondes au bout de 71 minutes et 34 secondes
environ. Il faut donc faire attention lors de l’utilisation de ces fonctions pour des utilisations longues
durées.

46
c) Les interruptions

Il est parfois nécessaire en informatique embarquée, d’attendre un événement externe (appui sur un
bouton, données d’un capteur, etc.) pour effectuer une action. Pour ce type de problème, on utilise
les interruptions. Les interruptions sont des portions de code (fonctions) appelés lorsque qu’un
événement (interne ou externe) survient et a besoin d’être traité sur le champ. Il faut cependant faire
attention, ce mécanisme interrompt le code exécuté, il est prioritaire par rapport au reste du code.
Vu qu’il est possible de mesurer les événements ponctuellement (via les fonctions d’entrées/sorties)
on utilise généralement les interruptions pour du code critique (arrêt d’urgence par exemple) ou des
événements non-ponctuels (transmissions de données depuis un ordinateur par exemple).
Aussi, le nombre d’interruption externe est limité sur à 2 sur la plupart des cartes Arduino. Les
interruptions sont utilisables sur les broches compatibles seulement (broches 2 et 3 sur l’Arduino
UNO). Pour choisir la fonction et la broche utilisée pour l’interruption, on utilise la fonction
attachInterrupt. On peut utiliser detachInterrupt pour supprimer l’interruption. Il est possible de
partir en interruptions sur 4 types d’événements :
 LOW : Lorsque la broche est à l’état 0 (0V)
 RISING : Lorsque la broche passe de l’état 0 (0V) à l’état 1 (5V) (front montant).
 FALLING : Lorsque la broche passe de l’état 1 (5V) à l’état 0 (0V) (front descendant).
 CHANGE : Lorsque la broche change d’état (front montant et front descendant).

d) Quelques librairies

Afin d’éviter d’implémenter des fonctions courantes de l’informatique embarquée, L’IDE vient
avec un nombre important de librairies.
Une des librairies les plus utilisée est celle implémentant la communication série. La majorité des
cartes Arduino possède un émulateur de connexion série pour communiquer au travers de l’USB.
Ainsi, on peut communiquer avec l’ordinateur sur lequel la carte Arduino est connectée. Cela
permet, par exemple, de déboguer un programme en affichant la valeur des variables ou simplement
afficher la valeur des capteurs. Cette librairie à été directement implémentée dans le langage
Arduino. On peut accéder à la communication série (au travers l’USB) grâce à l’objet Serial. Une
autre librairie existe pour communiquer par liaison série via une des broches de la carte.
Il est parfois nécessaire de stocker des informations même après l’arrêt de la carte. Il est possible de
stocker une petite quantité d’information sur la mémoire EEPROM (Electricaly Erasable
Programmable Read Only Memory) intégrée. Une librairie est aussi fournie pour dialoguer avec

47
cette mémoire. Il est possible de lire et d’écrire sur cette mémoire sans rien ajouter sur la carte. Cette
mémoire est accessible via l’objet EEPROM et en ajoutant la librairie du même nom. Attention, la
mémoire EEPROM à une durée de vie limitée (environ 100 000 cycles d’écritures). Il faut donc
veiller à ne pas écrire répétitivement les données. D’autres alternatives existent pour ajouter de plus
grandes quantités de mémoires mortes à l’Arduino (carte SD notamment) mais cela demande l’ajout
de composants externes.
Pour terminer, il existe aussi des librairies permettant de contrôler des composants externes. Parmi
ces librairies, une des plus populaires est celle contrôlant des capteurs.

2.10 Conclusion

Le modèle client /serveur est la base de tous les services réseaux informatique, c'est pour cela que
nous nous sommes intéressé par l'étude de ce modèle. Nous avons parlé également du serveur web
Tornado qui tire toute sa puissance du modèle non bloquant. La base de données Redis qui est une
base de données NoSQL avec le principe clé-valeur est un outil de stockage qui favorise la rapidité.
Dans ce chapitre nous avons également vu une présentation générale de la carte Arduino UNO, ses
caractéristiques matériels et techniques et on a mis la lumière sur le logiciel IDE Arduino.
On peut conclure sur le fait que les cartes Arduino sont des outils puissants pour les cartes
électroniques mais aussi, elles permettent un accès efficace et intuitif à l’informatique embarqué.
On va voir plus bas une approche théorique de l’onde ultrasonore puis les moyens utilisés pour la
mettre en valeur à travers cet puissant outil.

48
CHAPITRE 3
APPROCHE THEORIQUE DE L’ONDE ULTRASONORE

3.1 Introduction

Le sifflet de dressage n’est pas perceptible par l’homme mais provoque des réactions chez les
animaux. Les sonars sont utilisés pour la détection d’obstacles dans les océans. Dans la vie de tous
les jours, pour la plupart d’entre nous, l’ultrason est seulement reconnu à travers ses nombreuses
applications. Mais dans cette partie, nous allons explorer théoriquement ce phénomène à travers des
équations et des modèles mathématiques. Nous allons chercher à comprendre les paramètres qui
interviennent et surtout sa propagation dans les milieux solides et liquides.
Nous allons également voir le fruit du progrès de l’électronique : Arduino. Il combine la puissance
de la programmation et celle de l’électronique. Il s’agit d’un circuit imprimé en matériel libre sur
lequel se trouve un microcontrôleur qui peut être programmé pour analyser et produire des signaux
électriques, de manière à effectuer des tâches très diverses allant de la domotique passant par le
pilotage de robots et allant vers l’agriculture intelligente.

3.2 Définition des ultrasons [15]

Les ultrasons sont des sons (phénomène vibratoire mécanique) de fréquences supérieures à la
gamme des fréquences audibles chez l ‘homme (le plus souvent, au—dessus de 20 kHz) mais qui,
à la différence des rayonnements électromagnétiques, ne peuvent se propager dans le vide, mais
uniquement dans un milieu élastique.

Figure 3.01 : Propagation d’onde ultrasonore. (a) Onde sphérique, (b) Onde plane

49
Lorsqu'elles se propagent dans un milieu infini, elles peuvent le faire soit avec une symétrie
sphérique dans toutes les directions (source isotopique), soit sous forme de faisceaux parallèles
d'ondes planes. Ceci dépend de la nature et de la géométrie de la source de vibration. De manière
idéale, si le rayon de la source est petit vis-à-vis de la longueur d'onde de l'onde émise, celle-ci est
alors sphérique. Cependant, si le rayon de la source est plus grand que la longueur d'onde émise,
cette dernière est alors une onde plane

3.3 Paramètres de l’onde ultrasonore

Cette section présente les différents paramètres nécessaires à la caractérisation de l'onde ultrasonore.

3.3.1 L’impédance acoustique

Le comportement du milieu vis-à-vis des ultrasons est exprimé par une constante appelée impédance
acoustique Z. Elle est définie comme le produit de la densité et de la vitesse du son du milieu et
donnée par la relation suivante :
Z = ρc
(3.01)
Où:
- c est la vitesse du son dans le milieu en m.s-1 ;
- ρ est la densité du milieu en kg.m-3

3.3.2 La longueur d’onde

La longueur de l'onde ultrasonore dans un milieu est reliée à une fréquence donnée, elle est donnée
par la relation suivante :
c = fλ
(3.02)
Où :
- c est la vitesse du son dans le milieu en m.s-1 ;
- f est la fréquence d'émission en Hz

3.3.3 La pression et l’intensité

La pression acoustique varie selon la fréquence de l'onde ultrasonore. L'énergie délivrée dans le
milieu dépend de ces variations de pression qui soumettent les particules du milieu à des
mouvements vibratoires.
On appelle intensité ultrasonore l'énergie qui traverse perpendiculairement une unité de surface
pendant une unité de temps. Elle est reliée à la pression acoustique par la formule suivante :

50
𝑃2
𝐼=
2𝜌𝑐
(3.03)
Où:
- c est la vitesse du son dans le milieu en m.s"1;
- ρ est la densité du milieu en kg.m"3;
- P est appelée la pression d'onde acoustique exprimée en kg.m-1.s-2 ou 105.dynes.m-2 ;
- I est l'intensité ultrasonore en W.m-2.
3.3.4 L'équation de l’onde ultrasonore [19], [20]

L'équation de l'onde ultrasonore plane dans un milieu peut se mettre sous la forme suivant :
𝜕2𝑃 𝜌 𝜕2𝑃
− =0
𝜕𝑡 2 𝐸𝑟 𝜕𝑡 2
(3.04)
Où:
- P est la pression acoustique en kg.m-1 .s-2 ;
- ρ la densité du milieu en kg.m-3 ;
-
Er le module de Young en kg.m-2 .s-1

3.3.5 Propagation des ultrasons dans un milieu solide

La propagation d'ultrasons dans les milieux solides, dépendamment de la puissance du transducteur,


peut produire un échauffement ou une vibration. Dans les solides cependant, non seulement les
forces de compression sont transmises, mais aussi les forces de cisaillement.

Figure 3.02 : Propagation des ondes longitudinales dans un solide

51
C'est pourquoi, en plus des ondes longitudinales, des ondes transversales et des ondes de torsion
peuvent se propager. La nature des ondes existantes dans un milieu dépend beaucoup de la forme et
des dimensions de ce milieu.
Si on s'intéresse à un solide de dimension finie, les ondes longitudinales ou de compressions sont
caractérisées par le fait que la direction de la vibration des particules est parallèle à la direction de
propagation de l'onde, tel qu'illustrée à la figure 3.02. La vitesse des ondes longitudinales est donnée
par la formule suivante [19] :

𝐸𝑌
𝜈𝐿 = √
𝜌

(3.05)
Où EY est le module de Young en kg.m-2.s-1 et ρ la densité du milieu en kg.m-3.
Par opposition, on peut distinguer les ondes transversales ou de cisaillement, lorsque la direction de
vibration des particules est perpendiculaire à la direction de propagation de l'onde, comme illustré
à la figure 3.03.

Figure 3.03 : Propagation des ondes transversales dans un solide

La vitesse des ondes transversales est donnée par [19] :

𝜇𝑠
𝜈𝑡 = √
𝜌

(3.06)
Où :
- μs est le module d'élasticité transverse

52
Puisque 𝐸𝑌 = 2𝜇𝑠 (1 + 𝜈) avec v est le coefficient de Poisson, l'équation (3.06) peut s'écrire comme
suit [19] :

𝐸𝑦
𝑣𝑡 = √
2𝜌(1 + 𝑣)

Enfin, en plus des ondes longitudinales et transversales, des ondes de surface (ou de Rayleigh)
peuvent se propager sous certaines conditions, le long de la surface d'un solide sans pénétrer dans
le volume. De telles ondes sont une combinaison de déplacements longitudinaux et transversaux.
La vitesse est donnée par l'expression ci-dessous [19]:

0,87 + 1,12𝜈 𝜇𝑠
𝜈𝑠 = √
1+𝜈 𝜌

(3.07)

3.3.6 Propagation des ultrasons dans un milieu liquide [16], [19]

La propagation des ultrasons dans les liquides se limite à celle d'ondes longitudinales puisque ces
milieux ne peuvent résister aux contraintes tangentielles. La vitesse avec laquelle les ultrasons se
propagent dans le milieu dépend de l'élasticité et de la densité du milieu. Elle est donnée par
l'équation suivante :

𝑘
𝑉=√
𝜌

(3.08)
Où:
- k est le constant élastique approprié en kg.m-1.s-2 ;
- ρ la densité du milieu en kg.m-3.
Lorsque les ondes sonores se propagent dans un liquide, on observe une perte d'énergie due au
mouvement relatif des particules qui constituent le milieu. Elle est due aux forces de viscosité qui
tendent à dégrader l'énergie acoustique en chaleur. La viscosité dans ce cas, est équivalente à la
rigidité pour un matériau. Ainsi, plus la viscosité est élevée plus la température du milieu augmente.

3.3.7 Émission et réception de l'onde ultrasonore

L'intensité d'une onde acoustique qui se propage dans les différents milieux s'atténue le long de son
parcours. Plusieurs facteurs contribuent à cette atténuation tel que l'absorption, la réfraction, la
réflexion et la diffusion. L'émission d'impulsions ultrasoniques dans un solide produit deux effets:

53
un effet thermique qui dépend de la puissance acoustique de l'onde et qui engendre une propagation
de la chaleur dans le milieu et un effet mécanique qui est la transmission, la réflexion et la dispersion.

3.3.7.1 Description du faisceau ultrasonore émis

La théorie de la diffraction montre qu'un faisceau ultrasonore émis par une source plane, circulaire
de rayon r répondant à la condition r > λ, (r est le rayon de la source, λ est la longueur d'onde)
comprend deux parties, une zone initiale cylindrique et une zone distale conique où le faisceau
diverge, que l'on nomme respectivement la zone de Fresnel et la zone de Fraunhofer.

a) Zone initiale: zone de Fresnel [17], [18]

C'est le champ initial ou zone de Fresnel qui est définie comme une source circulaire.
Toute l'énergie est concentrée dans une zone cylindrique dont le diamètre est égal à celui de la
source sonore. On caractérise le faisceau sonore par la relation suivante : (voir Figure 3.02)
d = DS
𝐷𝑠 2
𝑙= Valable lorsque DS > λ
4𝜆
(3.09)
Où :
- d est le diamètre de la zone en m;
- l est la longueur de la zone en m;
- DS est le diamètre de la source en m;
- λ est la longueur de l'onde ultrasonore en m
L'intensité sur l'axe de propagation dans ce cas passe par une succession de maxima et de minima
dont les abscisses sont données par [17], [20] et [21]:
𝑟2
𝑥(𝑚𝑎𝑥) = 𝑘 = 0,1,2, …
(2𝑘 + 1)𝜆
𝑟2
𝑦(𝑚𝑎𝑥) = 𝑘 = 1,2, …
2𝑘𝜆
Pour k = 0, on obtient la position du dernier maximum x(M)= r2/ λ qui représente la limite entre le
champ initial et la zone distale, tel qu’illustrée à la Figure 3.03

b) Zone distale: zone de Fraunhofer [18]

Nommée champ lointain, elle correspond à la partie du faisceau située à une distance de la zone
supérieure de r2 / λ, (où r est le rayon de la source et λ est la longueur d'onde).

54
Dans cette zone, le faisceau est plus homogène que dans la zone de Fresnel, mais il se met à
diverger d'un angle θ (voir la Figure 3.02) par rapport à l'axe central. L'angle de divergence est
proportionnel à la fréquence et au diamètre de la source et est exprimé par la relation suivante
[18]:
1,22𝑐
𝑠𝑖𝑛 𝜃 = Valable pour r> λ
ⅆ𝑓

(3.10)
Où :
- θ est l'angle de divergence en degrés;
- d est le diamètre de la source en m;
- c est la vitesse du son en m.s-1;
- f est la fréquence en Hz

Figure 3.04 : Géométrie d’un faisceau d’ondes ultrasonores

Comme le montre cette figure, en s'éloignant de la source ultrasonore, l'intensité de l'onde devient
faible car l'énergie se répartit.

55
Figure 3.05 : Représentation du champ de Fresnel et du champ de Fraunhofer pour un élément
piézo-électrique de diamètre D1

3.3.7.2 Atténuation d'une onde ultrasonore

L'atténuation d'une onde ultrasonore dépend principalement de la fréquence considérée. Pour la


plupart des matériaux, plus la fréquence est haute plus l'atténuation est importante. La théorie
prévoit que l'atténuation est directement proportionnelle au carré de la fréquence pour une onde
plane.
Considérons une onde plane se propageant suivant la direction +z, Pa est la pression acoustique
spécifiée par la relation suivante [20] :
Pa = P0e-2αx
(3.11)
Où α est le coefficient d'atténuation exprimé en dB/m et donné par la relation suivante [20]:
𝜂𝑤 2
𝛼=
2𝑣𝐿3 𝜌
(3.12)
avec
- η est le coefficient de viscosité exprimée par en N.s.m-2 ou Pa.s;
- ρ est la densité du milieu en kg.m-3;
- vL est la vitesse longitudinale dans le milieu en m. s-1.
Dans les liquides, le coefficient d'atténuation α est donné par l'expression suivante [17]:

56
2𝜋 2 2 4
𝛼 = 3 𝑓 ( 𝜂 + 𝜂𝑣 )
𝜌𝑐 3
(3.13)
Où η et ηv sont des coefficients de viscosité respectivement de cisaillement et de compression qui
dépendent de la température.

3.3.7.3 L'absorption et la dispersion

L'absorption des ultrasons dans les solides dépend beaucoup de la structure de ces derniers. Dans
les milieux homogènes, l'absorption du son est due essentiellement au coefficient de viscosité et à
la conductivité thermique. Comme dans les liquides, l'absorption est proportionnelle au carré de la
fréquence sonore. Dans le cas des substances polycristallines comme la glace, c'est-à-dire des
substances formées d'un grand nombre de petits cristaux séparés (les monocristaux), l'absorption du
son est principalement déterminée par les dimensions relatives des cristaux et de la longueur d'onde.
À haute fréquence, lorsque la longueur d'onde λ est petite par rapport à la taille des cristaux,
l'absorption se fait dans chaque monocristal. Le coefficient d'absorption étant proportionnel au carré
de la fréquence dans ce cas, il est égal à [19]:
8𝜂𝜋 2
𝜇=
3𝜌𝜆2 𝑐
(3.14)
Où:
- μ est le coefficient d'absorption en m-1;
- η est le coefficient de viscosité qui varie en fonction de la température en kg.m-1.s-1;
- ρ est la densité du milieu en kg.m-3;
- c est la vitesse du son dans le milieu en m.s -1;
- λ est la longueur de l'onde ultrasonore en m
Si la longueur d'onde est du même ordre de grandeur que le diamètre des monocristaux, le son est
atténué aux interfaces des différents monocristaux et l'absorption est déterminée principalement
par le processus de diffusion. Quand la longueur d'onde est supérieure au diamètre des
monocristaux, le son est diffusé par les particules de petite dimension devant la longueur d'onde.
Dans le cas de la glace, on définit τ comme étant le rapport de l'énergie absorbée par rapport à
l'énergie incidente émise. Le coefficient d'absorption, calculé expérimentalement, est
généralement mesuré par une différence entre la radiation incidente et la radiation transmise à
travers une épaisseur définie de glace [20] :

57
τ = 1 – exp(μx)
(3.15)
où:
- μ est le coefficient d'absorption (m"1).
- x est l'épaisseur de la glace (m)
La dispersion et la diffusion se présentent lorsqu'une onde ultrasonore rencontre un obstacle de
dimensions nettement inférieures à la longueur d'onde. L'onde incidente est très faiblement
diffractée et une onde de faible amplitude rayonnant dans toutes les directions est générée. Pour
des obstacles sphériques, l'intensité de l'onde ainsi diffusée est inversement proportionnelle à la
puissance 4 de la longueur d'onde. On parle alors de diffusion de Rayleigh.
Ainsi, pour la glace, la dispersion est provoquée par toutes inclusions puisque, par définition, ces
inclusions (tel que les bulles d'air) ont une impédance acoustique différente de celle de la glace.

3.3.7.4 Réflexion et réfraction de l'onde ultrasonore

Lors du passage d'une onde ultrasonore à travers une interface séparant deux milieux de
caractéristiques acoustiques différentes, une partie de l'onde incidente est réfléchie et une autre est
réfractée. L'énergie contenue dans l'onde réfractée est égale à l'énergie de l'onde incidente diminuée
de celle contenue dans l'onde réfléchie. Le mécanisme de réflexion d'une onde ultrasonore est un
point important dans l'étude de propagation d'ondes ultrasonores dans un milieu.

Figure 3.06 : Réflexion des ultrasons à une interface

58
Soit une onde acoustique qui frappe, avec un angle d'incidence θi par rapport à la verticale,
l'interface séparant les milieux 1 et 2, tel qu'illustrée à la figure 3.04. Cette dernière donne naissance
à l'interface, à une onde réfléchie et une onde transmise. Les directions de propagation de ces ondes
font respectivement des angles θr et θt avec la normale à l'interface.

Soit les suffixes i, r et t se rapportant respectivement aux ondes incidentes, réfléchies et transmises.
La variation de pression incidente Pi, la pression réfléchie Pr et la pression transmise Pt s'écrivent
alors :
Pi + Pr = Pt
(3.16)
ⅆ𝑏 ⅆ𝑏 ⅆ𝑏 ⅆ𝑏
Puisque 𝑃 = 𝜌𝑐 alors 𝜌1 𝑐1 ( ) − 𝜌1 𝑐1 ( ) = 𝜌2 𝑐2 ( ) .
ⅆ𝑡 ⅆ𝑡 𝑖 ⅆ𝑡 𝑟 ⅆ𝑡 𝑡

Le signe négatif du second terme indique que la direction de propagation de l'onde réfléchie est
inversée. Après simplification, on obtient [19]:
ⅆ𝑏 ⅆ𝑏 𝜌2 𝑐1 cos 𝜃1 − 𝜌1 𝑐1 cos 𝜃2
( ) ∕( ) =−
ⅆ𝑡 𝑟 ⅆ𝑡 𝑖 𝜌2 𝑐2 cos 𝜃1 − 𝜌1 𝑐1 cos 𝜃2
ⅆ𝑏 ⅆ𝑏 2𝜌1 𝑐1 cos 𝜃1
( ) ∕( ) =−
ⅆ𝑡 𝑟 ⅆ𝑡 𝑖 𝜌2 𝑐2 cos 𝜃1 + 𝜌1 𝑐1 cos 𝜃2
Sous l'incidence normale on a θi = θt, = 0
Le coefficient de réflexion R est défini par le rapport de la puissance réfléchie sur la puissance
incidente, il est exprimé par la relation suivante [19]:
𝑃𝑡 𝑍2 − 𝑍1
𝑅= =( )
𝑃𝑖 𝑍1 + 𝑍2
(3.17)
Le coefficient de transmission T défini par le rapport de la puissance transmise sur la puissance
réfléchie, est donné par la relation suivante [19]:

2𝑍1
𝑇 = 1−𝑅 = ( )
𝑍1 + 𝑍2
(3.18)
Où Zl et Z2 sont les impédances acoustiques des milieux 1 et 2 respectivement, exprimées en
kg.m2.s-1 et données par l'équation (3.01).
Dans le cas où une onde ultrasonore arrive à l'interface des milieux solides, sous incidence oblique
plutôt que sous incidence normale, la partie transmise de l'onde est alors réfractée. De plus, si la

59
source se trouve dans un milieu solide, une onde incidente longitudinale sera réfléchie et réfractée
à la frontière, pour donner naissance, dans chacun des milieux, à une onde longitudinale et à une
onde transversale. Une onde incidente longitudinale Li telle que représentée à la figure 3.06 sera
réfléchie et réfractée à l'interface des milieux 1/2 pour donner naissance dans le milieu 1 à une
onde longitudinale Lr et une onde transversale Tr et, dans le milieu 2, à une onde longitudinale Lr
et une onde transversale Tr. Les angles de réflexion et de réfraction sont fonction des vitesses
relatives dans les milieux respectifs.
sin 𝛼1 sin 𝛼2 sin 𝛼3 sin 𝛼4
= = =
𝛼1 𝛼2 𝛼3 𝛼4

Figure 3.07 : Comportement des ondes sonores incidentes à une interface

Les angles de réflexion et de réfraction sont donnés par la loi de Snell lorsque les vitesses sont
connues [18]. Il peut être remarqué sur la figure 3.05 que α3 augmente en même temps que α1,
jusqu'à ce qu'il atteigne 90°, angle pour lequel l'onde de compression réfractée est parallèle à la
surface. La valeur de α1 pour α3 =90° est appelée le premier angle critique. Lorsque α1continue à
augmenter, α2 se rapproche de 90°, angle pour lequel l'onde de cisaillement devient parallèle à la
surface. La valeur correspondante α1 est appelée le second angle critique [18]. Au second angle
critique, des ondes de surface ou ondes de Rayleigh sont émises.

60
3.3.7.5 Calcul du temps de vol d'une impulsion

Figure 3.08 : Mesure du temps de vol d'une impulsion ultrasonore après une réflexion simple

L'onde ultrasonore émise se propage à une vitesse qui dépend des caractéristiques du milieu. À
l'interface de deux milieux, une partie de l'onde est réfléchie et une partie est transmise, tel que
présenté au paragraphe précédent. La durée entre l'instant d'émission du signal et l'instant de
réception du signal réfléchi (écho) est appelée le temps de vol de l'onde ultrasonore dans le milieu
étudié, noté Tv, comme la montre la figure 3.08.
À partir de la mesure du temps de vol d'impulsion ultrasonore et connaissant le mode de propagation
(longitudinal ou transversal) du son ainsi que sa vitesse dans le milieu considéré, il devient alors
possible de mesurer l’épaisseur du milieu par le produit de la vitesse du son dans le milieu et le
temps de vol de l'onde ultrasonique. L'épaisseur est alors donnée par la relation suivante [20]:

ⅇ = (𝑐𝑇𝑣 ∕ 2)
(3.19)
Où:
- e est l'épaisseur de la couche déposée en m;

- c la vitesse du son dans le milieu où l'onde se propage en m.s-1 ;

- Tv le temps de vol de l'impulsion ultrasonore en s.

61
3.4 Conclusion

Une approche mathématique d’un phénomène ou d’une grandeur physique s’avère toujours
importante pour connaître chaque paramètre y intervenant. Pour notre cas, celui de l’onde
ultrasonore elle nous permet de comprendre son mécanisme, son origine et ce qu’elle subit. Cette
compréhension nous permet d’aborder le cas pratique pour la mettre en valeur dans des applications
qui nous sont utiles.

62
CHAPITRE 4
CONTEXTE SOCIAL, ECONOMIQUE ET ENVIRONNEMENTAL DE MADAGASCAR

4.1 Introduction

« La lutte contre la pauvreté se voit comme le fondement d’un développement économique. »


affirmait avec ardeur le Document de développement économique de Madagascar en 2017. Les
contextes social et économique sont conjointement liés. Une population épanouie équivaut à dire
une économie sereine. En ce qui concerne l’aspect environnemental, le sujet fait rage en ces temps-
ci et se doit d’être traité avec sérieux vu les menaces imminentes qui adviennent.
Dans les paragraphes qui suivent nous allons voir chacun de ces contextes qui sera suivi de la
proposition d’une solution.

4.2 Contexte économique

4.2.1 Aperçu général de la pauvreté

Selon l’INSTAT, à Madagascar, la pauvreté est un phénomène essentiellement rural là où


prédomine l’agriculture vivrière. L’écart moyen entre la pauvreté rurale et urbaine est de 28 points.
La pauvreté touche une proportion importante de la population malgache et prédomine surtout en
milieu rural où évolue la grande majorité de la population active. La dernière estimation de
l’INSTAT révèle qu’en 2012, environ 71,5% de la population est pauvre, soit 77,3% en milieu rural,
en l’occurrence des agriculteurs et 48,5% en milieu urbain, partant d’un revenu annuel moyen de 1
388 000 Ariary ou l’équivalent de 1,0 dollar par jour (3 802,0 Ariary).
L’extrême pauvreté (niveau de consommation ou de revenu largement distancé par le seuil de
pauvreté) concerne 56,5% de la population avec un revenu annuel moyen de 328 160 Ariary, soit
moins de 1 000 Ariary par jour. Ce phénomène touche plus le milieu rural (62,1%) que le milieu
urbain (34,6%). La consommation moyenne annuelle par tête d’habitant est estimée à 404 000
Ariary. Elle est plus élevée en milieu urbain qu’en milieu rural notamment dans la Région Androy
qui est inférieure à 200 000 Ariary.

4.2.2 Détails pour chaque province

Selon les Provinces, le taux de pauvreté accuse des évolutions disparates de 1993 par rapport à 2010:
 Tendance à la hausse pour les Régions de Fianarantsoa, Mahajanga et Antsiranana ;
 Quasi-stagnation pour Toamasina et Toliary ;
 Tendance à la baisse pour Antananarivo.

63
Comme l’illustre le Tableau 3.01, au cours des dernières années, la pauvreté a à peine diminué.

Tableau 4.01: Taux de pauvreté pour chaque province 1993-2012


Au fil du temps, la pauvreté touche plus de la moitié de la population. Elle s’intensifie surtout durant
la période de crise politique : le taux de pauvreté est de 80,7% en 2002 et de 76,5% en 2010. Pour
la période 1993-2012, le taux de pauvreté est exceptionnellement élevé à Fianarantsoa et Toliary,
soit respectivement 91,0% et 81,2% en 2002, 84,7% et 82,1% en 2012.

4.2.3 Détails pour chaque région

Les résultats de l’enquête de l’INSTAT sur les OMD 2012-2013 mettent en évidence quelques
conclusions principales pour ce qui concerne le taux d’incidence des maladies et le quintile de
consommation :
 Les pauvres sont plus exposés aux maladies que les riches. Le taux d’incidence des maladies
augmente à mesure que l’on évolue dans le quintile de consommation ; ce taux est en
moyenne de 8,6% pour les plus pauvres et de 9,9% pour les pauvres contre 12,5% pour les
riches et de 13,3% pour les plus riches. La même tendance est observée à l’échelle régionale
avec des taux d’incidence particulièrement élevés pour les Régions Vatovavy Fitovinany
(16,7%), Diana (15,7%) et Atsinanana (14,9%).
En conséquence, le taux de consultation médicale est relativement plus élevé pour les riches et les
plus riches par rapport aux pauvres et les plus pauvres. Par ordre d’importance, la fièvre est la
principale maladie touchant la population, suivie par les pathologies diarrhéiques, les infections
respiratoires, les accidents à l’origine des états inflammatoires, les traumatismes et les toux de plus
de trois semaines.
 Le milieu rural est plus exposé aux maladies que le milieu urbain. Le taux d’incidence des
maladies est de 8,6% en milieu rural contre 7,6% en milieu urbain pour les plus pauvres ; le

64
même taux est de 14,2% en milieu rural et de 12,1% en milieu urbain pour les plus riches.
La tendance est vraie pour les autres quantiles de consommation.

Figure 4.01 : Taux de pauvreté par région

4.3 Contexte social [23]

De manière générale, les malgaches ont un régime alimentaire peu varié. Environ 42 pour cent des
ménages avaient une consommation en alimentation pauvre ou limite fin 2012/début 2013. Ces
ménages consomment principalement des céréales et des tubercules avec quelques jours par semaine
des fruits et des légumes, du sucre et de l’huile. Ils ne consomment pratiquement pas ou rarement
de la viande, du poisson et des légumineuses et presque jamais des produits laitiers.
L’analyse de la sécurité alimentaire repose sur la combinaison de deux indicateurs :
 La proportion des ménages avec un régime très pauvre en quantité qui ne répond pas à leur
besoins énergétiques (300 kcal de moins que les besoins requis par jour pour les adultes) ;

65
 La proportion des ménages avec régime extrêmement pauvre en qualité (les kilocalories
viennent à plus de 85% d’aliments de base c'est-à-dire de céréales et de féculents).
Les ménages avec un régime quantitativement très pauvre et qualitativement extrêmement pauvre
sont en insécurité alimentaire.

4.3.1 Presque un tiers des ménages en insécurité alimentaire

En 2012, environ 31 % des ménages étaient en insécurité alimentaire au niveau national : soit 33 %
des ménages en zone rurale et 18,7 % dans la capitale et les grands centres urbains.
Ces ménages sont dans une situation sévère. Ils ont un régime alimentaire très pauvre en quantité
qui ne répond pas à leurs besoins énergétiques et extrêmement pauvre en qualité (principalement à
base de céréales et féculents).

Figure 4.02 : Insécurité alimentaire dans les régions

Si l’on approfondit nos études au niveau régional, nous réaliserons que les prévalences sont très
élevées. Les régions avec des prévalences d’insécurité alimentaire très élevées sont : Atsimo
Atsinanana (64%), Sava (44%), Sofia (42,7%) et Vatovavy Fitovinany (39,2%).

66
Dans les régions de Boeny, Melaky, Androy, Anosy et Ihorombe, entre 31 et 35% des ménages sont
en insécurité alimentaire (au-dessus du niveau national).
Les autres régions ont des taux inférieurs au niveau national mais cependant élevés au-dessus de
20% (sauf la région de Diana avec un taux de 15,9%).

4.3.2 Une majorité de la population avec des carences quantitatives et qualitatives graves

Une très grande partie de la population souffre de carences quantitatives et qualitatives graves
aussi bien en milieu rural qu’en milieu urbain :
 presque 58 % des ménages ont un régime alimentaire très pauvre en quantité ; et
 60 % ont une alimentation extrêmement pauvre en qualité.
Sur la base de la même méthodologie, mais en utilisant des seuils différents, l’Enquête Nationale
sur le Suivi des Objectifs du Millénaire (ENSOMD) de 2013 avait estimé que 76 % des ménages
ont un régime pauvre en quantité et 84 % des ménages ont un régime alimentaire pauvre en qualité

4.3.3 Les causes de l’insécurité alimentaire

4.3.3.1 Crise politique

La tenue d’élections fin 2013 semble avoir mis fin à la grave crise politique qui depuis 2009. En
effet cette dernière a lourdement affecté l’économie du pays hypothéquant son développement. Mais
il faudra sans doute de nombreuses années avant que l’économie ne retrouve son niveau d’avant la
crise.
Les coupes budgétaires ont entrainé la quasi-paralysie de l'administration publique, la détérioration
de la couverture et la qualité des services sociaux et la suspension de la maintenance des
infrastructures (routes, eau, électricité). Par ailleurs, la détérioration des infrastructures,
l’affaiblissement de l’état de droit, l’insécurité croissante ont découragé les investissements et
empêché toute croissance.
Entre 2008 et 2013, la proportion de la population vivant sous le seuil de pauvreté a sans doute
augmenté de plus de 10 points de pourcentage. Aujourd’hui, plus de 92 pour cent de la population
vit avec moins de 2 dollars PPA (parité de pouvoir d’achat) par jour. Les indicateurs sociaux se
sont détériorés.

4.3.3.2 Faiblesse des revenus agricoles et pauvreté des ménages

Le contexte social est étroitement lié au contexte économique (cf. 3.2). L’insécurité alimentaire est
liée à la grande pauvreté de la population. Dans les zones rurales, 77,3% de la population est pauvre

67
; dans les zones urbaines 48,5 pour cent des ménages sont pauvres. (Le seuil national de pauvreté
est fixé à 535 603 Ar/personne/an. Données de l’ENSOMD 2012-2013)
Dans les régions d’Androy et d’Atsimo Atsinanana, c’est presque l’entièreté de la population qui
est pauvre avec des taux de 97 et 93% respectivement.
Le revenu agricole annuel moyen d’un ménage agricole s’élève à environ 978 000 Ariary. Par
rapport à 2010, ce revenu agricole a diminué en termes réels dans presque toutes les régions. Signe
d’une grande vulnérabilité, les dépenses pour l’alimentation représentent une part importante du
budget des ménages (62,3 % de leurs dépenses). Les dépenses de santé ne représentent qu’un pour
cent.

4.3.3.3 Faible productivité agricole

La productivité agricole pour toutes les spéculations essentielles (riz, manioc, maïs et patate douce)
est très basse. Le secteur agricole souffre de nombreux problèmes structurels : faible utilisation
d’intrants, manque de formation des agriculteurs, pratiques agricoles traditionnelles dépassées,
vétusté des infrastructures hydro-agricoles. Ces problèmes se sont accentués depuis la crise politique
de 2009 et l’arrêt de tout programme de subvention et d’appui au secteur.
La superficie agricole moyenne exploitée par ménage est assez petite, environ 1,7 ha (1,4 ha en
2010). La majorité des ménages agricoles (63%) cultivent moins de 1,5 hectare de terre. Un tiers
des agriculteurs estime manquer de terres. L’absence de sécurité foncière reste un véritable
problème.

4.3.4 Perspectives

La Politique nationale en nutrition constitue un cadre de référence à l’élaboration des objectifs du


présent plan d’action national.
La vision du mouvement Scaling Up Nutrition (SUN) est celle d’un monde sans faim et sans
malnutrition. Plus explicitement, cette vision s’énonce « d’ici 2030, un monde exempt de
malnutrition sous toutes ses formes. Dirigés par des gouvernements, soutenus par des organisations
et des individus, l’action collective permet à chaque enfant, adolescent, mère et famille de réaliser
leur droit à l’alimentation et à la nutrition, d’atteindre leur plein potentiel et de façonner des sociétés
durables et prospères ».
Pour Madagascar, la vision est « la Nutrition garant d’un capital humain pour un développement
social et économique durable ».
Le présent plan a défini ses propres objectifs en se référant au bien-fondé de la PNN, contribue à
l’atteinte de l’objectif « Faim zéro » visant à « éliminer la faim et la famine, assurer la sécurité

68
alimentaire, améliorer la nutrition, promouvoir une agriculture durable » tel qu’il est défini dans les
« objectifs de développement durable – ODD »

4.4 Contexte environnemental

Partout dans le monde y compris à Madagascar, la crise de l’eau touche une partie importante de la
population. Tous les signes suggèrent que cette crise s’intensifie et que la situation continuera
d’empirer tant qu’aucune action corrective ne sera menée.
En effet, l'eau constitue l’élément qui garde le monde en vie, l’importance de l’eau pour la vie
humaine n’est plus à démontrer car il est parmi les composants essentiels dans l’équilibre de
l’écosystème dans le monde. Cette ressource qui répond aux besoins fondamentaux de l’homme est
un élément clé du développement, en particulier pour générer et entretenir la prospérité par le biais
de l’agriculture, de la pêche, de la production d’énergie, de l’industrie, des transports et du tourisme.
En outre, l’eau est vitale pour tous les écosystèmes du monde.
L’eau douce ne représente que 1% de toute l’eau terrestre. Les 99% restants sont indisponibles pour
l’utilisation humaine, car on les retrouve sous forme d’eau de mer ou d’eau saumâtre, de neige ou
de glace. Alors que les ressources en eau douce ne sont pas extensibles, la demande explose sous
l’effet d’une croissance rapide de la population mondiale qui puise dans les réserves de la planète,
et d’une augmentation exponentielle de la consommation.

4.4.1 Manifestation de la crise

L’eau est la première cause de misère, de souffrance, d’inégalité et de pauvreté dans le monde.
Chaque jour ce sont 25.000 personnes qui décèdent de maladies liées à l’eau, dont la moitié
d’enfants. Les maladies hydriques aient causé, en 2004, près de 8 millions de morts, dont la majeure
partie venant d’Afrique, s’imposant ainsi comme la première cause de mortalité dans le monde (dix
fois plus de morts que l’ensemble des guerres qui sévissent à travers la planète).
La communauté internationale se mobilise et l’a notamment mise au cœur de l’un des huit Objectifs
du Millénaire pour le Développement (OMD). Auparavant, l'eau n'avait reçu qu'une faible attention
au Sommet de la Terre de Rio, en 1992. La prise de conscience des enjeux du problème est donc
assez récente. L'un des « objectifs du millénaire » est de diviser par deux, le nombre de personnes
n'ayant pas accès à l'eau potable ou à l'assainissement dans le monde.

4.4.1.1 Pour Madagascar

Alors que plusieurs zones de Madagascar ont souffert de graves inondations, le Sud de la Grande
Île subit au contraire une sévère sécheresse. Selon le Gouverneur de la région d'Androy, le "Kere"

69
(Famine) menace. Les districts d'Amboasary Atsimo, d'Ambovombe, Bekily, Betioky, Beloha
et Tsiombe sont fortement impactés par cette absence de pluie et par une pénurie alimentaire. Plus
tôt cette année, plus de 35 000 enfants sont en souffrance dans le Sud de Madagascar affirmaient
les enquêteurs. De nombreux animaux meurent de soif et de faim parfois sous les yeux de leurs
propriétaires.
« À cause de l’insuffisance des pluies, nous craignons fort le « kere » dans notre district : nos
cultures sont toutes détruites, comme le maïs, le manioc, la patate douce et le riz. Déjà, le « Raketa »
(cactus) devient très rare. Nous sommes maintenant obligés de nous ravitailler à Ambovombe, avec
un frais de transport aller et retour de 20 000 Ariary », selon la gendarmerie locale dans une un des
journaux nationaux.
Le Gouvernement malagasy a pris des mesures d'urgence, pour apporter son aide. Mais l'équivalent
d'un verre d'eau est vendu 100 Ariary dans le district d'Ambovombe alors que quelques années
plutôt un seau de 10L coûtait le même prix, ce qui est hors de prix pour la population locale.
Cela traduit la grave pénurie.

Figure 4.03 : L’équivalent d’un verre d’eau vendu à 100ar dans la district d’Ambovombe

70
Une question se pose : aurons-nous assez d'eau, en 2050, pour nourrir les 9 milliards d'habitants de
la planète ? L'agriculture en est, de loin, la plus grande consommatrice, avec 70% des volumes. Le
message de la communauté scientifique et des praticiens du secteur est aujourd'hui clair : c'est le
secteur agricole qui doit en priorité économiser l'eau si le monde veut éviter une crise des ressources
hydriques, liée à la fois à l'augmentation des besoins et aux effets du réchauffement climatique. "Il
faut doubler la production agricole d'ici quarante ans et, si rien ne change, les besoins en eau pour
l'agriculture doubleront aussi, explique David Molden, directeur de recherche à l'International Water
Management Institute (IMWI). Nous devons impérativement produire plus avec moins d'eau." D’un
côté, des solutions en relations avec les mauvaises habitudes peuvent être envisagées, et d’autre
coté, on constate que des solutions techniques existent.

4.5 Proposition d’une meilleure solution pour les problèmes social, économique et
environnemental de Madagascar

Chaque gouvernement qui se succède à une politique d’augmentation du pouvoir d’achat des
Malagasy en général. Chaque organisme international fait de son mieux pour réduire les difficultés
d’accès à la nourriture saine. Pour apporter notre part dans cette tâche sacrée, nous allons proposer
un nouveau système qui fusionnera l’agriculture et la technologie tout en garantissant une meilleure
gestion de l’eau. Cela consiste à produire des aliments à valeur ajoutée aux éléments nutritifs
essentiels et à les contrôler à l’aide des capteurs installés à chaque compartiment.

4.5.1 Principe :

Notre projet consiste à une technique de production agricole qui combine l’élevage en aquaculture
avec la culture en hydroponie et qui permet de diminuer l’impact environnemental en réduisant les
besoins en eau et en nutriments. La mise en valeur de l’engrais venant des poissons est un plus car
il constitue une source de bénéfice additionnel. Les productions aquaponiques sont encore peu
répandues parce que la technique est encore peu optimisée. Les modèles informatiques dédiés
constituent des outils puissants qui permettent de comprendre, prédire et optimiser les installations
à moindres coûts. Nous allons donc installer des capteurs pour pouvoir superviser sans exception
l’intégralité du système : pour les plantes, les poissons et l’engrais. Chaque capteur continuera son
travail quel que soit la situation. Cependant un seuil sera établi pour chaque entité pour préserver
un état optimal du système. Une fois ce seuil atteint, un email sera envoyé à l’utilisateur via un
système de notification.

71
En plus des capteurs, il faut avoir un équipement qui reçoit les données et qui les affiche aux
utilisateurs. Nous utiliserons un ordinateur aux capacités de calcul élevée pour traiter et afficher ces
données.
Notre projet « l’IoT et l’onde ultrasonore pour la supervision d’une agriculture améliorée avec
recyclage de l’eau » a pour but de développer une stratégie de déploiement de plusieurs capteurs et
mise en œuvre d’un système de notification. Un autre but de ce travail est la collaboration entre
grandes écoles (Ecole d’ingénieur Polytechnique et Ecole d’ingénieur Agronome) et entre mentions
pour montrer que le changement et le développement concerne chaque entité quel que soit leur
secteur d’activité.

4.5.2 Résultats

La finalité de ce travail est d’en faire la première véritable entreprise aquaponique à Madagascar
voire une industrie. Plusieurs travaux seront créés permettant à une grande partie d’avoir de l’emploi
et nourrir sa famille. La production visée sera à faible coût et une partie sera offerte aux plus
défavorisés donnant l’opportunité à plus d’un de jouir d’une alimentation riche et saine. Et enfin, la
réutilisation de l’eau diminue de considérablement les pertes. Tout ceci englobé par une supervision
détaillée des performances par les technologies florissantes de l’IoT.

4.6 Conclusion

Madagascar souffre. Son peuple vit loin en dessous du seuil minimal de salaire journalier. La
malnutrition touche encore une grande partie de l’île prouvée par les statistiques de plusieurs
organisations. L’eau se fait rare, l’accès à l’eau est de plus en plus difficile. L’agriculture en est la
principale consommatrice qui en fait la raison principale.
Ce chapitre a été présenté en deux parties fondamentales. La première concerne le profil
économique, social et environnemental de Madagascar avec les statistiques correspondantes. La
seconde a été dédiée à la proposition d’une nouvelle méthode pour remédier aux différents
problèmes.
Dans le chapitre qui suivra, nous allons passer à l’implémentation combinée de l’agriculture
améliorée ainsi que d’appliquer un usage avec rétroaction de l’IoT.

72
CHAPITRE 5
PRESENTATION ET IMPLEMENTATIONS

5.1 Introduction

Les systèmes modernes de production aquaponique comme nous le connaissons aujourd’hui sont
quasi inexistantes à Madagascar. Cependant, quelques systèmes intégrés de production sortent du
lot et retiennent l’intérêt des populations locales et régionales. Un projet particulier nécessite une
installation et une implémentation assez particulières. Les paragraphes qui suivront seront groupés
en deux parties : la première sur l’aspect IoT, la seconde sur le système aquaculture-hydroponie.
Dans La partie IoT, nous allons décrire chacun des composants que nous allons utiliser, le hardware
en général. Nous allons également avoir un aperçu du software qui nous sera d’une grande nécessité.
La partie suivante s’orientera dans la présentation du système d’abord ensuite la description des
composants utilisés.

5.2 Partie IoT

5.2.1 Architecture de l’ensemble

Notre solution se compose principalement de deux grande parties : le hardware et le software. Le


hardware englobe les différents matériels utilisés dont les capteurs, la carte Arduino et NodeMCU.
Pour la partie software, elle renferme les différents serveurs, Tornado et Redis mentionnés plus haut
ainsi que les mécanismes permettant la présentation de l’interface graphique et l’envoi de mail.
La figure 5.01 nous montre le chemin suivi par les données depuis les capteurs jusqu’à leur affichage
sur le moniteur ainsi que les notifications.
Nous allons dans ce paragraphe voir un par un ces éléments, voir ses caractéristiques techniques et
éventuellement leur câblage (pour le hardware).

5.2.2 Le Hardware

5.2.2.1 Capteur ultrason HC-SR04

Le capteur à ultrasons HC-SR04 (Figure 5.02) est capable de mesurer la distance des objets situés
de 2cm à 400cm du capteur avec une précision de 3mm. Le capteur est composé d’un émetteur
d’ultrasons, d’un récepteur et du circuit de commande.

73
Figure 5.01 : Architecture simplifiée de l’ensemble

Le principe de fonctionnement :
1) Envoyer un signal numérique à l’état haut sur l’émetteur pendant 10 µs.
2) Le capteur envoie automatiquement 8 impulsions d’ultrasons à 40 kHz et détecte les signaux
qui reviennent.
3) Si le signal revient, la durée de l’état haut du signal reçu correspond au temps entre
l’émission des ultrasons et leur réception. Calcul de la distance : Distance = (temps à l’état
haut signal reçu * vitesse du son) /2 (vitesse du son dans l’air : 340 m/s).

a) Connecteur du capteur :

 Alimentation 5V
 Entrée émetteur d’impulsion d’ultrasons
 Sortie récepteur d’impulsion d’ultrasons

74
 Masse 0V

b) Paramètres électriques :

Tension d’alimentation 5V DC

Courant d’alimentation 15mA

Fréquence de travail 40Hz

Distance maximale de détection 4m

Distance minimale de détection 2cm

Angle de détection 15 degrés

Signal d’entrée de l’émetteur Impulsion à l’état haut de 10µs

Signal de sortie du récepteur Signal numérique à l’état haut et la distance


proportionnellement

Dimension 45*20*15mm

Tableau 5.01: Les paramètres électriques du capteur HC-SR04

Figure 5.02 : Capteur ultrason HC-SR04

e) Diagramme temporels :

Le diagramme temporel est affiché ci-dessous. Il faut fournir un signal à l’état haut pendant 10µs à
l’entrée de l’émetteur pour déclencher la salve d’ultrasons. Le module envoie ensuite 8 cycles
d’ultrasons à 40 kHz et attend le signal reçu. Le récepteur reçoit un signal à l’état haut dont la durée

75
est proportionnelle à la distance de l’objet perçu. Le calcul de la distance peut se faire grâce au
temps mesuré entre le signal émis et le signal reçu (voir formule dans les caractéristiques).
Il est préférable de laisser au moins 60ms entre chaque mesure pour laisser le temps au signal reflété
par l’objet d’atteindre le récepteur du capteur.

Figure 5.03 : Diagramme temporel du capteur HC-SR04

5.2.2.2 Capteur ultrason JSN-SR04T

Le module de mesure de distance par ultrasons peut fournir une fonction de détection de distance
sans contact de 20 cm à 600 cm, avec une précision allant jusqu'à 2 mm. Le module comprend
l'émetteur-récepteur d'un capteur à ultrasons intégré et d'un circuit de commande.

Figure 5.04 : Capteur ultrason JSN SR-04T

76
Ce dispositif adopte une conception de sonde à ultrasons intégrée de qualité industrielle, un
type étanche, des performances stables. Les performances du module sont stables, la distance de
mesure est précise. Module de haute précision, aveugle (20 cm), gamme stable est le produit avec
succès sur le marché sur une base solide.

a) Avantages

 Petite taille
 Basse tension, faible consommation d'énergie
 Haute précision
 Antibrouillage fort
 Intégré avec une sonde étanche à fil, adaptée aux environnements de mesure humides et
difficiles

b) Les caractéristiques techniques

Tension d’alimentation DC 3 V à 5,5 V

Courant de travail statique < 8 mA

Courant de travail 30 mA

Fréquence d'émission acoustique 40Hz

Distance maximale de détection 600 cm

Distance minimale de détection 20 cm

Angle de détection 75 degrés

Précision de la distance ± 1 cm

Température de fonctionnement -20 ° C à + 70 ° C

Dimension 42 mm x 29 mm x 12 mm

Tableau 5.02: Caractéristiques techniques du capteur JSN-SR04T

c) Connecteur du capteur :

 Alimentation 5V

77
 Entrée émetteur d’impulsion d’ultrasons (Trig)
 Sortie récepteur d’impulsion d’ultrasons (Echo)
 Masse 0V (GND)

5.2.2.3 Capteur de pH

La détermination du pH est l'une des mesures chimiques de procédé les plus courantes effectuées
aujourd'hui. Le pH est une mesure de la quantité relative d'hydrogène et d'ions hydroxyde dans une
solution aqueuse. Dans n'importe quelle collection de molécules d'eau un très petit nombre se seront
dissociées pour former des ions hydrogène (H +) et hydroxyde (OH-):
H 2 O = H + + OH-
(5.01)
Le pH est une autre façon d'exprimer la concentration en ions hydrogène. Le pH est défini comme
suit:
pH = -log [H + ]
(5.02)

où les crochets signifient les concentrations molaires.

Figure 5.05 : Capteur pH

Le pH-mètre que nous allons utiliser possèdes les caractéristiques suivantes :

 Alimentation : 5v

 Taille : 43mm*32mm

 Plage PH : 0-14 PH

 Plage de température: 0-60 ℃

78
 Résistance interne: ≦250MΩ

 Température de fonctionnement: 0-60 ℃

 Capteur avec connecteur BNC


 Longueur de câble depuis le connecteur BNC : 660mm
Il est surtout utilisé dans le test de la qualité de l’eau et dans l’aquaculture.

5.2.2.4 Le NodeMCU

Le NodeMCU est une carte de développement à base de ESP8266 open-source (module Wi-Fi) qui
permet de créer des objets connectés IoT. Cette carte se programme via l'IDE Arduino et est
compatible avec les scripts LUA.

Il s’agit du module qui supporte les protocoles 802.11 b/g/n. Des connecteurs latéraux mâles et
femelles permettent d'enficher le module sur une plaque de montage rapide. Il se programme
directement à partir de l'IDE Arduino mais une installation d’extension est nécessaire.

Il peut se comporter comme un client en se connectant au routeur ; ou comme point d’accès. Il


existe des cas où les deux se produisent en même temps. Le module ESP8266 peut également servir
de serveur web avec sa propre adresse IP.

Figure 5.06 : NodeMCU

a) Alimentation
Le module seul, c'est-à-dire non intégrée à une carte de développement, doit être alimenté en entre
5V et 9V. On peut également l’alimenter par les différentes broches 3v : dans ce cas, l'ESP est
alimenté en directe, il n'y a plus de régulation ce qui offre donc la consommation minimum. La

79
consommation peut être très basse en sleep mode mais peut atteindre les 500 mA avec la
transmission de données Wi-Fi. Il est donc impératif d'utiliser une alimentation régulée.
Quand on alimente le circuit, la LED rouge de l'ESP-01 doit s'allumer, et la LED bleue doit s'allumer
brièvement. Plus tard, quand on va téléverserer le code dans l'ESP, la LED bleue devrait clignoter
pendant le processus. Toute autre combinaison dans l'éclairage des LED suggère un
dysfonctionnement.

b) Câblage

 La broche GPIO 0 (General Purpose Input/Output) doit être maintenue à la masse (GND)
pendant le téléversement du code. Elle doit être déconnectée si vous retirez le FTDI et que
l'ESP est en mode d'exécution normal ;
 La broche CH_PD doit toujours être maintenue à l'état haut ;
 La broche RESET est tirée à l'état haut avec une résistance de pull-up 10 kΩ, et est reliée à
la masse GND sur appui du bouton RESET lorsqu'il faut redémarrer l'ESP. Il faut presser le
bouton RESET à chaque fois avant de téléverser le code, et à chaque fois que vous connectez
ou déconnectez la broche GPIO 0. Ce bouton RESET vous évitera bien des tracas.

c) Caractéristiques

L'ESP8266 est composé d'un microcontrôleur 32 bits (Tensilica Xtensa LX106) cadencé à 80MHz
avec une mémoire Flash de 4 Mo et une mémoire RAM de 64kB. Il intègre la norme Wi-Fi IEEE
802.11 b/g/n (comme mentionné plus haut) avec possibilité d'authentification par mot de passe WEP
ou WPA/WPA2. Il possède 10 E/S digitales compatiles PWM. L’antenne est intégrée.

5.2.3 Softwares

5.2.3.1 Serveur NTP

a) NTP

Le NTP (Network Time Protocol) est un protocole décrit dans la RFC 958 visant à synchroniser
les horloges des systèmes informatiques. Le NTP est basé sur le User Datagram Protocol UDP (port
123) qui permet un transport des données sans connexion. Il fait partie de la suite des protocoles
Internet. Pour le processus de synchronisation, NTP s’appuie sur le Coordinated Universal Time
(UTC) que les différents clients et serveurs obtiennent au sein d’un système hiérarchique.

80
b) Fonctionnalités

Afin de synchroniser les horloges des ordinateurs à la nanoseconde près, le Network Time Protocol
utilise le Coordinated Universal Time, appelé temps universel coordonné (UTC), applicable
uniformément depuis 1972. Ce dernier peut être déterminé par diverses méthodes, notamment à
l’aide de systèmes radio et satellite. Les services importants tels que le Global Positioning System
(GPS ; « système mondial de positionnement ») sont équipés de récepteurs spécifiques permettant
de capter les signaux correspondants. Étant donné qu’il ne serait ni rentable ni réalisable d’équiper
chaque ordinateur de tels récepteurs, il existe par ailleurs des serveurs primaires (Primary Time
Servers) disposant également d’un récepteur UTC. À travers des protocoles comme le NTP, ces
serveurs procèdent alors à la synchronisation des horloges des ordinateurs dans leur réseau.
Dans notre projet, NodeMCU utilise le serveur NTP pour recueillir la date et l’heure afin de
synchroniser les donner qu’il va envoyer au serveur Redis.

5.2.3.2 JQuery

JQuery est une bibliothèque JavaScript rapide, petite et riche en fonctionnalités. Cela fait des choses
comme traverser et manipuler les documents HTML, gérer les évènements, l'animation et Ajax
beaucoup plus simples, avec un API facile à utiliser qui fonctionne sur une multitude de navigateurs.

La librairie jQuery dispose de plusieurs fonctions qui captent les événements effectués sur une page
(mouvements de la souris, clics, ...). Il n'est plus nécessaire d'utiliser la syntaxe compliquée de
JavaScript comme "addEventListener()". La librairie jQuery utilise la même syntaxe que CSS pour
accéder aux éléments du DOM, ce qui rend le programmeur plus efficace.

Il est possible de charger le contenu d'une page de manière asynchrone, c'est à dire sans réactualiser
la page dans le navigateur.

Figure 5.07 : jQuery

81
5.3 Partie agriculture

5.3.1 Description

L’aquaponie, c’est la culture des plantes et des animaux aquatiques dans un environnement de
recirculation. Il s’agit d’une synergie entre poissons et plantes. Le terme trouve son origine dans
deux mots, aquaculture (l’élevage de poissons dans un environnement clos) et hydroponie (la culture
de plantes hors sol). Les systèmes aquaponiques sont de dimensions variées : de petites unités
d’intérieur aux grandes surfaces commerciales. Il peut s’agir de systèmes d’eau douce ou de
systèmes contenant du sel ou de l’eau saumâtre. Pour notre cas, nous allons nous focaliser sur la
production en eau douce.
Les systèmes à l’eau douce reposent sur trois éléments majeurs :
 Des animaux aquatiques d’eau douce
 Des bactéries nitrifiantes
 Des plantes
Les systèmes aquaponiques peuvent produire des aliments sains (poissons / herbes / légumes),
utilisant un minimum d’eau pour des rendements élevés, ce qui peut contribuer à la sécurité
alimentaire et nutritionnelle. Ils peuvent également représenter une entreprise commerciale réussie
surtout pour les pays en développement comme Madagascar.

5.3.1.1 Pourquoi l’aquaponie ?

L’aquaponie est un système de production alimentaire par recirculation qui utilise moins de 10 %
de l’eau normalement nécessaire pour la pisciculture et la production végétale. Il y a très peu de
perte en eau, les pertes ne sont principalement causées que par l’évaporation et la transpiration des
plantes.
L’un des principaux avantages de l’aquaponie est qu’elle est un excellent moyen de produire des
aliments riches en protéines, comme le poisson et les légumes, à la fois dans les régions les plus
pauvres (soutien à la sécurité alimentaire) et dans les zones où il existe une forte demande pour des
produits de bonne qualité (produits bio à prix élevé). Certains disent même que ces produits ont
meilleur goût ! les plantes n’ont pratiquement plus besoin d’aucun engrais chimique vu que tous les
nutriments dont elles ont besoin proviennent des déchets des poissons.

82
5.3.1.2 Fonctionnement du système

L’aquaponie est l’amalgame de l’aquaculture et de la culture hydroponique dans un système unique


de production. Cette méthode repose sur des déchets de poissons utilisés en tant que solution
nutritive organique pour cultiver des légumes. Dans un tel système, l’eau s’écoule du réservoir de
poissons vers un filtre biologique où des bactéries décomposent les déchets de poisson en une
solution nutritive organique pour la culture des légumes. Les plantes absorbent alors les éléments
nutritifs de l’eau qui est ainsi nettoyée avant d’être remise en circulation pour un retour dans les
bassins à poissons.
Les bactéries jouent un rôle fondamental dans ce processus. Elles convertissent l’ammoniaque (NH3
et NH4), qui est un composant majeur des déchets de poisson, en nitrite (NO2) et ensuite en nitrate
(NO3) qui est une forme plus accessible de l’azote pour les plantes, ce qui évite que l’eau ne
devienne toxique pour les poissons (cette transformation de l’ammoniaque en nitrate est connue
comme le processus de nitrification). Il est essentiel que chaque unité aquaponique ait un composant
de filtration biologique pour abriter les bactéries, ce qui permet à ces dernières de convertir
constamment l’ammoniaque en nitrate.

Figure 5.08 : Le système aquaponique

Les unités d’aquaponie peuvent être de diverses formes et tailles, du petit appareil posé sur un banc
de cuisine et ayant recours aux poissons rouges et à la culture d’herbes, aux systèmes plus importants
avec la perche d’argent ou le tilapia et des tomates, courgettes, laitues, etc. Il existe aussi des unités

83
encore plus complexes pour produire des tonnes de poisson et des milliers de plantes
mensuellement, ce qui est idéal pour une production à l’échelle commerciale.

5.3.2 Les différents composants

5.3.2.1 Les composants hydroponiques

Les composantes hydroponiques les plus rencontrés sont les systèmes NFT (Nutrient Film
Technique). Ce dernier est un système hydroponique utilisant des tuyaux horizontaux légèrement
inclinés (1 à 2%), chacun traversé par un ruisseau peu profond d’eau aquaponique riche en
nutriments. Les plantes sont placées dans des trous au sommet des tuyaux et peuvent utiliser cette
fine pellicule d’eau riche en nutriments. L’eau nutritive est injectée dans la partie la plus élevée et
s’écoule vers la partie basse ou elle est récupérée puis réinjectée dans le réservoir des poissons.
Pour notre cas, comme il ne s’agit que d’un prototype, nous allons recycler des bouteilles d’eau
standards en perçant sa surface pour donner de la place aux plantes. Il est à noter qu’à grande échelle,
ce système peut supporter une densité de plantes très élevées.

5.3.2.2 Filtrations

a) Filtre à tourbillon

Encore appelé clarificateur, c’est un récipient disposé de manière à accélérer et à ralentir l'eau afin
que les particules se concentrent sur le fond et puissent être éliminées.

Figure 5.09 : Filtre à tourbillon

84
Dans un clarificateur à tourbillon, l’eau du réservoir de poisson pénètre par un tuyau près de la
plaque inférieure du clarificateur. Ce tuyau est positionné tangentiellement au récipient, forçant
ainsi l'eau à tourner dans un mouvement circulaire à l'intérieur du récipient. La force centripète créée
par le mouvement circulaire de l'eau draine les déchets solides contenus dans l'eau vers le centre et
le bas du conteneur, car l'eau au centre du tourbillon est plus lente que celle à l'extérieur.

b) Le substrat de culture

Il s’agit du siège de la biofiltration. Le biofiltre est un composant installé pour héberger les bactéries.
En outre, le mouvement dynamique de l'eau dans un biofiltre décomposera des solides très fins non
capturés par le clarificateur, ce qui empêchera davantage l'accumulation de déchets. Tout biofiltre
doit avoir un rapport surface / volume élevé, être inerte et facile à rincer.

Figure 5.10 : Le biofiltre utilisé : clay pebbles

Nous avons choisi pour notre projet les billes d’argiles (clay pebbles). Ils sont très confortables pour
les plantes, et la surface des billes est d'environ 250–300 m2 / m3 est dans la fourchette cible. Malgré
qu’elles sont relativement coûteuses et non disponible à Madagascar, nous essayons de simuler la
meilleure condition possible pour notre système. Les billes sont de tailles variées. Pour l’aquaponie,
les plus grandes tailles avec des diamètres de 8 à 20 mm sont recommandé.

5.3.2.3 Bac à poisson

Les infrastructures des piscicultures sont variées. Certaines sont réalisées en cages, dans le milieu
naturel, d’autres en bassins ou en bacs, en intérieur ou en extérieur. Dans le cadre de cette
expérimentation, les objectifs recherchés étaient de mettre en place un système petit mais robuste et
maîtrisé.

85
C’est pourquoi, l’aquarium, offrant une bonne visibilité sur le milieu et une grande facilité de
manipulation, est apparu comme étant le meilleur candidat. De plus, l’aquariophilie propose un
éventail d’outils d’entretien et d’utilisation spécialisés et bon marché.

5.3.2.4 Pompe à eau submersible

Il s’agit du matériel qu’on va utiliser pour refouler l’eau afin de permettre d’arroser les plantes. On
a une large gamme de choix en fonction de l’exploitation qu’on va entreprendre. Dans certaines
applications, il existe même des pompes capables de générer 2000 à 3000L d’eau par heure.
Pour notre travail, on a choisi un modèle qui fait un compromis entre coût et puissance quant à la
taille de notre prototype. En fonction de l’alimentation qu’on lui administre, cette pompe
submersible va permettre de pomper l’eau avec un débit de 70 à 120L/h.

Figure 5.11 : Pompe à eau submersible

5.3.3 Choix de la production

5.3.3.1 Les plantes

Ce sont les mêmes causes et les motivations qui nous ont poussées à réaliser notre projet en général
qui nous ont dicté dans le choix de la culture à produire. Ce choix nous a mené vers les légumineuses
du fait que sa valeur nutritionnelle garantit un apport adéquat en protéines, minéraux et vitamines
mais aussi contribue à traiter ou à éviter plusieurs maladies (baisse le cholestérol, contrôle de la
glycémie, traitement du diabète, réduction de risques des maladies cardiovasculaires, lutte contre
l’obésité). Selon les experts, elles peuvent également se conserver des mois voire des années sans
perdre leurs qualités nutritionnelles.

86
Figure 5.12 : Haricots

L'organisation des Nations unies pour l'alimentation et l'agriculture (FAO) a déclarée 2016 comme
année internationale des légumineuses (AIL) par la soixante-huitième session (en) de l'Assemblée
générale des Nations unies le 20 décembre 2013. Ceci a pour but de conscientiser la population de
leur valeur nutritive ainsi que de leur contribution à une alimentation plus durable ainsi qu'à la
sécurité alimentaire.
Enfin, il s’agit d’un genre de plante qui consomme moins d’eau tout en évitant d’émettre de gaz à
effet de serre.

5.3.3.2 Les poissons

Du point de vue d’efficacité et de productivité, nous avons choisi le tilapia. Ils sont des poissons
intéressants pour la pisciculture du fait des caractéristiques suivantes :

 Reproduction naturelle aisée et succession rapide des générations,

 Croissance rapide par rapport à d’autres poissons d’élevage (par exemple le saumon, la
truite)

 Régime omnivore,

 Rusticité (résistance au manque d’oxygène, aux manipulations et aux maladies)

87
Figure 5.13 : Tilapia de Madagascar

Sa qualité alimentaire et organoleptique convient parfaitement aux critères de notre choix. Le


poisson peut remplacer la viande. 100 g de poisson apportent autant de protéines que 100 g de
viande, c'est-à-dire entre 18 et 20 g. Les protéines de poisson sont d'aussi bonne qualité que celles
de la viande et apportent des acides aminés indispensables pour assurer la synthèse des protéines
du corps humain. Et il ne faut pas oublier que les protéines jouent des rôles essentiels : elles jouent
un rôle structural et participent au renouvellement des tissus musculaires, des phanères (cheveux,
ongles, poils), de la matrice osseuse, de la peau, etc. quant aux acides aminés, ils sont indispensables
à l'ensemble des processus vitaux du corps humain. Ils jouent un rôle dans le transport et le stockage
de l'ensemble des nutriments apportés à l'organisme : lipides, glucides, protéines, minéraux,
vitamines, eau…

5.4 Fonctionnement de l’ensemble

Chaque capteur se positionne à un emplacement stratégique. Ceci a pour but d’avoir le contrôle sur
chaque compartiment et par conséquent d’optimiser le fonctionnement et la production.

a) Contrôle de l’eau

Étant la base du projet, on se doit d’apporter un focus particulier. En effet, par l’influence de
différents phénomènes, des changements peuvent survenir et impacter l’ensemble : par
l’évapotranspiration et la consommation des plantes ainsi que l’évaporation due à la chaleur, le
niveau de l’eau diminue. Le capteur HC-SR04 est configuré pour effectuer des mesures périodiques.
Ceci garantit à la fois le bien être des plantes et des poissons

88
b) Contrôle du milieu de vie des poissons :

On se doit de garder en tête que le système entier fonctionne de façon complémentaire. La


nitrification ne s’effectuant que sous une certaine condition environnementale précise le pH, il est
essentiel de toujours tenir ces paramètres en compte pour assurer le bon fonctionnement du système
Le capteur PH assure un environnement dans lequel les poissons vivent dans des conditions
favorables, ni trop acide, ni trop alcalin.

c) Contrôle du dépôt d’engrais :

Une des ressources d’exception de ce projet est l’engrais. Il est constitué par les déjections des
poissons. Pour l’obtenir, nous avons mis en place le filtre à tourbillon (cf.). Mais la quantité de dépôt
peut affecter des changements qui peuvent être toxiques pour les plantes si elle est trop importante.
C’est la raison pour laquelle, le capteur JSN-SR04T plonge dans le filtre et surveille par des mesures
périodiques.

d) Supervisions

Chaque mesure fournie par les capteurs seront traitées par la carte Arduino. Cette dernière envoie
les données vers le NodeMCU via le port série. NodeMCU se connecte au même point d’accès wifi
que Redis et lui envoie les données pour être stockées après la synchronisation avec le serveur NTP.
Tornado en tant que serveur web adoptant le mode bloquant, possède l’avantage de traiter plusieurs
requêtes en même temps sans attendre que le précèdent soit terminé. Il fait appel à Redis et ce dernier
les lui envoie. JQuery, à travers le Long Polling demande une mise à jour des données au serveur
web en permanence. Cela offre à nous l’affichage du résultat en temps réel.
A un certain seuil, prédéfini dans la programmation, une notification est envoyée via email. En
même temps, l’interface graphique illustre également une alerte.
L’interface graphique de la figure qui suit illustre de deux manières l’état des compartiments
supervisés. La première montre la mesure exacte au moment où l’on regarde et la seconde montre
l’évolution des mesures pendant un intervalle de temps défini.
Un message d’alerte s’affiche sur notre interface pour prévenir l’utilisateur et suggérer une action à
entreprendre en conséquence. (Figure 5.15)
Le mail d’alerte est envoyé par un mail propre à notre système. On peut également le mail
destinataire en fonction de l’utilisateur final. Ici le test a été fait sur un mail particulier. Où que ce
soit dans le globe, l’utilisateur peut être averti. (Figure 5.16)

89
Figure 5.14 : Interface graphique

Figure 5.15 : Exemple d’alerte sur la page

90
Figure 5.16 : Mail d’alerte

91
CONCLUSION GENERALE

L’IoT se place comme un organe sensoriel du système en collectant puis envoyant les données en
temps réel depuis les capteurs vers le serveur base de donnée NoSQL puis vers un serveur web
asynchrone. Les différentes mesures s’affichent à travers une interface graphique HTML Jquery. Le
choix de chaque compartiment a été dicté par un compromis entre coût et performance.

L’onde est un élément fondamental dans le monde des Télécommunications. Après une approche
théorique de l’ultrason, nous avons exploité ses applications dans notre projet. Plus précisément
nous nous en servirons pour mesurer la distance dans l’air et dans l’eau. A chaque application, un
équipement spécifique.

Nous pouvons porter l’agriculture vers un autre niveau, à la fois efficace et moderne. Le côté
consommateur d’eau a été remédié et diminué de presque 90% tant pour les poissons que pour les
plantes. D’autre part la production a été minutieusement choisi pour correspondre aux critères de la
sécurité alimentaire.

J’ai porté un très grand intérêt à ce projet pour plusieurs raisons. Apporter du mien pour le
développement de Madagascar constitue une vocation profonde. Les problèmes sont vastes et
pénibles mais on a commencé depuis la base : la nutrition, la contribution dans le respect de
l’environnement et une possibilité de création d’emploi pour les Malagasys. Parce qu’un ensemble
de petits efforts peuvent aboutir à un résultat phénoménal. Si l’on s’y met tous, en 2030, la faim ne
serait plus qu’une histoire ancienne et Madagascar s’orientera vers des défis plus avancés. « Ny
erikerika mahatondra-drano ».

92
ANNEXES

ANNEXE 1 : EXTRAIT DE CODE JQUERY

A1.1 Fonction d’envoi d’un email de notification

function sendEmail(text) {
Email.send({
Host: "smtp.elasticemail.com",
Username: "aquaponiemada@gmail.com",
Password: "*********",
To: "natolotraras@gmail.com",
From: "aquaponiemada@gmail.com",
Subject: "Alerte système",
Body: text
})
.then(function (message) {
M.toast({html: 'email envoyé'})
});

}
A1.2 Fonction de mise à jour de données

updateData();
function addData(response) {
var data = response.data, date;
console.log(data);
if (data === null || data.length === 0)
return setTimeout(updateData, timeout);

data.forEach(function (item) {
date = new
Date(item.date.replace(/(\d{4})\/(\d{2})\/(\d{2})/, "$2/$3/$1") +
' ' + item.time);

const index = engraisData.findIndex(function(item) {


return item.x.getTime() === date.getTime()

93
});
if (index === -1) {
engraisData.push({x: date, y:
parseFloat(item.jsn_value)});
phData.push({x: date, y: parseFloat(item.ph)});
eauData.push({x: date, y:
parseFloat(item.hc_value)});
}
});

if (engraisData.length > dataNumber) {


engraisData = engraisData.slice(-dataNumber);
phData = phData.slice(-dataNumber);
eauData = eauData.slice(-dataNumber);
options.data[0].dataPoints = phData;
options.data[1].dataPoints = eauData;
}
updateNiveauEngrais(engrais,
engraisData[engraisData.length - 1].y);
updatePH(ph, phData[phData.length - 1].y);
updateNiveauEau(eau, eauData[eauData.length - 1].y);
$("#chartContainer").CanvasJSChart().render();
setTimeout(updateData, timeout);
}

function updateData() {
$.getJSON("http://localhost:8000/value", addData);
}
A1.3 Fonction de mise à jour de données du pH

function updatePH(indicator, value) {


const full = 14;
var width = value / full * 100;
indicator.css('width', width + '%').text(value);

if (value < 3)

94
indicator.css('color', phColors[0]);
else if (value < 6)
indicator.css('color', phColors[1]);
else if (value < 7)
indicator.css('background', phColors[2]);
else if (value < 11)
indicator.css('color', phColors[3]);
else
indicator.css('color', phColors[4]);

var modal = $('#modal-ph'), text = $('#ph-text');


if (value < phAlertValueMin) {
text.text('PH trop acide, veuillez vérifier l\'eau!!!');
modal.modal('open');
sendEmail('PH trop acide, veuillez vérifier l\'eau!!!')
}
if (value > phAlertValueMax) {
text.text('PH trop basique, veuillez vérifier l\'eau!!!');
modal.modal('open');
sendEmail('PH trop basique, veuillez vérifier l\'eau!!!')
}
}
A1.4 Fonction de mise à jour des données du niveau d’engrais

function updateNiveauEngrais(indicator, value) {


const niveauMax = 250;
var niveauEngrais = niveauMax - value;
var width = niveauEngrais / niveauEngraisAlertValue / 2 * 100;
if (width > 100)
width = 100;
console.log(width);
console.log(value);
console.log(niveauEngrais);
indicator.css('width', width + '%').text(niveauEngrais + '
mm');

95
if (niveauEngrais > niveauEngraisAlertValue) {
$('#modal-engrais').modal('open');
sendEmail('Seuil engrais atteint, veuillez faire la
vidange!!!')
}
}

96
ANNEXE 2 : EXTRAIT CODE SOURCE ARDUINO

A2.1 Connexion NodeMCU-Arduino et NodeMCU-Redis

#include <ESP8266WiFi.h>
#include <SoftwareSerial.h>
#include <Redis.h>
#include <TimeLib.h>
#include <NtpClientLib.h>

#define WIFI_SSID "TECNO K9"


#define WIFI_PASSWORD "******"

#define REDIS_ADDR "192.168.43.151"


#define REDIS_PORT 6379
#define REDIS_PASSWORD "root"

#define NTP_SERVER "192.168.43.151"


#define NTP_TIMEOUT 500

#define ONBOARDLED 2
#define DELAY 500

// serial to get connected to the arduino


SoftwareSerial ardSerial(D6,D5);

// redis server
Redis redis(REDIS_ADDR, REDIS_PORT);

// NTP
int8_t timeZone = 3;
int8_t minutesTimeZone = 0;

String key, value;

97
int keyLen, valueLen;
String dateStr, timeStr;

void setup() {
// Serials setup
ardSerial.begin(115200);
Serial.begin(115200);

pinMode (ONBOARDLED, OUTPUT); // Onboard LED


digitalWrite (ONBOARDLED, HIGH); // Switch off LED

// Connection to WiFi AP
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to the WiFi");
while (WiFi.status() != WL_CONNECTED)
{
delay(250);
Serial.print(".");
}
Serial.println("");
Serial.print("WiFi (");
Serial.print(WiFi.macAddress());
Serial.print(") connected with IP ");
Serial.println(WiFi.localIP());

// Connection to redis server


if (redis.begin(REDIS_PASSWORD))
{
Serial.println("Connected to the Redis server!");
}
else
{
Serial.println("Failed to connect to the Redis server!");
return;

98
}

// Initialize ntp client


NTP.setInterval(DELAY);
//NTP.setNTPTimeout(NTP_TIMEOUT);
NTP.begin(NTP_SERVER, timeZone, true, minutesTimeZone);

while(ardSerial.available()) {}
Serial.println("Run...");
}

void loop() {
digitalWrite (ONBOARDLED, HIGH); // Switch off LED
delay(DELAY);
if (ardSerial.available() && ardSerial.read() == 's') {
value = "";
key = "";
while (ardSerial.available()>0)
{
char character = ardSerial.read();
value.concat(character);
}

key = generateKey();
keyLen = key.length() + 1;
valueLen = value.length() + 1;
char keyChar[keyLen], valueChar[valueLen];
key.toCharArray(keyChar, keyLen);
value.toCharArray(valueChar, valueLen);
if (redis.set(keyChar, valueChar)) {
digitalWrite (ONBOARDLED, LOW); // Switch on LED - the data
is sent
}

Serial.println();

99
Serial.print(key);
Serial.print("-");
Serial.println(value);
}
}

String generateKey() {
//return "{\"date\":\"" + NTP.getDateStr() + "\",\"time\":\"" +
NTP.getTimeStr() + "\"}";
return "{\"date\":\"2020/12/21\",\"time\":\"" + NTP.getTimeStr()
+ "\"}";
}

100
BIBLIOGRAPHIE

[1] D. Evans, « L’Internet des objets Comment l’évolution actuelle d’Internet transforme-t-elle
le monde? », Cisco IBSG © Avril 2011.

[2] C. Trout « Researchers Debut One-Cubic-Millimeter Computer, Want to Stick It in Your


Eye», Endadget, 26 février 2011

[3] I.F. Akyildiz, W. Su, Y. Sankarasubramaniam, and E. Cayirci, « A survey on sensor networks
», Communications Magazine, IEEE, 2002.

[4] C.F García-Hernandez, P.H.I.Gonzalez, Joaquín García-Hernandez, and J.A.P.Díaz, «


Wireless sensor networks and applications: a survey, IJCSNSInternational », Journal of
Computer Science and Network Security 7, 2007

[5] I.F. Akyildiz and I.H. Kasimoglu, « Wireless sensor and actor networks: research
challenges », Ad hoc networks 2, 2004

[6] Sami TABBANE, IoT Standards, Part I: IoT Technology and Architecture, September 2018

[7] B.Billet. Système de gestion de flux pour l’Internet des objets intelligents. Thèse de doctorat
de l’université de Versailles Saint-Quentin-En-Yvelines, 2015.

[8] Hamdi Amroun. Modèles statistiques avancés pour la reconnaissance de l’activité physique
dans un environnement non contrôlé en utilisant un réseau d’objets connectés. Intelligence
artificielle [cs.AI]. Université Paris-Saclay, 2018

[9] D. Miorandi, S. Sicari, F. De Pellegrini, et I. Chlamtac, « Internet of things: Vision,


applications and research challenges », Ad hoc networks, vol. 10, no 7, 2012.

[10]M. Butty, « ADSL Connaissances de base », Swisscom SA Network Training, septembre


2000.

101
[11] A. Delley, M. Francioli et P. Zbinden, « Technologies d’accès aux réseaux », Ecole
d’ingénieurs et d’architectes de Fribourg, 1999, suppport de cours

[12]ERIK Bartmann. « Le grand liver d’Arduino ». 2eme Edition, 2014.

[13]Frédéric Bouquet et Julien Bobroff, « Microcontrôleur Arduino », Magistère de physique


fondamentale, Université Paris Sud, 2015.

[14] http://www. Datasheetcatalog.com. “datasheets for electronics components”. 2015.

[15]Zahira Ghalmi, « Développement d'un capteur ultrasonique pour mesurer l'épaisseur de la


glace », Université Du Québec A Chicoutimi. 2006

[16][Dognon, « Les ultrasons et leurs applications », Paris Presses universitaires de France 1953

[17] Syrota A., « Bases physiques de l'imagerie ultrasonore », N° Paris Onze édition H37, 1994

[18] Banks B, Gordon E et Rawding H, « La détection ultrasonique des défauts dans les
matériaux », Paris 1966

[19]Brown B et Goodman J.E., « Ultrasons de haute intensité », Applications Industrielles, Ed


Dunod, Paris 1971

[20]Hobbs et Victor P., « Ice Physics », Clarendon Press Oxford. 1974.

[21] Ristic V., « Principles of Acoustic Devices ». John Wiley&Sons, New York 1983

[22] Chen Q.X. et Payne P. A., « Industrial applications of piezoelectric polymer transducers
», Décembre 1994.

[23] INSTAT, « Analyse Globale de la sécurité alimentaire et nutritionnelle, et de la


Vulnérabilité (AGSANV) », Programme Alimentaire Mondial, Données collectées en 2012-
2013

102
[24] Office Nationale de Nutrition, « Plan National d’Action pour la Nutrition-III, 2017-2021 »

[25] Organisation des Nations-Unies pour l’alimentation et l‘agriculture, « une solution


intelligente basée sur les poissons pour produire de la nourriture en utilisant des ressources
limitées et peu d’eau », programme pour la mise en œuvre d’une stratégie des pêches pour
la région Afrique orientale et australe-Océan Indien, 2014

[26] Stalport, Benoît, « Modélisation et développement d'un système aquaponique avec


surveillance métrologique pour l'étude du cycle de l'azote », Liège Université Gembloux
Agro-Bio Tech, 2016

[27] « Présentation de Redis », https://www.ionos.fr/digitalguide/hebergement/aspects-


techniques/quest-ce-que-redis/, Juin 2020

103
FICHE DE RENSEIGNEMENTS

Nom : RASOLOFOJAONA

Prénoms : Miarisoa Natolotra

Adresse : Lot 37 Bis Cité Andavamamba face CENAM

Contact : +261 34 60 435 35

E-mail : natolotraras@gmail.com

Titre : « L’IOT ET L’ONDE ULTRASONORE POUR LA


SUPERVISION D’UN SYSTEME AGRICULTURE AMELIORÉ
AVEC RECYCLAGE DE L’EAU »

Nombre de pages : 115

Nombre de tableaux : 3

Nombre de figures : 53

Directeur de mémoire :

Nom : RAVONIMANANTSOA

Prénoms : Ndaohialy Manda-Vy

Grade : Professeur en Télécommunications

Tél : +261 34 11 358 00


E-mail : ravonimanantsoa@gmail.com

104
RESUME

Le présent mémoire nous a permis de connaître et de comprendre le monde de l’IoT. Nous avons
également pris conscience des théories sur l’onde ultrasonique puis d’Arduino et vu comment les
exploiter à des fins indispensables à des vies. L’objectif de ce travail a été de trouver un compromis
entre produire plus et avec le moins d’eau possible afin de relever le Défi Faim Zéro de l’ONU pour
2030, le tout en suivant la troisième évolution d’internet. Bien que le résultat touche d’autres
domaines à part la Télécommunication : l’agronomie, l’hydrologie ou autres, les causes défendues
sont immenses. Il vise ainsi par ailleurs à conscientiser d’abord puis à inspirer que tout le monde
peut prendre part dans le développement de notre cher pays.

Mots clés : Iot, aquaponie, ODD, Arduino, ultrason, environnement, famine

ABSTRACT

This thesis has allowed us to know and understand the world of IoT. We also became aware of the
theories of the ultrasonic wave and then of Arduino and saw how to exploit them for purposes
essential to lives. The aim of this work has been to find a compromise between producing more and
with as little water as possible in order to meet the UN's Zero Hunger Challenge for 2030, all while
following the third evolution of the internet. Although the result affects other areas besides
Telecommunications, agronomy, hydrology or others, the defended causes are immense. It also aims
to raise awareness first and then inspire that everyone can take part in the development of our dear
country.

Keys words: IoT, aquaponics, SDGS, Arduino, ultrasound, environment, famine

Vous aimerez peut-être aussi