Mémoire de Fin D'études: Conception Et Mise Capteurs Sans Fil Multiniveaux
Mémoire de Fin D'études: Conception Et Mise Capteurs Sans Fil Multiniveaux
ET DE LA RECHERCHE S CIENTIFIQUE
F ACULTE DE T ECHNOLOGIE
Département du Génie Électrique
THEME
Conception et mise au point d’une plateforme pour réseau de
capteurs sans fil Multiniveaux
J e dédie ce modeste travail avec un grand plaisir, à tous ceux qui ont crus en
moi, spécialement à ceux qui ont été mes guides dans la vie :
A la plus belle femme du monde ma mère, qui a veillé sur moi jour et nuit depuis
mon enfance qui ma donne l'amour la gentillesse le respect a moi-même c'est la
reine de mon cœur.
A mon cher frère Racim et ma sœur Rawya
A ma chère binôme Kaouther
A tous mes enseignants depuis mon premier pas a l’école
jusqu’aujourd’hui, qui mon enrichie de leur savoir.
A mes copines et copines de ma promotion, Pour tous les bons moments partagés,
pour tant de gentillesse et de disponibilité.
Grace aux quels ses années ont été ponctuées de moments d’évasions
MERADI Tarek
D édicace
J e dédie ce modeste travail avec un grand plaisir, à tous ceux qui ont crus en
moi, spécialement à ceux qui ont été mes guides dans la vie :
Mes chers parents qui m’ont entouré de leur amour, leurs sacrifices, leurs
sacrifices, leur protection et de leur générosité durant toute la durée de mes études.
A mon binôme Tarek qui m’a toujours accepté tel que je suis, et m’a si souvent
remonté le moral …. Ensemble pour toujours.
A mes copines et copines de ma promotion, Pour tous les bons moments partagés,
pour tant de gentillesse et de disponibilité.
Grace aux quels ses années ont été ponctuées de moments d’évasions
MAMI kaouther
Remerciement
T out d’abord, nous tenons à remercier Allah, le tout puissant
Sans oublier nos parents pour leurs soutiens. Enfin, nous tenons
également à remercier toutes les personnes qui ont participé de
près ou de loin à la réalisation de ce travail.
Résumé
Abstract
The objective of this project is to realize a multi-level wireless sensor network
(WSN) based on Arduino boards and nRF24L01+ modules radio, to transmit data to a
base node (SINK) over the RF channel using intermediaries nodes (routers) that
ensure the routing of data.
ملخص
انيذف من ىذا انمشزًع ىٌ تحقيق شبكت مستشعزاث السهكيت متعذدة انمستٌياث قائمت عهى نظاو
مما يسمح بنقم انبياناث إنى عقذة أساسيت عبز قنٌاث انتزدد، nRF24L01 + ٌبطاقاث أردًينٌ ًًحذاث رادي
.انزاديٌ باستخذاو عقذ الًسطاء (المٌجه) انتي تضمن تٌجيو انبياناث
الكلمات المفتاحية
CHAPITRE I
Figure I.1 Architecture d’un RCSF ........................................................................................... 3
Figure I.2 Schéma de principe d’un capteur ............................................................................ 4
Figure I.3 L’architecture d’un nœud de capteurs ..................................................................... 5
Figure I.4 Robot militaire commandé sans fil .......................................................................... 8
Figure I.5 Exemple d’une application de surveillance d’une résidence ................................... 8
Figure I.6 Exemple d'application médical ................................................................................ 9
Figure I.7 SENSORSCOPE pour la surveillance du réchauffement climatique ....................... 9
Figure I.8 Topologies des réseaux de capteurs sans fil .......................................................... 10
CHAPITRE II
Figure II.1 Schéma bloc du RCSF multi niveaux. ..................................................................... 14
Figure II.2 La carte Arduino nano............................................................................................ 18
Figure II.3 La carte Arduino Uno. ............................................................................................ 19
Figure II.4 Le module Radio nRF24L01+. ............................................................................... 20
Figure II.5 Schéma synoptique du mode de transmission nRF24L01+. ................................... 21
Figure II.6 Mode de fonctionnement de bus SPI....................................................................... 24
Figure II.7 Transmission des données dans le bus SPI. ........................................................... 24
Figure II.8 L’interfaçage du nRF24L01+ avec Arduino Nano. ............................................... 25
Figure II.9 La Shield I/O, Expansion Board, Wireless V3 pour l’Arduino Nano ..................... 25
Figure II.10 L’interfaçage du nRF24 avec la carte Arduino Uno. ........................................... 26
Figure II.11 Le schéma électrique de la shield Wireless pour la carte Uno ............................ 27
Figure II.12 Le modèle en couches du réseau de capteurs sans fil. ......................................... 27
CHAPITRE III
Figure III.1 L’IDE Arduino.......................................................................................................... 31
Figure III.2 L’installation et la mise à jour des bibliothèques relatives au nRF24..................... 32
Figure III.3 Téléchargement du soft de programmation de nRF24L01+ .................................... 32
Figure III.4 Choix du bootloader du processeur ......................................................................... 33
Figure III.5 Choix du bootloader du processeur ......................................................................... 33
Figure III.6 La mise en marche du mode multi cievers ............................................................... 34
Figure III.8 La fenêtre de débogage relative au nœud de base. .................................................. 35
Figure III.7 La fenêtre de débogage du nœud de capteur n°5 ..................................................... 36
Figure III.9 Représentation des données reçus............................................................................ 36
Figure III.10 L’organigramme du programme du nœud de base ................................................ 38
Figure III.11 L’organigramme du nœud d’émetteur ................................................................... 40
Figure III.12 La partie de déclaration au niveau de nœud end_device. ...................................... 41
Figure III.13 Communication RCSF multiniveaux. ..................................................................... 42
Figure III.14 La topologie RF24Network. ................................................................................... 44
Figure III.15 La mise en marche du mode multiniveaux ............................................................. 45
Figure III.16 La fenêtre de débogage du nœud d’end_device. .................................................... 46
Figure III.17 La fenêtre de débogage relative au nœud de base. ................................................ 47
Figure III.18 La fenêtre de débogage relative au nœud de routeur............................................. 47
Figure III.19 L’organigramme du nœud de sink .......................................................................... 48
Figure III.20 Déclaration des différentes bibliothèques .............................................................. 49
Figure III.21 Code d’arduino utiliser au niveau du sink ............................................................. 49
Figure III.22 L’organigramme du nœud de routeur .................................................................... 50
Figure III.23 Partie de retransmission. ....................................................................................... 51
Figure III.24 L’organigramme du nœud d’end_device ............................................................... 52
Figure III.25 Code d’arduino utilisé au niveau d’end_device ..................................................... 53
LISTE DES TABLEAUX
CHAPITRE I
Tableau I.1 Comparaison entre réseau de capteurs et réseau Ad-Hoc[1]………………..……5
CHAPITRE II
Tableau II.1 Tableau comparatif des différents modèles de cartes Arduino. ......................... 17
Tableau II.2 Caractéristiques de la carte Arduino nano.[8].................................................... 18
Tableau II.3 Caractéristiques de la carte Arduino Uno.[10] .................................................. 19
Tableau II.4 Comparaison des standards.[4] .......................................................................... 20
Tableau II.5 Caractéristiques du module nRF24L01.[11] ...................................................... 21
Tableau II.6 La structure de la Trame du protocole ShockBurst.[4] ..................................... 21
Tableau II.7 Description des pins du nRF24L01. ................................................................... 22
Tableau II.8 Exemple d‘échange de l‗adresse entre deux module ......................................... 22
CHAPITRE III
Tableau III.1 Comparaison entre le nombre théorique et pratique des échantillons reçus….37
Liste des acronymes
symboles signification
ACK Acknowledgement
CE Chip Enable
CSN Chip Select
CRC Cyclic Redundancy Code
ESB Enhanced shock Burst
FIFO First in First out
GFSK Gaussian frequency shift keying
ICSP In-Circuit Serial Programming ou (Programmation Série Dans le
circuit)
IDE integrated development environment
IRQ Interrupt Reques
LED light emitting diode
MISO Master Input, Slave Output
MOSI Master Output, Slave Input
OSI Open systems Interconnection
PWM Pulse width modulation (Modulation de la largeur des pics)
RCSF Réseau de Capteur Sans Fil
RF Radio Frequency
RX Receiver
SCK Serial Clock
SPI Serial Peripheral Interface
SSH secured shell
TX Transmitter
USB Universal serial Bus
WSN Wireless Sensor Network
Introduction générale
Introduction générale
Dans le but de faciliter la vie et de faire éliminer les difficultés autour de l‘être humain,
plusieurs technologies sont apparues pour garantir ces besoins, l‘une de ces technologies est
les réseaux de capteurs sans fil.
Les réseaux de capteurs sans fil représentent une révolution technologique des
instruments de mesure, issus de la convergence des systèmes, électroniques miniaturisés et
des systèmes de communication sans fil.
Les réseaux de capteurs sans fil (RCSF) - Wireless Sensor Networks (WSN) - sont
des réseaux généralement constitués d‘entités autonomes miniaturisées appelés nœuds
capteurs pouvant communiquer entre eux par liaison radio.
Les nœuds sont généralement de taille réduite, construits à partir des composants pas
chers. Ce type de réseau est composé de centaines ou de milliers d‘éléments (capteurs), a
pour but la collecte de données de l'environnement, leur traitement et leur transmission vers
le monde extérieur
L'objectif de ce mémoire est de concevoir et d‘implémenté une plateforme pour un
réseau de capteur sans fil multiniveaux. Ce travail retenu, assure en plus la possibilité
d‘étendre le réseau de capteurs à un nombre de nœuds plus important, assure une portée plus
grande de la zone de captage qui dépasse la portée du module radio utilisé à travers l‘emploi
des nœuds routeurs. Notre contribution s‘articule autour de trois parties, la première consiste
à transmettre les données (data) à l‘aide d‘un module de communication nRF24L01+ vers
un destinataire nœud de sink lors de sa porté chaque nœud a une adresse entre 1-255 , mais
pour qu‘il fait la transmission il utilise des intermédiaires plusieurs nœuds routeurs
(passerelles) qui assurent l‘acheminement des données des nœuds de capteurs vers le nœud
de base sink. Ce dernier reçoit les data et les affiche sur un pc.
Ce travail est organisé autour de trois chapitres :
Dans le premier chapitre, nous présenterons quelques généralités sur les réseaux de
capteurs sans fil.
le deuxième chapitre traite la partie matérielle et les différents composants utilisés
dans cette étude.
Le troisième chapitre est concernera le détaille et la mise en marche de notre
application, nous présenterons en premier la configuration multicievers et en
seconde la configuration multi niveaux, ainsi que leurs résultats obtenu.
Page 1
Chapitre I
I.1 Introduction
Durant la dernière décennie, l‘utilisation des réseaux de capteurs sans fil (RCSF) a
connu une évolution considérable dans diverses applications de la vie courante. Ainsi on les
trouve de plus en plus dans les systèmes de supervision, de détection, de mesure et de
sécurité.
En conséquence, les réseaux de capteurs sans fil peuvent renseigner l‘utilisateur sur l‘état
d‘un système, d‘un lieu ou d‘un environnement à distance à travers un ensemble de capteurs
reliés entre eux formant ainsi un réseau sans fil de mesure ou de détection en se basant sur
des techniques et des protocoles de communication.
Page 3
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
La position des nœuds d‘un RCSF n'est pas obligatoirement prédéterminée, ils peuvent
être aléatoirement dispersés dans une zone géographique appelée « champ de captage »
correspondant au terrain d'intérêt pour le phénomène capté (par exemple : pour étudier les
phénomènes vulcanologiques et leurs évolutions, un ensemble de nœuds de capteurs sont
lâchés par un avion autour d‘un volcan).
Page 4
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
Le tableau I.1 présente une petite comparaison entre les réseaux de capteurs et les
réseaux Ad-Hoc :
Page 5
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
Un grand nombre de nœuds : des réseaux de 10000 nœuds peuvent être envisagés
dans certaines applications.
Topologie dynamique : les capteurs peuvent être attachés à des objets mobiles qui se
déplacent d‘une façon libre et arbitraire rendant ainsi, la topologie du réseau fréquemment
changeante.
Page 6
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
Auto organisation du réseau : ceci peut être nécessaire dans plusieurs cas. Par
exemple, un réseau comportant un grand nombre de nœuds placés dans des endroits hostiles
ou la configuration manuelle n‘est pas faisable, doit être capable de s‘auto organiser. Un
autre cas est celui ou un nœud est inséré ou retiré (à cause d‘un manque d‘énergie ou de
destruction physique), ainsi le réseau doit être capable de se reconfigurer pour continuer sa
fonction.
Sécurité physique limitée : les RCSF sont le plus souvent touchés par le paramètre
de sécurité que les réseaux filaires classiques. Cela se justifie par les contraintes hardware du
nœud et les contraintes physiques de transfert des données par voie RF.
Page 7
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
Les RCSF sont susceptibles d'être une partie intégrante des équipements du soldat de
future, du dispositif de commandement militaire, des outils de la surveillance du champ de
bataille (Fig. I.4), des techniques de la reconnaissance et des systèmes de localisation.
Page 8
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
Page 9
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
Page 10
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
La topologie en étoile est un système uni-saut. Tous les nœuds envoient et reçoivent
seulement des données avec la station de base. Cette topologie est simple et elle demande
une faible consommation d‘énergie, mais la station de base est souvent altérable et la
distance entre les nœuds et la station est limitée.
Avantage : simplicité et faible consommation d‘énergie des nœuds, faible latence de
communication entre les nœuds et la station de base.
Inconvénient : la station de base est vulnérable, car tout le réseau est géré par un seul
nœud.
La topologie hybride est un mélange des deux topologies précédentes. Les stations de
base forment une topologie en toile et les nœuds autour d‘elles sont en topologie étoile.
Elle assure la minimisation de la consommation de l‘énergie dans les réseaux de capteurs.
Page 11
Chapitre I : Généralités sur les réseaux de capteurs sans fil (RCSF)
d‘organiser les différents nœuds du RCSF en sous-ensembles (sous-réseaux) selon les choix
désirés (chemins des données, types de données, zone de déploiement, …etc).
Cette plateforme qui peut être destinée à divers types d‘applications dans les
domaines : du sport, de la santé, de la mesure, de la surveillance, …etc, est architecturée
autour d‘un microcontrôleur 8 bits et d‘un module radio de faibles couts.
I.4 Conclusion
Dans ce chapitre, nous avons présenté des généralités sur les réseaux de capteurs sans
fil(RCSF), la constitution du nœud de capteurs et son architecture. Nous avons également
cité les caractéristiques d‘un réseau de capteurs sans filet nous avons présenté quelques
applications des RCSF dans différents domaines de la vie, ainsi que leurs topologies.
Page 12
Chapitre II
Conception
du Réseau de Capteur Sans Fil
Chapitre II : Conception du réseau de capteurs sans fil (RCSF)
II.1 Introduction
Dans ce chapitre nous présentons la partie hardware du réseau de capteur sans fil
implémenté, ainsi que les divers choix retenus pour la conception des différents nœuds et
principalement la partie de traitement à base de microcontrôleur et le module radio.
Page 14
Chapitre III : Réalisation et mise en marche du système
a. Applications : [6]
La plateforme de prototypage Arduino permet aux utilisateurs de réaliser une grande
variété d‘applications telles que :
Le contrôle des appareils domestiques,
Page 15
Chapitre III : Réalisation et mise en marche du système
Matériel Open source et extensible: les cartes Arduino sont basées sur des
microcontrôleurs 8 et 32 bits de plusieurs constructeurs (Atmel, Intel, ….).
Cette plateforme est composée de deux types d‘outils, qui sont le matériel et le logiciel.
b.1 Le matériel :
Le microcontrôleur :
C‘est l‘élément de base de la carte de prototypage. C‘est l‘organe qui va recevoir et exécute le
programme développé par l‘utilisateur et qui va être stocké dans sa mémoire.
L’alimentation :
C‘est le circuit électronique qui assure la mise en marche de la carte de prototypage et fourni
l‘énergie électrique nécessaire au fonctionnement du microcontrôleur et ses périphériques.
L’interface de communication :
C‘est la partie qui assure la communication entre la carte de prototypage et l‘outil de
programmation (le plus souvent un PC), elle peut être de nature filaire (via un câble USB ou
RJ45) ou de nature radio (via une Interface Wifi ou Bluetooth).Cette interface est utilisée
pour la programmation, le débogage, …etc.
Page 16
Chapitre III : Réalisation et mise en marche du système
2. Les deux LED Tx et Rx: servent à visualiser l‘activité sur la voie série (la première pour
l‘émission et l‘autre pour la réception).
3. La LED Pwr / ON : pour visualiser l‘état du circuit d‘alimentation de la carte.
ATmega
UNO 16 2 32 1 6 14/6
328
LEONARDO ATmega
16 2.5 32 1 12 20/7
32u4
DUEMILA ATmega
NOVE 16 2 32 1 6 14/6
328
NANO ATmega
16 2 32 1 8 14/6
328
MEGA2560 ATmega
16 8 256 4 16 54/14
2560
DUE AT91SA
84 96 512 - 12 54/12
M3X8E
MEGA ADK
ATmega
16 8 256 4 16 54/14
2560
YUN
ATmega
32u4 16 2.5 32 1 12 20/7
Pour notre cas, nous avons choisi les cartes Arduino Nano et Uno afin de les utilisées dans
notre projet car elles sont adaptées à nos besoins, notamment pour : leurs prix, leurs
dimensions, leurs nombre d‘entrées/sorties et leurs tailles de mémoire programme et RAM.
Page 17
Chapitre III : Réalisation et mise en marche du système
Nous avons utilisé le modèle Uno comme nœud de base (sink) afin de recevoir et afficher les
données collectées ainsi que pour les nœuds routeurs qui servent comme passerelle à
l‘intérieur du réseau.
Pour les nœuds de capteurs, nous avons utilisé le modèle Nano pour réaliser l’acquisition
des données via les capteurs ou détecteurs.
Microcontrôleur ATmega328
Vitesse de l’horloge 16MHz
Tension de fonctionnement 5V
Tension d’entrée (recommandé) 7-12V
Digital I/O Pins 22 (dont 6 fournissent une sortie PWM)
Broches d'entrées analogiques 8
Courant max par pin d’E/S 40 mA
Courant max pour la pin 3,3 V 50 mA
Mémoire Flash 32 Ko (ATmega328) dont 2 Kb utilisé par le
Bootloader
Mémoire SRAM 2 Kb
Mémoire EEPROM 1 Kb
Page 18
Chapitre III : Réalisation et mise en marche du système
Microcontrôleur ATmega328P
Tension d'alimentation interne 5V
Tension d'alimentation (recommandée) 7 à 12 V
Entrées/sorties numériques 14 dont 6 sorties PWM
Entrées analogiques 6
Courant max par broches E/S 40 mA
Courant max sur la sortie 3,3V 50 mA
Mémoire Flash 32 kb dont 0.5 kb utilisée par le bootloader
Mémoire SRAM 2 kb
Mémoire EEPROM 1kb
Fréquence d’horloge 16 MHz
Dimensions 68.6 x 53.3mm
c. le module Radio :
Pour notre RCSF, nous avons opté pour l‘un des modules Radio les plus populaires à
l‘heure actuelle, qui est le nRF24L01+. Ce module radio est d‘un cout très compétitif et de
caractéristiques très intéressantes par rapport à d‘autres modules radio du commerce.
Page 19
Chapitre III : Réalisation et mise en marche du système
Une comparaison entre les différents standards est présentée dans le tableau ci-dessous:
Tableau II.4 Comparaison des standards.[5]
Ce module Radio utilise une modulation GFSK avec 127 canaux, des sauts de
fréquences, couplés à un dispositif CR permettent un antiparasitage très efficace. Il possède
aussi une fonction d‘auto ACKNOWLEDGE (l‘auto renvoie) et support jusqu‘à 6 connexions
simultanées (pipeline) possédant chacune son propre buffer de réception de 32 bytes.
Page 20
Chapitre III : Réalisation et mise en marche du système
Les puces nRF24L01+ utilisent des canaux démarrant à 2.4 GHZ+ RF_CH (avec
RF_CH est le numéro du canal allons de 0 à 126). Ce module intègre un protocole spécial
appelé ESB: « Enhanced ShockBurst », ce protocole permet de garantir une transmission
fiable de manière transparente sans s‘occuper des détails.
Page 21
Chapitre III : Réalisation et mise en marche du système
Page 22
Chapitre III : Réalisation et mise en marche du système
Second point : Ces pipes contiennent une adresse sur 40 bits, qui permet de savoir
avec qui le module communique.
Module 1 Module 2
pipe 0(écriture) : Adresse 0 pipe 0(écriture) : Adresse 1
pipe 1(lecture) : Adresse 1 pipe 1(lecture) : Adresse 0
Les données récupérées par le module nRF24L01+ peuvent être lus par le
microcontrôleur associé à l‘aide d‘une liaison série SPI.
c.5 Protocole de communication SPI :[11]
La liaison SPI est un bus de données séries synchrone baptisé par Motorola, et qui opère
en Full Duplex. Les circuits communiquent selon un schéma maitre esclaves, ou le maitre
s'occupe totalement de la communication. Plusieurs esclaves peuvent coexister sur un bus, la
sélection du destinataire se fait par une ligne dédiée entre le maitre et l'esclave appelée "chip
select". Le bus SPI contient 4 signaux logiques:
SCLK : horloge (généré par le maitre).
MOSI : Master Output, Slave Input (généré par le maitre).
MISO : Master Input, Slave Output (généré par l'esclave).
SS : Slave Select, Actif à l'état bas (généré par le maitre).
Page 23
Chapitre III : Réalisation et mise en marche du système
Durant chaque cycle d‘horloge SPI, une transmission de donnée full duplex se produit, à
chaque coup d'horloge le maître et l'esclave s'échangent un bit, après huit coups d'horloges le
maître a transmis un octet à l'esclave et vice versa. La vitesse de l'horloge est réglée selon des
caractéristiques propres aux périphériques. Lorsqu‘il n‘y a plus de données à transmettre le
maitre arrête son horloge, et cela désactive l‘esclave.
d. Conception du réseau de capteurs sans fil :
La Conception des nœuds de notre réseau de capteurs est effectuée par l‘interfaçage du
module nRF24 avec la carte Arduino choisie, la communication est effectuée en respectant
l‘affectation des pins. Après l‘interfaçage de l‘Arduino avec le module nRF24, afin de créer
les différents nœuds du réseau de capteurs, il est indispensable de programmer leurs
comportements.
Page 24
Chapitre III : Réalisation et mise en marche du système
Pour interconnecté le module Radio avec la carte Arduino Nano des nœuds de capteurs
on a réalisé le câblage suivant :
nrf24L01+ Arduino Nano
VCC ---------------------- 3V3
GND ----------------------GND
SCK ----------------------D13
MISO----------------------D12
MOSI----------------------D11
CSN ----------------------D10
CE ----------------------D9
IRQ ---------------------- Non connecté.
Afin de simplifier la mise au point du nœud de capteurs nous avons utilisé la shield I/O
& Wireless Nano du constructeur chinois RobotDyn (Fig. II-9).
Figure II.9 La Shield I/O, Expansion Board, Wireless V3 pour l’Arduino Nano
Page 25
Chapitre III : Réalisation et mise en marche du système
Pour interconnecter le module Radio avec la carte Arduino Uno des nœuds routeurs et
du nœud de base on a réalisé le câblage suivant :
Le circuit électrique de la shield Wireless utilisée avec notre nœud de base et nos nœuds
routeurs est très simple, il est conçu autour du module nRF24 associé à deux condensateurs de
100nF et de 10uF et un ensemble de connecteurs et jumpers.
Page 26
Chapitre III : Réalisation et mise en marche du système
Pour le module nRF24 il existe sur le web plusieurs bibliothèques de développement qui
possèdent chacune des caractéristiques bien spécifiques. Pour notre implémentation et après
de longs tests nous avons retenu les bibliothèques suivantes :
Page 27
Chapitre III : Réalisation et mise en marche du système
Le choix d‘une technologie dépend des services proposés, ainsi que des besoins du
concepteur du réseau. Certains paramètres comme la puissance, le débit, la portée, le coût, la
sécurité, et le nombre de nœuds supportés doivent être pris en compte.
Page 28
Chapitre III : Réalisation et mise en marche du système
II.4 Conclusion
Page 29
Chapitre III
Réalisation et mise
en marche du système
Chapitre III : Réalisation et mise en marche du système
III.1 Introduction
Dans ce chapitre, nous allons présenter les outils de développement software de notre
RCSF, ensuite nous décrirons la méthode que nous avons adoptée pour faire communiquer la
carte arduino avec le module nRF24 et finalement nous présenterons les organigrammes des
programmes de transmission multiciever et le réseau multiniveaux.
Page 31
Chapitre III : Réalisation et mise en marche du système
Ensuite sur la fenêtre de la Fig. III.3 et dans le champ recherche, on tape "rf24" et on
choisit tous les bibliothèques créé par "TMRh20".
Page 32
Chapitre III : Réalisation et mise en marche du système
avec baud rate de 115200, tandis que l‘ancien bootloader communique avec baud rate de
57600. Donc pour résoudre le problème il fallait configurer l‘IDE à utiliser les réglages de
l‘ancien version de bootloader, ceci a été réalisé par la procédure suivante : on choisit le
menus Outils puis Processeur:‗ATmega328P‘ensuite‘ATmega328P (Old bootloader)’
Page 33
Chapitre III : Réalisation et mise en marche du système
La Fig. III.5, montre un réseau à cinq pipes d‘écriture (données) qui sont ouverts dans le
nœud récepteur primaire (PRX). Chaque nœud PTX est relié à l'un de ces pipes pour l'utiliser
dans l'émission. Chaque pipe possède une adresse, les adresses / pipes doivent avoir un motif
d'octets distinct: seul le cinquième octet est entièrement unique parmi tous les pipes est connu
comme l'octet le moins significatif.
La réception des données est en mode RX. Cela signifie que tout nRF24 peut réellement
agir avec 6 récepteurs différents en même temps. Toutes les pipes utilisent le même canal RF
(quel que soit le canal défini dans le registre). Chaque fois que nous voulons envoyer des
données à une adresse différente, nous devons changer deux adresses, mais avec la
bibliothèque nRF24L01 la gestion se fait d‘une manière transparente à condition de bien fixer
les adresses des pipes au départ.
La séquence TX -> RX suit un modèle simple dans une esquisse. Les données utiles
peuvent être de longueur statique ou dynamique et peuvent également être attachées à des
paquets ACK (acquittement) qui sont régulièrement renvoyés du récepteur à l'émetteur pour
confirmer la bonne transmission des paquets
La Fig. III.6 montre la configuration du test multicievers que nous avons réalisé :
Page 34
Chapitre III : Réalisation et mise en marche du système
avec un indice différent pour pouvoir identifier les données au niveau du nœud de base. Et
afin de simuler des fréquences d‘échantillonnage différentes pour les nœuds de capteurs,
nous avons définie pour chacun des nœuds une périodicité d‘émission différente des autres
nœuds :
1. Le compteur du nœud de capteur n°1 commence à partir de la valeur 1000 avec une
période d‘émission de 50 ms ;
2. Le compteur du nœud de capteur n°2 commence à partir de la valeur 2000 avec une
période d‘émission de 60 ms ;
3. Le compteur du nœud de capteur n°3 commence à partir de la valeur 3000 avec une
période d‘émission de 80 ms ;
4. Le compteur du nœud de capteur n°4 commence à partir de la valeur 4000 avec une
période d‘émission de 100 ms ;
5. Le compteur du nœud de capteur n°5 commence à partir de la valeur 5000 avec une
période d‘émission de 250 ms.
La figure suivante montre les messages de débogage relatifs au nœud de capteurs n° 5
qui montre l‘achèvement de l‘émission de neuf paquets vers le nœud de base :
Page 35
Chapitre III : Réalisation et mise en marche du système
Page 36
Chapitre III : Réalisation et mise en marche du système
Tableau III.1 Comparaison entre le nombre théorique et pratique des échantillons reçus
Nous constatons qu‘il n y‘a pas de pertes de données, sauf que nous avons eu une
donnée en plus de la part du nœud de capteur n° 5 ceci est due probablement à la
temporisation que nous avons utilisée avec l‘instruction ‗delay‘, car cette dernière n‘est pas
aussi bien précise que les temporisations réalisées à l‘aide des timers et des interruptions. Ceci
induit donc une petite marge d‘erreur sur la durée de la temporisation.
Page 37
Chapitre III : Réalisation et mise en marche du système
Page 38
Chapitre III : Réalisation et mise en marche du système
Dans le programme principal nous avons effectué les opérations suivantes si les
données sont arrivées à l'adresse du modem en utilisant la fonction "radio.available ( )".
Cette fonction renvoie une valeur "oui" si nous avons reçu des données, ou "non" si aucune
donnée ni reçus.
radio.read(&dataReceived, sizeof(dataReceived)) : permet la lecture de la donnée
reçue.
Page 39
Chapitre III : Réalisation et mise en marche du système
Dans cet organigramme nous avons utilisé les mêmes bibliothèques que le récepteur.
Dans la partie de déclaration nous avons déclaré les pins, ensuite nous devons créer un objet
appelé « radio » ou nous posons les pipes, ainsi que nous avons déclaré la donnée à
transmettre
Page 40
Chapitre III : Réalisation et mise en marche du système
Dans la partie de configuration nous avons utilisé presque les mêmes classes sauf que nous
remplaçons startListening par stopListening pour passer en mode émission.
Dans le programme principal ‗loop ()‘ nous avons effectuons les opérations suivantes :
Nous avons pu commander que six module nrf24l01+ parce que nous avons trouvé un
problème au niveau des pipes; donc la bibliothèque que nous avons utilisé n‘est pas suffisante
pour faire avec elle un réseau multiniveaux, car il contient plusieurs pipes c‘est pour ça nous
avons cherché une autre option (autre bibliothèque) pour crier notre réseau.
Page 41
Chapitre III : Réalisation et mise en marche du système
Lorsque vous travaillez sur un réseau radio, certaines de ces techniques automatisées
peuvent en fait entraver la transmission de données dans une certaine mesure. Réessayer à
plusieurs reprises des charges utiles échouées sur un réseau radio peut gêner la
communication pour les nœuds voisins ou réduire le débit et les erreurs sur les nœuds de
routage.
Page 42
Chapitre III : Réalisation et mise en marche du système
Les modules radio de ce réseau sont liés par des adresses attribuées aux pipes. Chaque
nRF24L01+ peut écouter 6 adresses sur 6 pipes, donc chaque module radio a un pipe parent
et 5 pipes enfants, qui sont utilisés pour former une structure arborescente. Les nœuds
communiquent directement avec leurs nœuds parents et enfants. Tout autre trafic vers ou
depuis un nœud doit être acheminé via le réseau.
Toute personne familiarisée avec les réseaux IP devrait être en mesure de comprendre
facilement la topologie RF24Network. Le nœud maître peut être vu comme la passerelle, avec
jusqu'à 4 nœuds directement connectés. Chacun de ces nœuds crée un sous-réseau en dessous,
avec jusqu'à 4 nœuds enfants supplémentaires. Le schéma de numérotation peut également
être lié à des adresses IP, afin de comprendre la topologie via un sous-réseau. Les nœuds
peuvent avoir 5 enfants si la multidiffusion est désactivée.
Exprimer les adresses RF24Network au format IP:
A titre d'exemple, nous pourrions désigner le nœud maître en théorie, comme l'adresse
10.10.10.10
Les nœuds enfants du maître seraient 10.10.10.1, 10.10.10.2, 10.10.10.3, 10.10.10.4 et
10.10.10.5
Les nœuds enfants de 10.10.10.1 seraient 10.10.1.1, 10.10.2.1, 10.10.3.1, 10.10.4.1 et
10.10.5.1
Dans RF24Network, le maître est juste 00
Les enfants du maître sont 01, 02, 03, 04,05
Les enfants de 01 sont 011 021 031 041 051
Page 43
Chapitre III : Réalisation et mise en marche du système
Routage :
Le routage du trafic est géré de manière invisible pour l'utilisateur, par la couche réseau.
Si les adresses réseau sont attribuées conformément à la disposition physique du réseau, les
nœuds achemineront le trafic automatiquement selon les besoins.
Exemple: Le noeud 00 envoie au noeud 01. Les nœuds utiliseront les fonctions
intégrées d'auto-réessai et d'auto-ack.
Exemple: Le nœud 00 envoie au nœud 011. Le nœud 00 envoie au nœud 01 comme
précédemment. Le nœud 01 transmet le message à 011. Si la distribution a réussi, le
nœud 01 transmet également un message au nœud 00, indiquant le succès.
Page 44
Chapitre III : Réalisation et mise en marche du système
Page 45
Chapitre III : Réalisation et mise en marche du système
Dans ce qui suit, nous allons montrer ce que nous avons obtenir au niveau de End_device, de
router et de sink.
La figure suivante montre les messages de débogage relatifs au nœud d‘end_device qui
montre l‘achèvement de l‘émission paquets vers le nœud de routeur :
Page 46
Chapitre III : Réalisation et mise en marche du système
Du côté du nœud de base sink, un ensemble de data des différents nœuds de routeur a
été reçu comme le montre la FigIII.17, dans laquelle on peut clairement identifier et
dénombrer les échantillons reçus de la part d‘End_device 1 qui a utilisé le routeur qui contient
l‘adresse 4:
Page 47
Chapitre III : Réalisation et mise en marche du système
Le code si dessous montre la façon avec laquelle nous avons utilisé les différentes
bibliothèques avec une carte (uno et nano) :
Page 48
Chapitre III : Réalisation et mise en marche du système
Le code si dessous montre la façon avec laquelle nous avons appliqué l‘organigramme
sur le nœud Sink :
Page 49
Chapitre III : Réalisation et mise en marche du système
Page 50
Chapitre III : Réalisation et mise en marche du système
Si cette fonction échoue, la radio sera mise en veille et ne recevra aucune charge utile tant
que l'adresse n'aura pas été renouvelée.
Page 51
Chapitre III : Réalisation et mise en marche du système
Page 52
Chapitre III : Réalisation et mise en marche du système
III.4 conclusion
Dans ce travail nous avons développé une application multiceivers afin de crier un
réseau de capteur sans fil multiniveaux, et la mise au point d‘une transmission de données a
travers une liaison sans fil, basé sur des modules arduino qui peuvent communiquer entre eux
via des modules nrf24l01+, Il servira comme plateforme, et l‘envoie des données, à la
réception et les afficher sur un pc.
Page 53
CONCLUSION générale
Conclusion général
Dans ce projet nous avons réalisé et implémenté un réseau de capteur sans fil multi
niveaux basé sur des composants simples comme l‘arduino et le module nRF24L01+, la
présence de la bibliothèque network et mesh sur la plateforme arduino facilite la tâche de
programmation.
Lors des séances de l‘étude et réalisation, et en menant notre projet, nous avons pu
mettre en œuvre des informations et des connaissances reçues lors des cours d‘électroniques
et d‘informatique ainsi on a pu traduire des études théoriques en études pratiques.
Page 55
Bibliographie
Bibliographie
[1] Z. Bouzidi and A. Benameur, ―Mise en place d‘un réseau de capteurs sans fil pour
l‘irrigation intelligente,‖ Université Abou Bakr Belkaid– Tlemcen, 2012.
[2] Georges Asch et coll, Les capteurs en Instrumentation Industrielle", Dunod, 7ème
édition, 2010. 1989.
[3] C. S. Pr and M. Yasmine, ―Etude et réalisation d ‘ un serveur WiFi d ‘ acquisition de
données,‖ Université Yahia Farés de MEDEA, 2017.
[4] M. H. DEHAL and M. l e. A. DILMI, ―ETUDE ET IMPLEMENTATION D‘UNE
PLATEFORME DE COMMUNICATION ZIGBEE A BASE D‘UN
MICROCONTROLEUR ATMEGA,‖ UNIVERSITE YAHIA FARES DE MEDEA.
[5] K. Soufiane, ―Conception d ‘ un Réseau de Capteurs Sans Fil,‖ École normale
supérieure d‘enseignement technique - Rabat, 2015.
[6] M. B. Elmahdi and Melle. BENYAIHIA Dalal, ―A s s e r v i s s e m e n t v i s u e l d ‘
u n r o b o t m o b i l e,‖ UNIVERSITE YAHIA FARES DE MEDEA.
[7] A. Asalas and L. Lyes, ―Conception et réalisation d‘une application mobile cross-
Platform pour l‘Internet of things.,‖ Université A/Mira de Bejaia, Faculté des sciences
exactes, département d‘informatique, 2017.
[8] ―La carte Arduino UNO Caractéristiques techniques : Détails techniques.‖
[9] M. A. Baghdad and M. R. M. Lamine, ―ETUDE ET REALISATION D‘UN NOEUD
DE CAPTEUR SANS FIL A BASE D‘ARDUINO UNO,‖ Université Docteur Yahia
Farès de MEDEA, 2014.
[10] O. A. Mohammed, ―La Conception d‘une prise connectée basée sur la technologie
d‘IoT (Internet of Things),‖ Université Sidi Mohamed Ben Abdellah, 2016.
[11] S. Cherifa and S. Boutheyna, ―Surveillance des nourrissons par reseau de capteurs,‖
UNIVERSITÉ DE TLEMCEN, 2016.
[12] ―NRF24L01+ — Centre de Ressources Numériques - Labomedia.‖ .
Annexes
Annexe A :