72
REPUBLIQUE TUNISIENNE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR, DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE UNIVERSITE DE MONASTIR FACULTE DES SCIENCES DE MONASTIR Ecole Doctorale : Matériaux, Dispositifs et Microsystèmes (Sciences et Technologie de l’Information) MEMOIRE Présenté pour l’obtention du diplôme de : MASTERE Spécialité : Technique de communication radiofréquence Par : ELBOUGHDIRI ABDESSALEM Sujet : Conception et modélisation d’un réseau de capteur sans fil Soutenu le…. Juin 2011, devant le jury composé : Pr. Président Pr Membre Pr. Membre (Encadreur) Laboratoire ……………………… (Code : MESRST ……/UR/LR…………….) N° d’ordre :

Réseaux de Capteurs Sans Fil

Embed Size (px)

Citation preview

Page 1: Réseaux de Capteurs Sans Fil

REPUBLIQUE TUNISIENNE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR, DE LA RECHERCHE SCIENTIFIQUE ET DE LA TECHNOLOGIE

UNIVERSITE DE MONASTIR

FACULTE DES SCIENCES DE MONASTIR

Ecole Doctorale : Matériaux, Dispositifs et Microsystèmes (Sciences et Technologie de l’Information)

MEMOIRE

Présenté pour l’obtention du diplôme de :

MASTERE

Spécialité : Technique de communication radiofréquence

Par :

ELBOUGHDIRI ABDESSALEM

Sujet :

Conception et modélisation d’un réseau de capteur sans fil

Soutenu le…. Juin 2011, devant le jury composé :

Pr. Président Pr Membre Pr. Membre (Encadreur)

Laboratoire ……………………… (Code : MESRST ……/UR/LR…………….)

N° d’ordre :

Page 2: Réseaux de Capteurs Sans Fil

A mon père, à ma mère

A mes frères et mes sœurs

A toute ma famille et mes amis

Page 3: Réseaux de Capteurs Sans Fil

3

Remerciements

Je tiens à exprimer mes vifs remerciements envers toutes les personnes qui ont contribué au bon déroulement de ce travail.

En particulier, j’exprime ma gratitude à mon encadreur Mr. Med Atri pour ses qualités professionnelles et humaines.

Enfin, j’adresse mes remerciements à toute l’équipe de la station de turbine à gaz de

Feriana pour leur accueil chaleureux et leur sympathie.

Page 4: Réseaux de Capteurs Sans Fil

4

ELBOUGHDIRI Abdessalem

Table des matières Remerciement ...................................................................................................................................... 3 Introduction générale ........................................................................................................................ 10 CHAPITRE I : Présentation des Réseaux de Capteurs Sans Fil ........................................ 12 I.1 Introduction : ............................................................................................................................ 12 I.2 Les réseaux sans fil : ................................................................................................................ 13

I.2.1 Définition : ..................................................................................................................... 13 I.2.2 Caractéristiques des réseaux sans fil : ........................................................................ 14 I.2.3 Les catégories des réseaux sans fil : ........................................................................... 14

I.2.3.1 Le réseau personnel sans fil (WPAN) : ....................................................... 15 I.2.3.2 Le réseau local sans fil (WLAN) : ............................................................... 16 I.2.3.3 Le réseau métropolitain sans fil (WMAN): ................................................ 16 I.2.3.4 Le réseau étendu sans fil (WWAN): ........................................................... 16

I.2.4 Les classes des réseaux sans fil : ................................................................................. 17 I.2.4.1 Les réseaux cellulaires : ................................................................................ 17 I.2.4.2 Les réseaux ad Hoc : .................................................................................... 19

I.2.4.2.1 Définition : ...................................................................................... 19 I.2.4.2.2 Caractéristiques des réseaux Ad Hoc : ........................................ 20

I.3 Présentation d’un réseau de capteurs sans fil: ................................................................. 20 I.3.1 Anatomie d’un nœud de capteur : .............................................................................. 21

I.3.1.1 L'unité de captage: ......................................................................................... 22 I.3.1.2 L'unité de traitement des données : ............................................................. 22 I.3.1.3 L'unité de communication : .......................................................................... 23 I.3.1.4 L’unité de puissance : .................................................................................... 23

I.3.2 Architecture d’un réseau de capteurs sans fil : .......................................................... 25 I.3.2.1 Architecture de communication : ................................................................. 25 I.3.2.2 Architecture protocolaire : ............................................................................ 25

I.3.2.2.1 La couche physique : ..................................................................... 26 I.3.2.2.2 La couche de liaison de données : ................................................ 28 I.3.2.2.3 La couche réseau : .......................................................................... 26 I.3.2.2.4 La couche transport : ...................................................................... 26 I.3.2.2.5 La couche application : .................................................................. 27 I.3.2.2.6 Le niveau de gestion d’énergie : ................................................... 27 I.3.2.2.7 Le niveau de gestion de mobilité : ............................................... 27 I.3.2.2.8 Le niveau de gestion des taches : ................................................. 27

I.3.3 Caractéristique des réseaux de capteurs sans fil: ...................................................... 28 I.3.4 Technologie des capteurs : ........................................................................................... 29

I.4 Application des réseaux de capteurs sans fil : ................................................................... 33 I.4.1 Applications environnementales : ............................................................................... 34

Page 5: Réseaux de Capteurs Sans Fil

5

ELBOUGHDIRI Abdessalem

I.4.2 Applications écologiques : ........................................................................................... 34 I.4.3 Applications militaires : ............................................................................................... 35 I.4.4 Applications industriels : ............................................................................................. 35 I.4.5 Applications commerciales : ........................................................................................ 35 I.4.6 Applications médicales : .............................................................................................. 36 I.4.7 Applications domestiques : .......................................................................................... 36 I.4.8 Applications de traçabilité et de localisation : ........................................................... 37 I.4.9 Applications liées à la sécurité : ...................................................................................37

I.5 Contrainte d’un réseau de capteurs sans fil : .................................................................... 37 I.5.1 Durée de vie du réseau : ............................................................................................... 37 I.5.2 Ressources limitées : ..................................................................................................... 38 I.5.3 Bande passante limitée : ............................................................................................... 38 I.5.4 La scalabilité : .............................................................................................................. 38 I.5.5 Topologie dynamique : ................................................................................................. 38 I.5.6 Agrégation de donnée: .................................................................................................. 38 I.5.7 Le cout de production : ................................................................................................. 39

I.6 Conclusion : ............................................................................................................................... 39

CHAPITRE II : Le système d’exploitation TinyOS ................................................................ 40 II.1 Introduction : ......................................................................................................................... 40 II.2 Présentation de TinyOS : ..................................................................................................... 40

II.2.1 Propriétés : ................................................................................................................... 41 II.2.2 Caractéristiques de TinyOS : .................................................................................... 42 II.2.3 Allocation de la mémoire : ........................................................................................ 43

II.3 Structure logicielle : .............................................................................................................. 44 II.4 Modèle d’exécution de TinyOS : ........................................................................................ 45

II.4.1 Programmation par évènement : ............................................................................... 45 II.4.2 Tâches : ........................................................................................................................ 45 II.4.3 Description de l’ordonnanceur TinyOS : ................................................................ 46

II.5 Cibles possibles pour TinyOS : .......................................................................................... 46 II.6 Package TinyOS : ...................................................................................................................47 II.7 Description du langage NesC : ........................................................................................... 48

II.7.1 Les Principaux caractéristiques de NesC : .............................................................. 49 II.7.2 Les fichiers dans NesC : ............................................................................................ 50

II.7.2.1 Interface : ...................................................................................................... 50 II.7.2.2 Module : ........................................................................................................ 50 II.7.2.3 Configuration : ..............................................................................................51

II.7.3 Types de données : ..................................................................................................... 52 II.7.4 Types de fonctions en NesC : ................................................................................... 52

II.8 Simulation : TOSSIM, PowerTOSSIM et TinyViz : .................................................... 54 II.8.1 TOSSIM : ..................................................................................................................... 54 II.8.2 PowerTOSSIM : ......................................................................................................... 54 II.8.3 TinyViz : ...................................................................................................................... 55

II.9 Conclusion : ............................................................................................................................ 55

Page 6: Réseaux de Capteurs Sans Fil

6

ELBOUGHDIRI Abdessalem

CHAPITRE III : Conception et implémentation ..................................................................... 56 III.1 Introduction : ......................................................................................................................... 56 III.2 Les diagrammes statiques : ................................................................................................. 57

III.2.1 Les diagrammes de cas d'utilisation : ....................................................................... 57 III.2.2 Le diagramme des classes : ....................................................................................... 59

III.3 Les diagrammes dynamiques : ........................................................................................... 59 III.3.1 Les diagrammes d'états : ............................................................................................ 59 III.3.2 Les diagrammes d'activités : ..................................................................................... 60 III.3.3 Les diagrammes de séquence : .................................................................................. 61

III.4 préparation de l’environnement de travail : ....................................................................62 III.5 Implémentation en NesC : ................................................................................................... 66

III.5.1 Code de l'application à déployer sur le capteur puits : ......................................... 66 III.5.2 Code de l'application à déployer sur les capteurs collecteur : .............................. 69

III.6 Simulation : ............................................................................................................................ 69 III.7 Conclusion : ............................................................................................................................ 70 Conclusion générale : ...................................................................................................................... 71 Bibliographie : .................................................................................................................................... 72

Page 7: Réseaux de Capteurs Sans Fil

7

ELBOUGHDIRI Abdessalem

Table des figures Figure I.1 : Les catégories des réseaux sans fil ....................................................................... 14

Figure I.2 : Principales normes des réseaux sans fils .............................................................. 15

Figure I.3 : Classes des réseaux sans fil .................................................................................. 17

Figure I.4 : Modèle des réseaux cellulaires ............................................................................. 18

Figure I.5 : Principe de réutilisation de fréquence .................................................................. 18

Figure I.6 : Modèle des réseaux Ad Hoc ................................................................................. 19

Figure I.7 : Anatomie générale d’un nœud de capteur ............................................................ 22

Figure I.8 : Architecture d'un réseau de capteurs .................................................................... 24

Figure I.9 : Pile protocolaire dans les réseaux de capteurs sans fils ....................................... 25

Figure I.10 : Progression des technologies de capteurs à travers le temps ............................. 29

Figure I.11 : Consommation d’énergie dans un nœud de capteur sans fil .............................. 37

Figure II.1 : Organisation de la mémoire dans TinyOS .......................................................... 43

Figure II.2 : Interactions internes au système TinyOS ............................................................ 44

Figure II.3 : Architecture générale des cibles utilisant TinyOS .............................................. 47

Figure II.4 : processus de compilation pour une application TinyOS écrite en NesC ............ 49

Figure II.5 : Syntaxe d'un module ........................................................................................... 51

Figure II.6 : Architecture d’une application NesC .................................................................. 53

Figure III.1 : Cas d'utilisation haut niveau .............................................................................. 57

Figure III.2 : Cas d'utilisation pour le capteur puits ................................................................ 57

Figure III.3 : Cas d'utilisation pour les nœuds de capteur collecteur ...................................... 58

Figure III.4 : Diagramme de cas d'utilisation pour les capteurs .............................................. 58

Figure III.5 : Diagramme des classes du réseau de capteur sans fil ........................................ 59

Figure III.6 : Diagramme d'états d'un nœud capteur Collecteur ............................................. 59

Figure III.7 : Diagramme d'états d'un nœud capteur puits ...................................................... 60

Page 8: Réseaux de Capteurs Sans Fil

8

ELBOUGHDIRI Abdessalem

Figure III.8 : Diagramme d'activité pour un capteur collecteur .............................................. 60

Figure III.9 : Diagramme d'activité pour un capteur puits ...................................................... 61

Figure III.10: Diagramme de séquence entre l’administrateur et un capteur puits ................. 61

Figure III.11 : Diagramme de séquence entre un capteur puits et un capteur collecteur ...... 62

Figure III.12 : choix des options d’installation de TinyOS ..................................................... 63

Figure III.13 : Installation de Cygwin ..................................................................................... 63

Figure III.14 : Ajout du plugin Yeti 2 à Eclipse ...................................................................... 64

Figure III.15 : Définition des chemins de Cygwin et TinyOS pour Eclipse ........................... 65

Figure III.16 : Création d’un nouveau projet TinyOS ............................................................. 65

Figure III.17 : composantes du code à déployer sur le capteur puits ..................................... 66

Figure III.18 : composantes du code à déployer sur les capteurs collecteurs ........................ 69

Figure III.19 : Simulation de l’application sur TinyViz .......................................................... 70

Table des tableaux Tableau I.1: Technologies des capteurs .................................................................................. 30

Tableau II.1: Propriété de TinyOS .......................................................................................... 42

Tableau II.2 : différents actions dans TinyOS ......................................................................... 45

Page 9: Réseaux de Capteurs Sans Fil

9

ELBOUGHDIRI Abdessalem

PRESENTATION DE LA CENTRALE DE TURBINE A GAZ:

PRESENTATION DE LA STEG :

Cree par l’ordre de loi n° 62-8 du 3 Avril 1962 à la forme d’une entreprise publique à

caractère industriel et commercial (EPIC).

La société tunisienne d’électricité et de gaz est le résultat de la nationalisation et de la fusion

de RET (réseau d’électricité et du transport) et de la R.E.G.E.T (réseau d’eau, de gaz et de

l’électricité de Tunis) en tant que société nationale assurant un service public.

La STEG a pour mission la production, le transport et la distribution de l’électricité et de gaz.

L’énergie électrique est un facteur moteur de toute activités économique .Ainsi que le taux

d’électrification est considère comme un critère fondamental du développement des pays.

LA CENTRALE DE TURBINE A GAZ:

La centrale de production de l’électricité de FERIANA a été constituée par General

Electric International Incorporated et General Electric Energy Product France, elle coûte 97

millions DT. Les travaux de génie civil ont eu lieu en août 2003, par PIRECO et ils sont

composés d’un bâtiment administratif et social et une salle de machine contenant la turbine et

ses auxiliaires.

La turbine a été mise en service industriel en Mars 2005.

La Centrale De Turbine A Gaz Feriana

Page 10: Réseaux de Capteurs Sans Fil

Introduction générale

10

ELBOUGHDIRI Abdessalem

INTRODUCTION GENERALE

Depuis leur création, les réseaux de communication sans fil ont connu un succès

sans cesse croissant au sein des communautés scientifiques et industrielles.

Grâce à ses divers avantages, cette technologie a pu s'instaurer comme acteur

incontournable dans les architectures réseaux actuelles. Le média hertzien offre

en effet des propriétés uniques, qui peuvent être résumées en trois points : la

facilité du déploiement, l'ubiquité de l'information et le coût réduit d'installation.

Au cours de son évolution, le paradigme sans fil a vu naître diverses

architectures dérivées, telles que : les réseaux cellulaires, les réseaux locaux sans

fils et autres. Durant cette dernière décennie, une architecture nouvelle a vu le

jour : les réseaux de capteurs sans fil. Ce type de réseaux résulte d'une fusion de

deux pôles de l'informatique moderne : les systèmes embarqués et les

communications sans fil. Un réseau de capteurs sans fil (RCSF), ou "Wireless

Sensor Network" (WSN), est composé d'un ensemble d'unités de traitements

embarquées, appelées "motes", communiquant via des liens sans fil. Le but

général d'un WSN est la collecte d'un ensemble de paramètres de

l'environnement entourant les motes, telles que la température ou la pression de

l'atmosphère, afin de les acheminer vers des points de traitement.

Les RCSF sont souvent considérés comme étant les successeurs des réseaux ad

hoc. En effet, les RCSF partagent avec les MANET (Mobile Ad hoc NETworks)

plusieurs propriétés en commun, telles que l'absence d'infrastructure et les

communications sans fil. Mais l'une des différences clés entre les deux

architectures est le domaine d'application. Contrairement aux réseaux MANET,

qui n'ont pas pu connaître un vrai succès, les RCSF ont su attirer un nombre

croissant d'industriels, vu leur réalisme et leur apport concret.

Page 11: Réseaux de Capteurs Sans Fil

Introduction générale

11

ELBOUGHDIRI Abdessalem

En effet, le besoin d'un suivie continu d'un environnement donné est assez

courant dans diverses activités de la société. Les processus industriels, les

applications militaires de tracking, le monitoring d'habitat, ainsi que l'agriculture

de précision ne sont que quelques exemples d'une panoplie vaste et variée

d'applications possibles du suivi continu offert par les RCSF.

Grâce à ce potentiel riche en applications, les RCSF on su se démarquer de leur

origine MANET et attirer de grandes firmes à travers le monde, telles que IBM,

Sun, Intel et Philips. Malheureusement, les RCSF ne sont pas parfaits ! A cause

de leur faible coût et leur déploiement dans des zones parfois hostiles, les motes

sont assez fragiles et vulnérables à diverses formes de défaillances : cassure,

faible énergie, ... etc. Ces problèmes rendent les RCSF des systèmes à fragilité

innée, qui doit être considérée comme une propriété normale du réseau.

Page 12: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

12

ELBOUGHDIRI Abdessalem

I.1 Introduction :

En 1860, le physicien James Clerk Maxwell a prévu l’existence de la propagation des

ondes électromagnétiques, qui on été expliquées la première fois par le physicien allemand

Heinrich Rudolf Hertz en 1888. C'était juste le début d'une longue liste d'achèvements par

d'autres scientifiques et ingénieurs en plus de 100 ans de la communication sans fil. [I.1]

Aujourd’hui l’essor des technologies sans fil offre de nouvelles perspectives dans le

domaine de télécommunication. En comparaison avec l’environnement filaire,

l’environnement sans fil permet aux utilisateurs une souplesse d’accès et une facilitée de

manipulation de l’information à travers des unités de calcule mobiles (PC portable, PDA,

capteur, …).

Dans ce chapitre, nous présenterons en premier lieu les réseaux sans fil en général. Nous

détaillerons en second lieu leur décomposition en réseaux avec infrastructure (réseaux

cellulaires) et sans infrastructure (réseaux Ad Hoc). Nous entamerons par la suite les RCSF en

présentant leurs caractéristiques et leurs technologies toute en passant par leurs architectures

de communication et protocolaire, puis aborderons les domaines d’applications des RCSF.

Pour terminer, nous décrirons les contraintes d’un réseau de capteurs sans fil.

CHAPITRE I

PRESENTATION DES RESEAUX DE CAPTEURS SANS FIL

Page 13: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

13

ELBOUGHDIRI Abdessalem

I.2 Les réseaux sans fil :

Le développement rapide dans le domaine de la technologie sans fil, connu par la

facilité de déploiement et le coût relativement faible, a permis à un usager muni d’unité

portable d’accéder à l’information indépendamment de la position géographique et du facteur

de temps, en lui permettant une libre mobilité, sans l’astreindre à une localisation fixe.

I.2.1 Définition :

Un réseau sans fil (Wireless Network) est, comme son nom l’indique, un réseau dans

lequel les terminaux peuvent communiquer sans liaison filaire. Les terminaux du réseau se

déplacent librement, tandis que le système doit assurer toutes les fonctionnalités et tous les

services d’un réseau classique.

Il peut être associé à un réseau de télécommunication pour réaliser des interconnexions

entre nœuds. La notion de nœuds se restreint sur les extrémités d’une connexion. Elle peut

contenir différents terminaux tel que les routeurs, les ordinateurs, les concentrateurs, les

commutateurs, etc.

La communication sans fil permet une grande flexibilité d'emploi. En particulier la mise

en réseau des sites dont le câblage serait trop couteux à réaliser dans sa totalité, voire même

impossible. En effet, la mise en place des réseaux sans fil n’exige pas de lourds

aménagements des infrastructures comme c’est le cas dans les réseaux filaires (creusement de

tranchées pour acheminer les câbles, équipement des bâtiments en câblage, goulottes et

connecteurs, etc.).

Néanmoins, ils présentent des inconvénients étant donné qu’ils sont caractérisés par une

faible puissance d’émission et qu’ils n’offrent pas le même niveau de sécurité que les réseaux

câblés, vu la nature contraignante de l’environnement sans fil, qui leur impose plusieurs défis

que doivent surmonter les unités mobiles.

Les réseaux avec câbles n’ont pas disparu avec l’apparition des réseaux sans fil. Par

conséquent, ces deux types de réseaux cohabitent en donnant naissance aux réseaux hybrides.

La norme la plus utilisée actuellement pour les réseaux sans fil est la norme

IEEE802.11, mieux connue sous le nom de Wi-Fi.

Le rayonnement géographique des ondes est relativement limité étant donné la faible

puissance d’émission des solutions matérielles actuelles. Pour cette raison, les réseaux sans fil

se sont avant tout développés comme réseaux internes, propres à un bâtiment, soit comme

réseau d’entreprise, soit comme réseau domestique.

Page 14: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

14

ELBOUGHDIRI Abdessalem

Néanmoins, des projets de réalisation de réseaux à grande échelle ont vue le jour,

notamment le WiMAX.

I.2.2 Caractéristiques des réseaux sans fil :

• Fiabilité : La propagation des signaux subit des perturbations (microcoupures, erreur

de transfert, timeout) dues à l’environnement qui détériore l’information transmise.

• Débit : L’une des limitations principales vient de la faiblesse de la bande passante.

Ceci est dû au type du média utilisé. On distingue des réseaux utilisant, par exemple, des

communications radio qui peuvent atteindre 20Mbps et des communications Bluetooth avec

3Mbps à 10Mbps.

• Sécurité : Plus qu’elle ne l’est dans les réseaux filaire, la sécurité est d’une

importance primordiale dans les réseaux sans fil. Cela est dû à l’absence du câblage dont il

résulte la diffusion de l'information facilitant l'interception à distance et la sensibilité au

brouillage augmentant les interférences dans le réseau.

• Topologie dynamique : Elle change d’une manière fréquente suite à la mobilité

continue des nœuds qui forment la topologie du réseau.

I.2.3 Les catégories des réseaux sans fil :

Il existe plusieurs catégories de réseaux sans fil qui diffèrent par le périmètre

géographique qu’ils couvrent ainsi que par les types d’applications supportées. Le schéma

suivant illustre les catégories des réseaux sans fil.

Figure I.1 : Les catégories des réseaux sans fil. [I.2]

Page 15: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

15

ELBOUGHDIRI Abdessalem

Figure I.2 : Principales normes des réseaux sans fils.

I.2.3.1 Le réseau personnel sans fil (WPAN) :

Il concerne les réseaux sans fil d'une faible portée : de l'ordre de quelques dizaines de

mètres. Ce type de réseau sert généralement à relier des périphériques (imprimante, téléphone

portable, appareils domestiques, PDA…). Il existe plusieurs technologies utilisées pour les

WPAN :

• La technologie Bluetooth : Elle est connue aussi sous le nom de la norme IEEE

802.15.1, elle a été lancée par Ericsson en 1994, proposant un débit théorique de 1Mbps lui

permettant une transmission de la voix, des données et des images, d’une portée maximale

d'une trentaine de mètres. Bluetooth est une technologie peu onéreuse, grâce à sa forte

intégration sur une puce unique de 9 mm sur 9 mm ; Elle présente également l’avantage de

fonctionner sur des appareils à faible puissance d’où une faible consommation d’énergie. [I.3]

• La technologie ZigBee : Elle est connue aussi sous le nom de la norme IEEE 802.15.4

et permet d'obtenir des liaisons sans fil à bas prix et avec une très faible consommation

d'énergie, ce qui la rend particulièrement adaptée pour être directement intégrée dans de petits

appareils électroniques (capteurs, appareils électroménagers...). Les réseaux ZigBee

permettent d’offrir des débits jusqu’à 250 Kbits/s dans la bande classique des 2,4GHz. Les

RCSF constituent une des applications que cette norme peut couvrir.

Page 16: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

16

ELBOUGHDIRI Abdessalem

• Les liaisons infrarouges : Elles permettent de créer des liaisons sans fil de quelques

mètres avec des débits pouvant monter à quelques mégabits par seconde. Cette technologie est

largement utilisée dans la domotique (télécommandes), elle souffre toutefois des perturbations

dues aux interférences lumineuses.

I.2.3.2 Le réseau local sans fil (WLAN) :

C’est un réseau permettant de couvrir une portée d'environ une centaine de mètres. Il

permet de relier entre eux les terminaux présents dans la zone de couverture. Il existe deux

technologies concurrentes :

• Les réseaux Wi-Fi (Wireless-Fidelity) : Ils proviennent de la norme IEEE 802.11,

qui définit une architecture cellulaire. On y trouve principalement deux types de réseaux sans

fil : Ceux qui travaillent à la vitesse de 11 Mbits/s à 2.4 GHz (IEEE 802.11b) et ceux qui

montent à 54 Mbits/s à 5 GHz (IEEE 802.11 a/g). [I.3]

• Les réseaux HiperLAN 2 (High Performance LAN 2.0) : Ils découlent de la norme

européenne élaborée par l'ETSI (European Telecommunications Standards Institute).

HiperLAN 2 permet d'obtenir un débit théorique de 54Mbps sur une zone d'une centaine de

mètres dans la gamme de fréquence comprise entre 5 150 et 5 300 MHz [01]. Ce type de

réseau n’a pas reçu autant de succès que la technologie Wi-fi. [I.4]

I.2.3.3 Le réseau métropolitain sans fil (WMAN):

Il est connu aussi sous le nom de Boucle Locale Radio (BLR). Il convient de rappeler

que la BLR permet, en plaçant une antenne parabolique sur le toit d'un bâtiment, de

transmettre par voie hertzienne de la voix et des données à haut débit pour l'accès l'internet et

la téléphonie. Il existe plusieurs types de réseaux WMAN dont le plus connu est :

Les réseaux Wimax (Worldwide interoperability for Microwave Access) :

Ils émanent de la norme IEEE 802.16 et ont pour but de développer des liaisons hertziennes

concurrentes aux techniques xDSL terrestres et offrent un débit utile de 1 à 10 Mbit/s dans la

bande 10-66 GHz pour une portée de 4 à 10 kilomètres, ce qui destine principalement cette

technologie aux opérateurs de télécommunication. [I.3]

I.2.3.4 Le réseau étendu sans fil (WWAN):

Il est connu sous le nom de réseau cellulaire mobile et il est le plus répandu de tous

puisque tous les téléphones mobiles sont connectés à un réseau étendu sans fil. Les principales

technologies sont les suivantes : GSM (Global System for Mobile Communication), GPRS

(General Packet Radio Service), UMTS (Universal Mobile Télécommunication System). [I.4]

Page 17: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

17

ELBOUGHDIRI Abdessalem

I.2.4 Les classes des réseaux sans fil :

Les réseaux sans fil peuvent être classés selon l’architecture de communication adoptée

en deux catégories : les réseaux cellulaires avec infrastructure et les réseaux Ad Hoc sans

infrastructure fixe. Plusieurs technologies sont apparentées aux réseaux cellulaires comme :

GPS, WiMax, GPRS, etc., et aux réseaux Ad Hoc comme les RCSF. Dans ce qui suit, ces

deux classes de réseaux sans fil seront décrites en détail.

Figure I.3 : Classes des réseaux sans fil.

I.2.4.1 Les réseaux avec infrastructure (Cellulaires) :

Un réseau cellulaire est un système de communication basé essentiellement sur

l'utilisation des réseaux filaires et la présence des stations de base qui couvrent les différentes

unités mobiles du système.

Un réseau cellulaire est un réseau dont l’architecture de communication est déterminée

au préalable. Il est composé de sites fixes interconnectés entre eux à travers un réseau de

communication filaire, généralement fiable et d'un débit élevé. Parmi les sites fixes, on

retrouve les stations de bases SB. Chacune d’elles définit une région appelée cellule et

administre un ensemble de stations mobiles SM (nœuds) qui communiquent entre elles par

une liaison sans fil possédant une bande passante limitée qui réduit sévèrement le volume des

informations échangées. Une cellule correspond à une zone de couverture où les nœuds

communiquent avec d’autres nœuds de l’intérieur ou de l’extérieur de la cellule.

La figure I.4 schématise l’architecture de communication des réseaux cellulaires.

Réseaux sans fil

Réseaux avec infrastructure (Cellulaire)

GPRS WiMAX GPS RCSF

Réseaux sans infrastructure (Ad Hoc)

Page 18: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

18

ELBOUGHDIRI Abdessalem

Figure I.4 : Modèle des réseaux cellulaires.

La configuration standard d'un système de communication cellulaire est un maillage de

cellules hexagonales. Initialement, une région peut être couverte uniquement par une seule

cellule. Quand la compétition devient importante pour l'allocation des canaux, la cellule est

généralement divisée en sept cellules plus petites.

Cette subdivision peut être répétée et l'on parle alors de systèmes micro-cellulaires. Les

cellules adjacentes dans le maillage doivent utiliser des fréquences différentes ce qui permet

d’éviter les interférences entre elles, contrairement a celles qui sont situées sur les cotes

opposés du maillage et qui peuvent utiliser la même fréquence sans risque d'interférence.

Pour les cellules de faibles tailles (possédant un petit nombre de nœuds), la bande

passante augmente. Par contre, pour les cellules de grandes tailles, l’émission de données est

limitée.

Figure I.5 : Principe de réutilisation de fréquence.

(SM)

(SB)

f1 f1

f2

f3

f4

f5

f6

f7

Page 19: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

19

ELBOUGHDIRI Abdessalem

I.2.4.2 Les réseaux Ad Hoc :

À l'heure actuelle, plusieurs systèmes utilisent le modèle cellulaire des réseaux sans fil.

Leur inconvénient majeur est qu'ils requièrent une importante infrastructure fixe qui peut être

soumise à des risques de destruction dans certaines applications comme le domaine militaire

où la capacité à se reconfigurer et à demeurer opérationnelle reste un objectif fondamental. La

contrepartie des réseaux cellulaires est les réseaux mobiles Ad Hoc qui sont apparus pour

pallier à ce type de désagréments. En effet, les réseaux Ad Hoc ne nécessitent pas une

architecture prédéfinie au préalable.

I.2.4.2.1 Définition :

Un réseau sans-fil ad hoc (ou MANET, pour Mobile Ad hoc NETwork) est forme par

un ensemble d'hôtes qui s'organisent seuls et de manière totalement décentralisée, formant

ainsi un réseau autonome et dynamique ne reposant sur aucune infrastructure filaire. Ces

hôtes peuvent être fixes ou mobiles. Selon ces hypothèses, tout ensemble d'objets munis d'une

interface de communication adéquate est susceptible de spontanément former un tel réseau.

Aucune infrastructure n'étant disponible, ces objets ont donc à découvrir dynamiquement leur

environnement. Un réseau ad hoc étant avant tout un réseau sans-fil, les objets communiquent

entre eux par le biais d'une interface radio. Ces communications sont donc soumises aux

phénomènes physiques qui régissent les ondes radio, telle qu'une forte atténuation du signal

avec la distance. Ainsi, seuls les hôtes suffisamment proches les uns des autres sont capables

de communiquer directement ensemble, et les communications de longue distance doivent

s'effectuer par le biais d'un mécanisme nomme multi-sauts : cela signifie simplement que

certains objets doivent relayer les messages de proche en proche jusqu'a ce que leur

acheminement soit effectue. L'utilisation d'une antenne radio omnidirectionnelle implique

également qu'un message envoyé par un émetteur quelconque est reçu par tous les récepteurs

suffisamment proches de lui.

Figure I.6 : Modèle des réseaux Ad Hoc.

Page 20: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

20

ELBOUGHDIRI Abdessalem

I.2.4.2.2 Caractéristiques des réseaux Ad Hoc :

En plus des caractéristiques des réseaux sans fil en général, les réseaux Ad Hoc ont les

caractéristiques suivantes:

• Architecture décentralisée: Cela fait référence à un système sans entité centralisée et

sans contrôle extérieur. Par conséquent, les nœuds interagissent, analysent et traitent les

données sans faire appel à d’autres dispositifs exotiques.

• Auto-organisation: Les nœuds découvrent automatiquement et d’une manière

autonome les différents paramètres leur permettant de s’intégrer dans l’environnement et de

s’autoconfigurer pour devenir opérationnels.

• Sécurité: L’absence d’infrastructure fixe pénalise l’ensemble du réseau dans la

mesure où il faut faire abstraction de toute entité centrale de gestion pour l’accès aux

ressources. Cela fait que la sécurité dans les réseaux Ad Hoc soit plus pénible à assurer. De

plus, les nœuds d’un réseau Ad Hoc assurent la fonction de reconfiguration contrairement à

un réseau avec infrastructure où la gestion du rapport de confiance ne se fait qu’entre le nœud

et la station. Dans les réseaux Ad Hoc, cette gestion de confiance mutuelle se fait sur tout

l’ensemble des nœuds. Par ailleurs, les nœuds Ad Hoc étant fortement mobiles, leur sécurité

physique est moins assurée que pour un poste de travail fixe, dans un bureau par exemple.

Leur valeur marchande peut être d’une importance non négligeable.

I.3 Présentation d’un réseau de capteurs sans fil:

Depuis quelques décennies, le besoin d’observer et de contrôler des environnements

hostiles, civiles ou industriels est devenu essentiel pour de nombreuses applications. Les

nœuds utilisés doivent être autonomes, d’une taille miniature et peuvent être déployés d’une

manière dense et aléatoire dans le champ surveillé. Une classe spéciale des réseaux Ad Hoc

appelée réseaux de capteurs sans fil (RCSF plus connus sous le nom de Wireless Sensor

Network (WSN) en anglais) vient au secours. Ceux-ci sont apparus grâce aux

développements technologiques tels que la miniaturisation des composants électroniques, la

diminution des coûts de fabrication et l’augmentation des performances et des capacités de

stockage, d’énergie et de calcul.

Un réseau de capteurs sans fil est composé d’un ensemble de terminaux ou ce qu’on

appelle des nœuds capteurs qui peuvent communiquer via des liaisons radio, sans

Page 21: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

21

ELBOUGHDIRI Abdessalem

infrastructure fixe préalable, a pour but la collecte de données de l'environnement, leur

traitement et leur transmission vers le monde extérieur.

Un capteur est un mini-dispositif électronique utilisé pour détecter ou mesurer une

quantité physique et la convertir en un signal électronique pour la communiquée. En d'autres

termes, les capteurs sont des dispositifs qui traduisent des aspects de la réalité matérielle en

représentations compréhensibles et traitables par des ordinateurs. [I.5]

I.3.1 Anatomie d’un nœud de capteur :

Un nœud de capteur se compose typiquement de quatre composantes de base : une unité

de captage, une unité de traitement, une unité de communication, et une unité de puissance,

qui est affichée dans La figure I.7. L'unité de captage se compose habituellement d'un ou

plusieurs capteurs et convertisseurs analogique-numériques (CAN). Les capteurs observent le

phénomène physique et produisent des signaux analogiques basés sur le phénomène observé.

Les CAN convertissent les signaux analogiques en signaux numériques, qui sont alors

introduits à l'unité de traitement. L'unité de traitement se compose habituellement d'un

microcontrôleur ou d'un microprocesseur équipé d’une mémoire (par exemple le

microprocesseur StrongARMet d’Intel et le microprocesseur AVR d’Atmel), qui assure le

contrôle intelligent au nœud de capteur. L'unité de communication se compose d'une radio à

courte portée pour exécuter la transmission et la réception de données sue un canal radio.

L'unité de puissance se compose d'une batterie pour fournir l'alimentation électrique de toutes

autres composantes dans le système. De plus, un nœud de capteur peut également être équipé

de quelques autres unités, selon le type d’applications. Par exemple, un système de

localisation mondial (GPS) peut être nécessaire dans quelques applications qui fourni des

informations sur l'emplacement du réseau. Un mobilisateur peut être nécessaire pour

déménager des nœuds de capteur dans quelques tâches de détection. Toutes ces unités

devraient être établies dans un petit module avec la faible consommation d'énergie et le coût

de production faible. [I.6]

S’il est n´nécessaire qu’un nœud soit maintenu en activité pendant une très longue période de

temps, un Générateur de Puissance, tel que des cellules solaires, serait utile afin de tenir le

nœud alimenté électriquement sans avoir à changer ses batteries.

Page 22: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

22

ELBOUGHDIRI Abdessalem

Figure I.7 : Anatomie générale d’un nœud de capteur.

I.3.1.1 L'unité de captage:

Ce composant est l’unit´e qui contient le ou les capteurs embarqués sur le nœud.

Habituellement, un convertisseur analogique-numérique (CAN) convertit les signaux

provenant des capteurs (signaux analogiques) en signaux interprétables par l’Unité de

Traitement (signaux numériques).

Le principe de fonctionnement des unités de captages est souvent le même : il s'agit de

répondre à une variation des conditions d'environnement par une variation de certaines

caractéristiques électriques (par exemple pour une thermistance, une variation de température

entraîne une variation de la résistance). Les variations de tension sont ensuite converties par

un convertisseur Analogique-Numérique CAN de pouvoir être traitées par l'unité de

traitement. On trouve aussi des structures plus complexes pour détecter d'autres phénomènes :

les MEMS (pour Microelectromechanical systems). Ils sont utilisés pour une grande variété

de phénomènes physiques (accélération, concentration chimique, radiation...).

I.3.1.2 L'unité de traitement des données :

Elle est généralement constituée d’un microcontrôleur dédié et de la mémoire. Cette

unité fournit aux capteurs la capacité d’exécuter des calculs sur les données et les conserver

selon un scénario programmé. Bien que ce ne soit pas obligatoire, il est souhaitable qu’il

existe des moyens de reprogrammer facilement les capteurs dans le cas d’un changement dans

les exigences de l’application.

Page 23: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

23

ELBOUGHDIRI Abdessalem

Les microcontrôleurs utilisés dans le cadre de réseaux de capteurs sont à faible

consommation d'énergie. Leurs fréquences sont assez faibles, moins de 10 MHz pour une

consommation de l'ordre de 1 mW. Une autre caractéristique est la taille de leur mémoire qui

est de l'ordre de 10 Ko de RAM pour les données et de 10 Ko de ROM pour les programmes

[I.7] . Cette mémoire consomme la majeure partie de l'énergie allouée au microcontrôleur.

Outre le traitement des données, le microcontrôleur commande également toutes les autres

unités notamment le système de transmission.

I.3.1.3 L'unité de communication :

Elle est le plus souvent constituée d’un transcepteur radio qui fournit au capteur la

capacité de communiquer avec les autres au sein d’un réseau. Elle met en œuvre des

protocoles de communication dé pendant de la technologie utilisée (par exemple 802.11,

802.15.1, 802.15.4, etc. pour les technologies sans fil), tandis que les protocoles de plus haut

niveau (routage, localisation, etc.) sont mis en œuvre dans l’Unité de Traitement. Certaines

technologies radio permettent de changer la fréquence et la puissance de transmission.

Les composants utilisés pour réaliser la transmission sont des composants classiques.

Ainsi on retrouve les mêmes problèmes que dans tous les réseaux sans fil : la quantité

d'énergie nécessaire à la transmission augmente avec la distance. Pour les réseaux sans fil

classiques (LAN, GSM) la consommation d'énergie est de l'ordre de plusieurs centaines de

milliwatts, et on se repose sur une infrastructure alors que pour les réseaux de capteurs, le

système de transmission consomme environ 20 mW et possède une portée de quelques

dizaines de mètres. Pour augmenter ces distances tout en préservant l'énergie, le réseau utilise

un routage multi-sauts.

I.3.1.4 L’unité de puissance :

Comme il est souhaitable de s’affranchir de toute connexion par câble, le capteur doit

disposer de sa propre source d’´energie qui alimente le reste des unités. Cette unité se trouve

généralement sous la forme de batterie standard de basse tension.

Pour des réseaux de capteurs sans fil autonomes, l'alimentation est une composante

cruciale. Il y a essentiellement deux aspects : premièrement, stocker l'énergie et la fournir

sous la forme requise ; deuxièmement, tenter de reconstituer l'énergie consommée par un

réapprovisionnement grâce à une source externe au nœud-capteur telles les cellules solaires.

Le stockage de l'énergie se fait traditionnellement en utilisant ses piles. À titre indicatif, ce

sera souvent une pile AA normale d'environ 2.2 - 2.5 Ah fonctionnant à 1.5 V. [I.7]

Page 24: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

24

ELBOUGHDIRI Abdessalem

I.3.2 Architecture d’un réseau de capteurs sans fil :

Un réseau de capteurs sans fil est un système distribué de grande échelle mettant en

communication un grand nombre d’entités autonomes communément appelées «capteurs sans

fil», autant simplement « capteurs ». Ces capteurs forment donc les nœuds du réseau. Dans un

scénario d’application classique, plusieurs nœuds capteurs sont déployés dans un certain

environnement pour mesurer certains phénomènes physiques et faire remonter les

informations collectées à une station de base, nommée le nœud puits (une porte d’entrée vers

le monde extérieur qui fait l’interface entre le réseau de capteurs et l’utilisateur des données).

Dans le cas le plus simple, les capteurs seront dans le voisinage direct du puits (un réseau de

type étoile à un saut). Cependant, dans le cas d’un réseau à grande échelle, les capteurs ne

sont pas tous dans le voisinage du puits et les messages seront acheminés du nœud source vers

le puits en transitant par plusieurs nœuds, selon un mode de communication multi-sauts

comme l’illustre la figure I.8.

Figure I.8 : Architecture d'un réseau de capteurs.

Les ressources limitées des nœuds font que les réseaux de capteurs sans fil ont des

différences dans leur fonctionnement, leur sécurité et leur fiabilité, selon leur application. De

nouveaux protocoles de communication et d’auto-organisation doivent être développés en

fonction des besoins des applications puisque les caractéristiques du réseau varient en

fonction de l’application. Par exemple, certaines applications considèrent que les nœuds, une

fois déployés, sont fixes, d’autres considèrent qu’ils sont mobiles. Le réseau peut être

homogène ou hétérogène (différents types de capteurs et de nœuds ou non). Il peut avoir un

seul puits, ou plusieurs. En définitive, il y a beaucoup de scénarios envisageables et des

protocoles génériques ne pourront pas être efficaces dans tous les cas. La tendance est au

développement de protocoles dédiés à une application particulière.

Page 25: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

25

ELBOUGHDIRI Abdessalem

I.3.2.1 Architecture de communication :

Après le déploiement des nœuds capteurs sur une certaine zone de captage, ceux-ci

commencent par la découverte de leurs voisins afin de construire la topologie de

communication. Ainsi, ils deviennent capables d’accomplir les tâches que leur sont affectées.

Selon une communication multi-sauts, les capteurs sont chargés de collecter des données, les

router vers un nœud particulier appelé nœud puits (Sink). Ce dernier analyse ces données et

transmet à son tour l’information collectée à l’utilisateur via internet ou bien satellite. Comme

l’indique la figure I.8, l’ensemble de nœuds construisant le RCSF est considéré comme étant

un réseau d’acquisition de données. Par contre, le réseau de distribution de données est

composé des utilisateurs, et du réseau de communication : l’internet, et les satellites.

I.3.2.2 Architecture protocolaire :

Dans le but d’un établissement efficace d’un RCSF, une architecture en couches est

adoptée afin d’améliorer la robustesse du réseau. Une pile protocolaire de cinq couches est

donc utilisée par les nœuds du réseau. Citons la couche application, la couche transport, la

couche réseau, la couche liaison de données et la couche physique.

De plus, cette pile possède trois plans (niveaux) de gestion : le plan de gestion des

tâches qui permet de bien affecter les tâches aux nœuds capteurs, le plan de gestion de

mobilité qui permet de garder une image sur la localisation des nœuds pendant la phase de

routage, et, le plan de gestion de l’énergie qui permet de conserver le maximum d’énergie.

Figure I.9 : Pile protocolaire dans les réseaux de capteurs sans fils.

Application

Transport

Réseau

Liaison des données

Physique

Plan de gestion de l’énergie

Plan de gestion de la mobilité

Plan de gestion des taches

Page 26: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

26

ELBOUGHDIRI Abdessalem

I.3.2.2.1 La couche physique :

Elle permet de moduler les données et les acheminer dans le media physique tout en

choisissant les bonnes fréquences. En effet, la couche physique est responsable à sélection

des fréquences, détection des signaux, modulation et le cryptage des données.

I.3.2.2.2 La couche de liaison de données :

Elle est responsable de l’accès au media physique et la détection et la correction

d’erreurs intervenues sur la couche physique. De plus, elle établit une communication saut-

par-saut entre les nœuds. C'est-à-dire, elle détermine les liens de communication entre eux

dans une distance d’un seul saut.

Parmi les protocoles de liaison de données, nous citons: SMACS (Self-organizing

Medium Access Control for Sensor networks) et EAR (Eavesdrop And Register).

I.3.2.2.3 La couche réseau :

Elle s’occupe du routage de données fournies par la couche transport. Elle établit les

routes entre les nœuds capteurs et le nœud puits et sélectionne le meilleur chemin en termes

d’énergie, délai de transmission, débit, etc.

Les protocoles de routage conçus pour les RCSF sont différents de ceux conçus pour les

réseaux Ad Hoc puisque les RCSF sont différents selon plusieurs critères comme :

- l’absence d’adressage fixe des nœuds tout en utilisant un adressage basé-attribut.

- l’établissement des communications multi-sauts.

- l’établissement des routes liant plusieurs sources en une seule destination pour agréger

des données similaires, etc.

Parmi ces protocoles, nous citons : LEACH (Low-Energy Adaptive Clustering

Hierarchy) et SAR (Sequential Assignement Routing).

I.3.2.2.4 La couche transport :

Elle vérifie le bon acheminement des données et la qualité de la transmission.

Dans les RCSF, la fiabilité de transmission n’est pas majeure. Ainsi, les erreurs et les

pertes sont tolérées. Par conséquent, un protocole de transport proche du protocole UDP et

appelé UDP-Like (User Datagram Protocol Like) est utilisé.

Page 27: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

27

ELBOUGHDIRI Abdessalem

Cependant, comme le protocole de transport universel est TCP (Transmission Control

Protocol), les RCSF doivent donc posséder, lors d’une communication avec un réseau externe,

une interface TCP-spliting pour vérifier la compatibilité entre ces deux réseaux

communicants.

I.3.2.2.5 La couche application :

Elle assure l'interface avec les applications. Il s'agit donc de la couche la plus proche des

utilisateurs, gérée directement par les logiciels. Parmi les protocoles d’application, nous

citons: SMP (Sensor Management Protocol) et TADAP (Task Assignement and Data

Advertisement Protocol).

I.3.2.2.6 Le niveau de gestion d’énergie :

Les fonctions intégrées à ce niveau consistent à gérer l’énergie consommée par les

capteurs. Des lors, un capteur peut par exemple éteindre son interface de réception des qu’il

reçoit un message d’un nœud voisin afin d’éviter la réception des messages dupliqués. De

plus, quand un nœud possède un niveau d’énergie faible, il peut diffuser un message aux

autres capteurs pour ne pas participer aux taches de routage, et conserver l’énergie restante

aux fonctionnalités de capture.

I.3.2.2.7 Le niveau de gestion de mobilité :

Ce niveau détecte et enregistre tous les mouvements des nœuds capteurs, de manière à

leur permettre de garder continuellement une route vers l’utilisateur final, et maintenir une

image récente sur les nœuds voisins. Cette image est nécessaire pour pouvoir équilibrer

l’exécution des taches et la consommation d’énergie.

I.3.2.2.8 Le niveau de gestion des taches :

Lors d’une opération de capture dans une région donnée, les nœuds composant le réseau

ne doivent pas obligatoirement travailler avec le même rythme. Cela dépend essentiellement

de la nature du capteur, son niveau d’énergie et la région dans laquelle il a été déployé. Pour

cela, le niveau de gestion des taches assure l’équilibrage et la distribution des taches sur les

différents nœuds du réseau afin d’assurer un travail coopératif et efficace en matière de

consommation d’énergie, et par conséquent, prolonger la durée de vie du réseau.

Page 28: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

28

ELBOUGHDIRI Abdessalem

I.3.3 Caractéristique des réseaux de capteurs sans fil:

• Energie limitée: Les RCSF visent la consommation d’énergie puisque l’alimentation

de chaque nœud est assurée par une source d’énergie limitée et généralement irremplaçable à

cause de l’environnement hostile où il est déployé. De ce fait, la durée de vie d’un RCSF

dépend fortement de la conservation d’énergie au niveau de chaque nœud.

• Modèle de communication: Les nœuds dans les RCSF communiquent selon un

paradigme plusieurs-à-un (many to one). En effets, les nœuds capteurs collectent des

informations à partir de leur environnement et les envoient toutes vers un seul nœud qui

représente le centre de traitement.

• Densité de déploiement : Elle est plus élevée dans les RCSF que dans les réseaux Ad

Hoc. Le nombre de nœuds capteurs peut atteindre des millions de nœuds pour permettre une

meilleure granularité de surveillance. De plus, si plusieurs nœuds capteurs se retrouvent dans

une région, un nœud défaillant pourra être remplacé par un autre. Cependant, la densité de

déploiement donne naissance à des challenges pour la communication entre les nœuds. En

effet, elle provoque des collisions ou des endommagements des paquets transmis.

• Absence d’adressage fixe des nœuds: Les nœuds dans les réseaux sans fil classiques

sont identifiés par des adresses IP. Cependant, cette notion n’existe pas dans les RCSF. Ces

derniers utilisent un adressage basé sur l’attribut du phénomène capté, on parle donc de

l’adressage basé-attribut. En effet, les requêtes des utilisateurs ne sont pas généralement

destinées à un seul nœud, mais plutôt, à un ensemble de nœuds identifiés par un attribut. Par

exemple, identifier un ensemble de nœuds par « les nœuds qui captent le volume du CO2

dépassant 0,0375 % dans l’atmosphère».

• Limitations de ressources physiques : A cause de la miniaturisation des composants

électroniques, les performances des nœuds capteurs sont limitées. Par conséquent, les nœuds

capteurs collaborent en traitant partiellement les mesures captées et envoient seulement les

résultats à l’utilisateur. Une autre conséquence, ces limitations imposent des portées de

transmission réduites contraignant les informations à être relayées de nœud en nœud avant

d'atteindre le destinataire. C’est la raison pour laquelle les RCSF adoptent des

communications multi-sauts.

• Sécurité: En plus des problèmes de sécurité rencontrés dans les réseaux Ad Hoc en

général, les RCSF rencontrent d’autres handicaps dus à leurs challenges, à savoir l’autonomie

et la miniaturisation des capteurs. Cela engendre l’inapplicabilité des mécanismes de défense

utilisés dans les réseaux Ad Hoc tout en créant d’autres mécanismes de sécurité pour les

Page 29: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

29

ELBOUGHDIRI Abdessalem

RCSF. De plus, l’absence d’une sécurité physique dans l’environnement hostile où ils sont

déployés expose les nœuds à un danger qui tend vers la falsification de l’information. En

effet, les nœuds capteurs eux-mêmes sont des points de vulnérabilité du réseau car ils peuvent

être modifiés, remplacés ou supprimés.

I.3.4 Technologie des capteurs :

Les recherches dans les RCSF ont débute par l’agence DARPA pour des besoins de

surveillance militaire, avec le projet LWIM et le projet SenseIT qui a été succédé plus tard en

1993-1998 par le projet WINS de sciences Rockwel. Par la suite, d’autres ont vu le jour en

1999 essentiellement parmi les milieux universitaires.

Figure I.10 : Progression des technologies de capteurs à travers le temps. [I.8]

Page 30: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

30

ELBOUGHDIRI Abdessalem

Nœud Image

Vitesse

CPU

(Mhz)

Mem.Prog.

(kb)

RAM

(kb)

Radio Freq.

(Mhz)

Débit de

transmission

(kbps)

WeC

8 8 0.5 916 10

Rene

8 8 0.5 916 10

Rene2

8 16 1 916 10

Dot

8 16 1 916 10

Mica

6 128 4 868 10/40

Mica2

16 128 4 433/868/916 38.4

Micaz

16 128 4 2400 250

Page 31: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

31

ELBOUGHDIRI Abdessalem

Cricket

16 128 4 433 38.4

EyesIFX

8 60 2 868 115

TelosB/Tmote

16 48 10 2400 250

SHIMMER

8 48 10 2400 250

Sun SOPT

16-60 2 MB 256 2400 250

BTnode

8 128 64 433-915 Variée

IRIS

16 128 8 2400 250

Page 32: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

32

ELBOUGHDIRI Abdessalem

V-Link

N/A N/A N/A 2400 250

TEHU-1121

N/A N/A N/A 900/2400 N/A

NI WSN-3202

N/A N/A N/A 2400 250

Imote

12 512 64 2400 100

Imot2

13-416 32MB 256 2400 250

Stargate

400 32MB 64MB

SD 2400 Variée

Netbridge N-

100

266 8 MB 32

MB Variée Variée

Tableau I.1: Technologies des capteurs. [I.8]

Page 33: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

33

ELBOUGHDIRI Abdessalem

I.4 Application des réseaux de capteurs sans fil :

Les possibilités d'applications des réseaux de capteur sans fil ont été longtemps

discutées avec l'accent sur les applications possibles qui peuvent être réalisées en utilisant les

RCSF. Dans cette section nous présentons une vue d'ensemble des applications commerciales

et académiques existantes développées pour les RCSF.

L’usage des RCSF permet la gestion et l‘analyse de phénomènes complexes sur une

large région et sur une longue période de temps. Des données telles que la température,

l‘humidité, la pression, le bruit ainsi que toute sorte d‘informations liées à la machinerie

peuvent être obtenues et traitées moyennant le déploiement de capteurs sans fil. Les RCSF

sont généralement déployés en grand nombre dans une zone géographique où ils vont capter,

mesurer et rapporter certains phénomènes physiques. Dans le domaine militaire, ils peuvent

être utilisés pour surveiller le déplacement de troupes ennemies dans un espace donné, ou

récolter des données dans une zone dangereuse où l'envoi d'êtres humains serait à risque. À

titre d'exemple, les RCSF ont été utilisés, sous une forme assez primitive, lors de la guerre

froide par les Américains qui ont placé dans l'océan un système appelé SOSUS composé de

capteurs acoustiques pour surveiller les sous-marins silencieux russes. Dans le domaine civil,

les RCSF peuvent être utilisés dans la surveillance des infrastructures, des installations et des

zones critiques. Ils peuvent également être utilisés pour surveiller des habitations et contribuer

au confort domestique, en transformant les logements en environnements intelligents dont les

paramètres (température, pression, humidité, luminosité, etc.) s'adaptent automatiquement au

comportement des individus. Dans le domaine de l'environnement, ils peuvent localiser et

suivre le mouvement de certains animaux, détecter des feux de forêt ou encore surveiller

l'évolution de la densité moyenne de CO2 dans l'air. CORIE est un exemple réel d'application

où des capteurs récoltent des informations sur l'eau de la rivière Columbia (température,

salinité, flux et niveau de l'eau, etc.), lesquelles sont utilisées pour gérer les opérations de

secours et les interventions sur l'écosystème. Dans le domaine industriel, les capteurs peuvent

être placés sur des boites de marchandise dans une usine ou un entrepôt pour suivre en temps

réel le mouvement des marchandises, ou encore détecter le dysfonctionnement d'une machine

en analysant ses émissions acoustiques et vibratoires. Actuellement, il existe quelques

applications commerciales assez primitives des RCSF, par exemple pour la lecture distante

des appareils commerciaux de mesure de la consommation énergétique domestique (les

compteurs d'électricité, de gaz, etc.).

Page 34: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

34

ELBOUGHDIRI Abdessalem

I.4.1 Applications environnementales :

Des thermo-capteurs dispersés à partir d'un avion sur une forêt peuvent signaler un

éventuel début d'incendie dans le champ de captage; ce qui permettra une meilleure efficacité

pour la lutte contre les feux de forêt. Dans les champs agricoles, les capteurs peuvent être

semés avec les graines. Ainsi, les zones sèches seront facilement identifiées et l'irrigation sera

donc plus efficace. Sur les sites industriels, les centrales nucléaires ou dans les pétroliers, des

capteurs peuvent être déployés pour détecter des fuites de produits toxiques (gaz, produits

chimiques, éléments radioactifs, pétrole, etc.) et alerter les utilisateurs dans un délai

suffisamment court pour permettre une intervention efficace. Une grande quantité de capteurs

peut être déployée en forêt ou dans un environnement de conservation de la faune afin de

recueillir des informations diverses sur l'état du milieu naturel et sur les comportements de

déplacement.

Par exemple, l'université de Pise en Italie a réalisé des réseaux de capteurs pour le

contrôle des parcs naturels (feux, animaux,..). Il est ainsi possible "d'observer", sans déranger,

des espèces animales difficiles à étudier dans leur environnement naturel et de proposer des

solutions plus efficaces pour la conservation de la faune. Les éventuelles conséquences de la

dispersion en masse des micro-capteurs dans l'environnement ont soulevé plusieurs

inquiétudes. En effet, chaque micro-capteur est doté d'une batterie qui contient des métaux

nocifs. Néanmoins, le déploiement d'un million de capteurs de 1 millimètre cube chacun ne

représente qu'un volume total d'un litre. Même si tout ce volume était constitué de batteries,

cela n'aurait pas des répercussions désastreuses sur l'environnement.

I.4.2 Applications écologiques :

Dans les immeubles, le système de climatisation peut être conçu en intégrant plusieurs

micro-capteurs dans les tuiles du plancher et les meubles. Ainsi, La climatisation pourra être

déclenchée seulement aux endroits où il y a des personnes présentes et seulement si c'est

nécessaire. Le système distribué pourra aussi maintenir une température homogène dans les

pièces. Utilisée à grande échelle, une telle application permettrait de réduire la demande

mondiale en énergie réduisant du même coup les gaz à effet de serre. Rien que pour les États-

Unis, on estime cette économie à 55 milliards de dollars par an avec une diminution de 35

millions de tonnes des émissions de carbone dans l'air. Ainsi, dans un contexte mondial où le

réchauffement de la planète devient une préoccupation grandissante, une telle conséquence

environnementale serait un pas dans la bonne direction.

Page 35: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

35

ELBOUGHDIRI Abdessalem

I.4.3 Applications militaires :

Le déploiement rapide, l’auto-configuration et la tolérance aux pannes des réseaux de

capteurs sont des caractéristiques qui font de ce type de réseaux un outil appréciable dans un

tel domaine. Déploiement sur un endroit stratégique ou difficile d’accès, afin de surveiller

toutes les activités des forces ennemies ou d’analyser le terrain avant d’y envoyer des troupes

(par la détection d’agents chimiques, biologiques ou de radiations).

I.4.4 Applications industriels :

Des réseaux de capteurs câblés ont été longtemps utilisés dans les domaines industriels

tels que des applications industrielles de captage et de contrôle, l'automatisation de

construction, et le contrôle d'accès. Cependant, le coût associé au déploiement des réseaux de

capteurs câblés limite la possibilité d'application de ces systèmes. D'ailleurs, même si un

système de capteur ont été déployés à un ensemble industriel, l'évolution de ce système

coûterait presque autant qu'un nouveau système. En plus des systèmes de contrôle à base de

capteur, la surveillance manuelle a été également utilisée dans des applications industrielles

pour la maintenance préventive. La surveillance aux milieux industriels est généralement

exécutée par le personnel expérimenté utilisant les analyseurs tenus dans la main qui sont

rassemblés d'un site central pour l'analyse. Les systèmes manuels ont limité l'exactitude et

exigent le personnel. Au lieu de cela, Les RCSF sont une solution alternative prometteuse

pour ces systèmes dus à leur facilité de déploiement, granularité élevée, et de grande précision

fourni par les nœuds des capteurs sans fil. [I.8]

I.4.5 Application commercial :

Des nœuds capteurs pourraient améliorer le processus de stockage et de livraison (pour

garantir la chaine du froid en particulier). Le réseau ainsi formé, pourra être utilisé pour

connaître la position, l'état et la direction d'un paquet ou d'une cargaison. Un client attendant

un paquet peut alors avoir un avis de livraison en temps réel et connaître la position du

paquet. Des entreprises manufacturières, via des réseaux de capteurs pourraient suivre le

procédé de production à partir des matières premières jusqu'au produit final livré. Grâce aux

réseaux de capteurs, les entreprises pourraient offrir une meilleure qualité de service tout en

réduisant leurs coûts. Les produits en fin de vie pourraient être mieux démontés et recyclés ou

réutilisés si les micro-capteurs en garantissent le bon état. [I.9]

Page 36: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

36

ELBOUGHDIRI Abdessalem

I.4.6 Applications médicales :

La surveillance des fonctions vitales d'un organisme vivant pourrait à l'avenir être

facilitée par des micro-capteurs avalés ou implantés sous la peau. Des gélules multi-capteurs

ou des micro-caméras pouvant être avalées existent déjà, pouvant sans recours à la chirurgie,

transmettre des images de l'intérieur d'un corps humain (avec une autonomie de 24 heures).

Une récente étude présente des capteurs fonctionnant dans le corps humain, qui pourraient

traiter certaines maladies. Un projet est de créer une rétine artificielle composée de 100 micro-

capteurs pour corriger la vue. D'autres ambitieuses applications biomédicales sont aussi

présentées, tel que : la surveillance de la glycémie, la surveillance des organes vitaux ou la

détection précoce de cancers. Des réseaux de capteurs permettraient théoriquement une

surveillance permanente des patients et une possibilité de collecter des informations

physiologiques de meilleure qualité, facilitant ainsi le diagnostic de quelques maladies. [I.9]

I.4.7 Applications domestiques :

Les RCSF peuvent être employés pour fournir plus d'environnements vivants plus

commodes et plus intelligents pour des êtres humains.

• Maison intelligente : Des capteurs sans fil peuvent être encastrés dans une maison et

être connectés pour former un réseau domestique autonome. Par exemple, un réfrigérateur

intelligent connecté à un fourneau ou à un four microondes intelligent peut préparer un menu

basé sur l'inventaire du réfrigérateur et envoyer des paramètres à cuire appropriés au fourneau

ou au four microondes intelligent, qui placeront la température et le temps désirés pour faire

cuire. Le contenu et les programmes des lecteurs de TV, de magnétoscope, de DVD, ou de

CD peuvent être surveillés et contrôlés à distance pour répondre aux différents besoins des

membres de la famille.

• Télémétrie : Des capteurs sans fil peuvent être utilisés pour indiquer à distance les

compteurs de service dans une maison, par exemple, l'eau, gaz, ou électricité, et puis envoient

les relevés à un centre éloigné par la communication sans fil.

En plus des applications ci-dessus, l’auto-configuration des RCSF peut être utilisée

dans beaucoup d'autres zones, par exemple, secours en cas de catastrophe, contrôle du trafic,

gestion d'entrepôt, et génie civil. Cependant, un certain nombre de problèmes techniques

doivent être résolus avant que ces applications passionnantes deviennent une réalité. [I.8]

Page 37: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

37

ELBOUGHDIRI Abdessalem

I.4.8 Applications de traçabilité et de localisation :

Suite à une avalanche il est nécessaire de localiser les victimes enterrées sous la neige

en équipant les personnes susceptibles de se trouver dans des zones à risque par des capteurs.

Ainsi, les équipes de sauvetage peuvent localiser plus facilement les victimes. Contrairement

aux solutions de traçabilité et de localisation basées sur le système de GPS (Global

Positionning System), les réseaux de capteurs peuvent être très utiles dans des endroits clos

comme les mines par exemple.

I.4.9 Applications liées à la sécurité :

Les réseaux de surveillance sont constitués des nœuds fixes et qui contrôlent d’une

façon continue la détection d’un événement qui est jugé douteux. Les nœuds transmettent

seulement les rapports concernant une violation de la sécurité. Ce type de réseau nécessite un

excellent temps de latence pour une bonne performance. Un exemple de tel réseau est la

détection des incendies dans les forêts et spécialement le projet « FireBug» installé dans les

forêts de Californie.

I.5 Contrainte d’un réseau de capteurs sans fil :

La conception et la réalisation des réseaux de capteurs sans fil sont influencées par

plusieurs paramètres. Ces facteurs servent comme directives pour le développement des

algorithmes et protocoles utilisés dans les RCSF.

I.5.1 Durée de vie du réseau :

C’est l’intervalle de temps qui sépare l’instant de déploiement du réseau de l’instant où

l'énergie du premier nœud s'épuise. Selon l’application, la durée de vie exigée pour un réseau

peut varier entre quelques heures et plusieurs années.

Figure I.11 : Consommation d’énergie dans un nœud de capteur sans fil. [I.10]

0

2

4

6

8

10

12

14

16

18

Traitements Emissions Réceptions Ecoute Mise en Veille Captage

Co

nso

mm

ati

on

d’é

ne

rgie

(mW

)

Page 38: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

38

ELBOUGHDIRI Abdessalem

I.5.2 Ressources limitées :

En plus de l’énergie, les nœuds capteurs ont aussi une capacité de traitement et de

mémoire limitée. En effet, les industriels veulent mettre en œuvre des capteurs simples, petits

et peu coûteux.

I.5.3 Bande passante limitée :

Afin de minimiser l’énergie consommée lors de transfert de données entre les nœuds,

les capteurs opèrent à bas débit. Typiquement, le débit utilisé est de quelques dizaines de

Kb/s. Un débit de transmission réduit n’est pas handicapant pour un réseau de capteurs où les

fréquences de transmission ne sont pas importantes.

I.5.4 La scalabilité:

Le nombre de nœuds déployés pour une application peut atteindre des milliers. Dans ce

cas, le réseau doit fonctionner avec des densités de capteurs très grandes. Un nombre aussi

important de nœuds engendre beaucoup de transmissions inter nodales et nécessite que la

station de base ou le nœud puis soit équipée de mémoire suffisante pour stocker et gérer les

informations reçues.

I.5.5 Topologie dynamique :

La topologie des réseaux de capteurs peut changer au cours du temps pour les raisons

suivantes:

• Les nœuds capteurs peuvent être déployés dans des environnements hostiles (champ

de batail par exemple), la défaillance d’un nœud capteur est, donc très probable.

• Un nœud capteur peut devenir non opérationnel à cause de l’expiration de son énergie.

• Dans certaines applications, les nœuds capteurs et les stations de base sont mobiles.

I.5.6 Agrégation de donnée:

Dans les réseaux de capteurs, les données produites par les nœuds capteurs voisins sont

très corrélées spatialement et temporellement. Ceci peut engendrer la réception par la station

de base d’informations redondantes. Réduire la quantité d’informations redondantes

transmises par les capteurs permet de réduire la consommation d’énergie dans le réseau et

ainsi d’améliorer sa durée de vie. L’une des techniques utilisée pour réduire la transmission

d’informations redondantes est l’agrégation des données. Avec cette technique, les nœuds

intermédiaires agrègent l’information reçue de plusieurs sources. Cette technique est connue

aussi sous le nom de fusion de données.

Page 39: Réseaux de Capteurs Sans Fil

CHAPITRE I Présentation des Réseaux de Capteurs Sans Fil

39

ELBOUGHDIRI Abdessalem

I.5.7 Le cout de production :

Le cout de production d’un seul capteur est très important pour l’évaluation du cout

global du réseau. Si ce dernier est supérieur a celui nécessaire pour le déploiement des

capteurs classiques, l’utilisation de cette nouvelle technologie ne serait pas financièrement

justifiée.

Par conséquent, réduire le cout de production jusqu’ a moins de 1 dollar par nœud est un

objectif important pour la faisabilité de la solution des réseaux de capteurs sans-fil.

I.6 Conclusion :

Dans ce chapitre, nous avons présenté les réseaux sans fil en général. Ils sont

généralement décomposés selon deux modes : réseaux avec infrastructure ou centralisés

(cellulaires) et réseaux sans infrastructure ou décentralisés (Ad Hoc).

Nous avons décrit le capteur, ses fonctionnalités et son architecture. Nous avons cité les

caractéristiques d’un réseau de capteurs et présenté quelques domaines applications.

Nous avons décrit ensuite les RCSF qui sont apparentés aux réseaux Ad Hoc. Ces

réseaux connaissent un grand essor grâce à la multitude d’applications qu’ils offrent ainsi que

leur grande mobilité et aussi, grâce aux récents développements concernant la miniaturisation

des composants électroniques.

Dans le chapitre suivant, nous allons présenter la plateforme TinyOS (Système

d’exploitation pour les réseaux de capteur sans fil) ainsi que son architecture et mode

d’exécution et le langage de programmation NesC utilisé pour ce système.

Page 40: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

40

ELBOUGHDIRI Abdessalem

II.1 Introduction : Suite aux différents problèmes vécut par les réseaux de capteurs (problème énergétiques

et de mémoire), l’université de Berkeley a développé alors un système d’exploitation minime

destiné pour ces réseaux : TinyOS. Il est orienté "composants" afin de faciliter

l'implémentation de ces réseaux, tout en minimisant la taille du code afin de respecter les

contraintes de mémoire des composants matériels.

TinyOS, comme les applications tournant dessus, a été écrit en NesC. Ce langage a été

inventé pour répondre aux attentes des systèmes embarqués. Il possède une syntaxe proche de

C, supporte le système multitâche de TinyOS et défini des mécanismes pour architecturer et

"linker" des composants logiciels en un système embarqué robuste.

II.2 Présentation de TinyOS : TinyOS est un système d’exploitation Open Source pour les réseaux des capteurs, conçu

par l’université américaine de BERKELEY. Le caractère open source permet à ce système

d'être régulièrement enrichie par une multitude d'utilisateurs. Sa conception a été entièrement

réalisée en NesC, langage orienté composant syntaxiquement proche du C. Il respecte une

architecture basée sur une association de composants, réduisant ainsi la taille du code

nécessaire à sa mise en place. Cela s’inscrit dans le respect des contraintes de mémoires

qu’observent les capteurs, pourvus de ressources très limités dues à leur miniaturisation.

CHAPITRE II

LE SYSTEME D’EXPLOITATION TINY OS.

Page 41: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

41

ELBOUGHDIRI Abdessalem

Pour autant, la bibliothèque des composants de TinyOS est particulièrement complète,

puisqu’on y retrouve des protocoles réseaux, des pilotes de capteurs, et des outils

d’acquisition de données. Un programme s’exécutant sur TinyOS est constitué d'une sélection

de composants systèmes et de composants développés spécifiquement pour l'application à

laquelle il sera destiné (mesure de température, du taux d’humidité…). TinyOS s’appuie sur

un fonctionnement évènementiel, c'est à dire qu’il ne devient actif qu’à l’apparition de

certains évènements, par exemple l’arrivée d’un message radio. Le reste du temps, le capteur

se trouve en état de veille, garantissant une durée de vie maximale connaissant les faibles

ressources énergétiques des capteurs. Ce type de fonctionnement permet une meilleure

adaptation à la nature aléatoire de la communication sans fil entre capteurs.

II.2.1 Propriétés de TinyOS: Le plus gros avantage de TinyOS est qu’il est basé sur un fonctionnement

événementiel, c’est-à-dire qu’il ne devient actif qu’à l’apparition de certains événements. Le

reste du temps, le capteur se trouve en état de veille afin de garantir une durée de vie

maximale aux faibles ressources énergétiques du capteur. TinyOS se distingue aussi par son

caractère non préemptif, c’est-à-dire qu’il ne gère pas les interruptions entre tâches. Par contre

il donne une priorité aux interruptions matérielles qui peuvent à tout moment stopper

l’exécution d’une tâche. Pour terminer, TinyOS ne gère pas de ”temps réel” car il n’est pas

prévu pour manipuler des niveaux de priorité.

TinyOS est basé sur quelques grandes propriétés qui font que ce système d’exploitation,

s’adapte particulièrement bien aux systèmes à faible ressources :

• Disponibilité et sources : TinyOS est un système principalement développé et

soutenu par l'université américaine de Berkeley, qui le propose en téléchargement sous la

licence BSD et en assure le suivi. Ainsi, l'ensemble des sources sont disponibles pour de

nombreuses cibles matérielles.

• Event-driven : Le fonctionnement d'un système basé sur TinyOS s'appuie sur la

gestion des évènements se produisant. Ainsi, l'activation de tâches, leur interruption ou encore

la mise en veille du capteur s'effectue à l'apparition d'évènements, ceux-ci ayant la plus forte

priorité. Ce fonctionnement évènementiel (event-driven) s'oppose au fonctionnement dit

temporel (time-driven) où les actions du système sont gérées par une horloge donnée.

Page 42: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

42

ELBOUGHDIRI Abdessalem

• Langage : Comme nous l'avons évoqué plus haut, TinyOS a été programmé en

langage NesC que nous allons détailler plus loin.

• Préemptif : Le caractère préemptif d'un système d'exploitation précise si celui-ci

permet l'interruption d'une tâche en cours. TinyOS ne gère pas ce mécanisme de préemption

entre les tâches mais donne la priorité aux interruptions matérielles. Ainsi, les tâches entre-

elles ne s'interrompent pas mais une interruption peut stopper l'exécution d'une tâche.

• Temps réel : Lorsqu'un système est dit « temps réel » celui-ci gère des niveaux de

priorité dans ses tâches permettant de respecter des échéances données par son

environnement. Dans le cas d'un système strict, aucune échéance ne tolère de dépassement

contrairement à un système temps réel mou. TinyOS se situe au-delà de ce second type car il

n'est pas prévu pour avoir un fonctionnement temps réel.

• Consommation : TinyOS a été conçu pour réduire au maximum la consommation en

énergie d’un nœud capteur. Ainsi, lorsque aucune tâche n’est active, il se met

automatiquement en mode veille.

Le tableau II.1 ci-dessous résume ses propriétés :

Propriété Valeur pour TinyOS

Type Event-driven Disponibilité Open source

Langage NesC Préemptif Non Temps réel Non

Source Fournies Tableau II.1: Propriété de TinyOS

II.2.2 Caractéristiques de TinyOS :

• Concurrence : utilise une architecture orientée événement

• Modularité :

� Application composée de composants

� OS + Application compilés en un seul exécutable

• Communication :

Page 43: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

43

ELBOUGHDIRI Abdessalem

� Utilise un modèle event/command

� Ordonnancement FIFO non préemptif

• Pas de séparation noyau/utilisateur

II.2.3 Allocation de la mémoire : Il est important de préciser de quelle façon un système d'exploitation aborde la gestion

de la mémoire. C'est encore plus significatif lorsque ce système travaille dans un espace

restreint.

TinyOS a une empreinte mémoire très faible puisqu'il ne prend que 300 à 400 octets

dans le cadre d'une distribution minimale. En plus de cela, il est nécessaire d'avoir 4 Ko de

mémoire libre qui se répartissent suivant le la figure II.1.

• La pile : sert de mémoire temporaire au fonctionnement du système notamment pour

l'empilement et le dépilement des variables locales.

• Les variables globales : réservent un espace mémoire pour le stockage de valeurs

pouvant être accessible depuis des applications différentes.

• La mémoire libre : pour le reste du stockage temporaire.

La gestion de la mémoire possède de plus quelques propriétés. Ainsi, il n'y a pas

d'allocation dynamique de mémoire et pas de pointeurs de fonctions. Bien sur cela simplifie

grandement l'implémentation. Par ailleurs, il n'existe pas de mécanisme de protection de la

mémoire sous TinyOS ce qui rend le système particulièrement vulnérable aux crash et

corruptions de la mémoire.

Figure II.1 : Organisation de la mémoire dans TinyOS

Page 44: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

44

ELBOUGHDIRI Abdessalem

II.3 Structure logicielle : Le système d'exploitation TinyOS s'appuie sur le langage NesC. Celui-ci propose une

architecture basée sur des composants, permettant de réduire considérablement la taille

mémoire du système et de ses applications. Chaque composant correspond à un élément

matériel (LEDs, timer, ADC . . .) et peut être réutilisé dans déférentes applications. Ces

applications sont des ensembles de composants associés dans un but précis. Les composants

peuvent être des concepts abstraits ou bien des interfaces logicielles aux entrées-sorties

matérielles de la cible étudiée (carte ou dispositif électronique). L'implémentation de

composants s'effectue en déclarant des tâches, des commandes ou des évènements.

Figure II.2 : Interactions internes au système TinyOS

Les évènements sont prioritaires par rapport aux tâches et peuvent interrompre la tache

en cours d'exécution. Ils permettent de faire le lien entre les interruptions matérielles (pression

d'un bouton, changement d'état d'une entrée, . . .) et les couches logicielles que constituent les

taches.

Page 45: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

45

ELBOUGHDIRI Abdessalem

II.4 Modèle d’exécution de TinyOS : Pour maintenir une grande efficacité requise par les réseaux de capteurs, TinyOS utilise

une programmation par évènement. Ce modèle permet un très haut niveau de concurrence

pour un espace très réduit de mémoire.

L’implémentation des composants de TinyOS s’effectue en déclarant des tâches, des

commandes ou des évènements. Nous allons détailler ceux-ci dans le tableau II.2.

Action Utilisation

Tâche Travaux de « longue durée »

Commande Exécution d’une fonctionnalité précise dans un autre composant

Evènement Equivalent logiciel à une interruption matérielle

Tableau II.2 : différents actions dans TinyOS

TinyOS dispose de 2 types d'entités ordonnançables : interruptions (évènements) et

tâches.

II.4.1 Programmation par évènement : Dans un système basé sur la programmation par évènement, chaque exécution est

partagée entre les différentes taches de traitement. Dans TinyOS, chaque module est désigné

pour fonctionner en attendant continuellement de répondre aux évènements inattendus. Quand

un évènement est signalé, le traitement correspondant est exécuté. Une fois totalement

terminé, la main est redonnée au système pour continuer sa tâche antérieure.

En plus de l’efficacité de l’allocation du CPU, la programmation par évènement permet

d’obtenir des opérations économiques en énergie. Il est très important aussi pour la

consommation d’énergie que les applications signalent la fin de leurs évènements et

l’utilisation du CPU. Dans TinyOS, les taches associées avec un évènement sont exécutées

très rapidement après leurs signalisations. Une fois terminé, le CPU entre en veille en

attendant une nouvelle réception d’évènement.

II.4.2 Tâches : Un des facteurs limitant la programmation par évènement est la longue exécution des

tâches qui peut interrompre d’autres programmes importants. Si l’exécution d’un évènement

ne finit jamais, toutes les autres fonctions vont être interrompues. Pour éviter ce problème,

TinyOS fourni un mécanisme d’exécution appelé tâche. Une tâche est un bout de programme

Page 46: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

46

ELBOUGHDIRI Abdessalem

qui s’exécute jusqu’à la fin sans interférer avec les autres évènements. Les tâches sont

utilisées pour effectuer la plupart des blocs d’instruction d’une application.

A l’appel d’une tâche, celle-ci va prendre place dans une file d’attente de type FIFO

mais elle ne sera exécuté que lorsque il n’y a plus d’évènements. En plus les tâches peuvent

être interrompues à tout moment par des évènements.

D’autre part, il n’y a pas de mécanisme de préemption entre les tâches et une tache

activée s’exécute en entier. Ce mode de fonctionnement permet de bannir les opérations

pouvant bloquer le système. Par ailleurs, lorsque la file d’attente des taches est vide, le

système d’exploitation met en veille le dispositif jusqu’au lancement de la prochaine

interruption (on retrouve le fonctionnement Event-driven).

II.4.3 Description de l’ordonnanceur TinyOS : La gestion des tâches et des évènements est vitale pour TinyOS. Le choix d’un

ordonnanceur déterminera le fonctionnement global du système et le dotera de propriétés

précises telles que la capacité à fonctionner en temps réel.

L’ordonnanceur TinyOS c’est :

• 2 niveaux de priorité (bas pour les tâches, haut pour les évènements) ;

• 1 file d’attente FIFO (disposant d’une capacité de 7).

Par ailleurs, entre les tâches, un niveau de priorité est défini permettant de classer les

tâches, tout en respectant la priorité des interruptions (ou évènements). Lors de l’arrivée d’une

nouvelle tache, celle-ci sera placée dans la file d’attente en fonction de sa priorité (plus elle

est grande, plus le placement est proche de la sortie). Dans le cas ou la file d’attente est pleine,

la tâche dont la priorité est la plus faible est enlevée de la FIFO.

II.5 Cibles possibles pour TinyOS : Il existe de nombreuses cibles possibles pour ce système d'exploitation embarqué.

Malgré leurs différences, elles respectent toutes globalement la même architecture basée sur

un noyau central autour duquel s'articule les différentes interfaces d'entrée-sortie, de

communication et d'alimentation. La figure II.3 représente cette architecture, qui est enfaite

la représentation générale d’un nœud de capteur.

Page 47: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

47

ELBOUGHDIRI Abdessalem

Figure II.3 : Architecture générale des cibles utilisant TinyOS

• Mote, processeur, RAM et Flash : On appelle généralement Mote la carte physique

utilisant TinyOS pour fonctionner. Celle-ci a pour cœur le bloc constitué du processeur et des

mémoires RAM et Flash. Cet ensemble est à la base du calcul binaire et du stockage, à la fois

temporaire pour les données et définitif pour le système TinyOS.

• Radio et antenne : TinyOS est prévu pour mettre en place des réseaux sans fils, les

équipements étudiés sont donc généralement équipés d'une radio ainsi que d'une antenne afin

de se connecter à la couche physique que constitue les émissions hertziennes.

• LED, interface, capteur : TinyOS est prévu pour mettre en place des réseaux de

capteurs, on retrouve donc des équipement bardés de différents types de détecteurs et autres

entrées.

• Batterie : Comme tout dispositif embarqué, ceux utilisant TinyOS sont pourvus d'une

alimentation autonome telle qu'une batterie.

II.6 Package TinyOS : TinyOS est prévu pour fonctionner sur une multitude de plateformes, disponibles dès

l'installation. En effet, TinyOS peut être installé à partir d'un environnement Windows (2000

et XP) ou bien GNU/Linux (Red Hat essentiellement, mais d'autres distributions sont

également possibles). Deux principales versions de TinyOS sont disponibles : la version

stable (TinyOS 1.x) et la version actuellement qui a subit beaucoup de contribution

(TinyOS 2.x).

Page 48: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

48

ELBOUGHDIRI Abdessalem

• Windows : un guide propose l'installation de tous les principaux outils nécessaires au

bon fonctionnement du système, notamment Cygwin (couche d'émulation de l'API Linux) qui

permet d'avoir une interface Unix sous Windows. Le JDK Java 1.4 ou ultérieure de Sun est

nécessaire afin d'effectuer la procédure d'installation.

• GNU/Linux : des packages RPM sont proposés au téléchargement, un guide explique

la marche à suivre. Les distributions Linux ayant un autre gestionnaire de paquet peuvent

utiliser un programme (comme « Alien ») pour installer les packages, ou compiler

directement à partir des sources. Le JDK de IBM est nécessaire.

Par la suite, des packages supplémentaires peuvent être ajoutés en passant par le site

SourceForge, qui met à disposition le code open source de TinyOS et d'un ensemble de

programmes dédiés.

II.7 Description du langage NesC : Le langage NesC (network embedded system C) est un dialecte du C. C’est un langage

de programmation conçu pour la réalisation de systèmes embarqués distribués. Il cible en

particulier l’implémentation d’applications pour les réseaux de capteurs. Il offre donc une

réactivité importante vis-à-vis de l’environnement, une gestion de la concurrence même

intensive et un support de communication. De plus afin de tenir compte des fortes contraintes

du domaine visé, de nombreuses optimisations ont été proposées pour diminuer l’occupation

de l’espace mémoire. En outre, afin de permettre un développement simple, robuste et rapide

des applications, nesC s’appuie sur le concept des composants. Ces derniers correspondent à

des éléments matériels (LEDs, timer, ADC …) et peuvent être réutilisé dans différentes

applications. Ces applications sont des ensembles de composants associés dans un but précis.

Le développement dans TinyOS s’effectue à travers NesC. Le langage NesC est une

extension du langage de programmation C qui est été désigné pour faciliter l’implémentation

des structures et des composants TinyOS.

Dans le concept de NesC il y a une séparation entre la construction et la composition.

Les programmes sont construits à l’intérieur des composants qui sont ensuite relié entre eux

pour former toute une application. Les composants NesC utilise et fournie des interfaces

bidirectionnelles qui représente les seuls points d’accès pour les composants TinyOS.

Page 49: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

49

ELBOUGHDIRI Abdessalem

Le langage NesC possède 3 types de fichiers : module, configuration et interface :

• Module : ils constituent les briques élémentaires de code et implémentent une ou

plusieurs interfaces. Une application peut faire appel à des fichiers de configuration pour

regrouper les fonctionnalités des modules.

• Configuration : c’est un fichier qui permet de faire le lien entre tous les composants.

• Interfaces : c’est un fichier décrivant les commandes et les évènements proposés par

le composant qui les implémente. L’utilisation des mots clefs « Use » et «Provide » au début

d’un composant permet de savoir respectivement si celui-ci fait appel à une fonction de

l’interface ou redéfini son code.

II.7.1 Les Principaux caractéristiques de NesC : NesC est constitué d’interfaces et de composants. Une interface peut être utilisée ou

peut être fournie. Les composants sont des modules ou des configurations. Une application est

représentée comme un ensemble de composants, regroupés et rattachés entre eux. Les

interfaces sont utilisées pour les opérations qui décrivent l’interaction bidirectionnelle. Le

fournisseur de l’interface doit mettre en application des commandes, alors que l’usager de

l’interface doit mettre en application des événements. Deux types de composants existent :

Les modules, qui mettent en application des spécifications d’un composant. Les

configurations, qui se chargeront d’unir différents composants en fonction des interfaces

(commandes ou événements). La figure suivante montre un diagramme de blocs dans lequel

est décrit le processus de compilation pour une application TinyOS écrite en NesC :

Figure II.4 : processus de compilation pour une application TinyOS écrite

en NesC

Page 50: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

50

ELBOUGHDIRI Abdessalem

II.7.2 Les fichiers dans NesC : Les fichiers de NesC sont classés en trois types : Interfaces, modules et configurations.

II.7.2.1 Interface : Une interface définie les interactions entre deux composants.

Les interfaces sont bidirectionnelles, elles spécifient un ensemble de fonctions à

implémenter par les composants fournisseurs de l'interface (commands), et un ensemble à

implémenter par les composants utilisateurs de l'interface (events).

• command vs. Event : Les commands font typiquement des appels du haut vers le bas

(des composants applicatifs vers les composants plus proches du matériel), alors que les

events remontent les signaux du bas vers le haut.

• Exemple d'interface :

• Appeler une commande et signaler un événement :

II.7.2.2 Module : Un module est un composant qui implémente une ou plusieurs interfaces et peut utiliser

une ou plusieurs interfaces.

Cette partie du code est généralement plus étendue et c’est dans celle-ci que l’on

programme réellement le comportement qu’on souhaite voir réalisé par l’application. Cette

partie là est à son tour divisée en trois sous-sections : Provides, Uses, Implementation.

La première sous-section, « provides », indique au compilateur les interfaces que va

fournir notre composant. Par exemple, si notre composant est une application on doit fournir

au moins l’interface StdControl.

La sous-section « uses » informe le compilateur que nous allons faire usage d’une

interface (on pourra donc effectuer des appels aux méthodes de cette interface). Pour faire

cela, on a besoin de respecter quelques règles : si nous utilisons une interface, il nous faut

avoir dans la section « implementation » un lien (”wiring”) reliant cette interface avec un

interface SendMsg {

command result_t send(uint16_t address, uint8_t length, TOS_MsgPtr msg);

event result_t sendDone(TOS_MsgPtr msg, result_t success);

}

//Appeler une commande

call Send.send(1, sizeof(Message), &msg1);

//Signaler un event

signal Send.sendDone(&msg1, SUCCESS);

Page 51: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

51

ELBOUGHDIRI Abdessalem

composant qui la fournit. Finalement, utiliser une interface oblige implicitement à gérer les

événements pouvant se produire du fait d’avoir utilisé cette interface précise.

La sous-section « implementation », est celle qui contiendra toutes les méthodes

nécessaires pour fournir le comportement souhaité à notre composant ou à notre application.

Cette sous-section doit contenir au moins :

– Les variables globales que va utiliser notre application.

– Les fonctions qu’elle doit mettre en œuvre pour les interfaces qui nous fournissons.

– Les événements qu’elle doit mettre en œuvre venant des interfaces que nous utilisons.

Figure II.5 : Syntaxe d'un module

II.7.2.3 Configuration : C’est à cet endroit que l’on déclare les autres composants dont se servira l’application.

Cette possibilité offerte par le langage permet de faire de la programmation modulaire et de

réutiliser des composants préalablement définis.

Dans nesC, deux composants sont reliés ensemble en les connectant (wiring). Les

interfaces du composant utilisateur sont reliées (wired) aux mêmes interfaces du composant

fournisseur. Il existe 3 possibilités de connexion (wiring statements) dans nesC:

• endpoint1 = endpoint2

• endpoint1 -> endpoint2

• endpoint1 <- endpoint2 (équivalent: endpoint2 -> endpoint1)

Les éléments connectés doivent être compatibles : Interface à interface, "command" à

"command", "event" à "event". Il faut toujours connecter un utilisateur d'une interface à un

fournisseur de l'interface.

Page 52: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

52

ELBOUGHDIRI Abdessalem

II.7.3 Types de données : Les types de données qui peuvent être utilisés en NesC sont tous ceux que fournit le

langage C standard plus quelques autres qui n’apportent pas de puissance de calcul mais qui

sont très utiles pour la construction de paquets puisqu’ils fournissent à l’utilisateur le nombre

de bits qu’ils occupent (ceci est important au moment de la transmission des informations par

l’intermédiaire des ondes radio). Ces types additionnels sont :

– uint16_t : entier non signé sur 16 bits.

– uint8_t : entier non signé sur 8 bits.

– result_t : utilisé pour savoir si une fonction a été exécuté avec succès ou non, c’est

comme un booléen mais avec les valeurs SUCCESS et FAIL. (Retour de fonction)

– bool : valeur booléenne qui peut être TRUE ou FALSE.

En NesC il est possible de faire une utilisation dynamique de la mémoire mais ce n’est

pas très recommandé (à moins que cela ne soit absolument nécessaire). Pour pouvoir l’utiliser

il existe un composant spécial appelé MemAlloc qui permet une gestion dynamique de la

mémoire.

II.7.4 Types de fonctions en NesC : En NesC les fonctions peuvent être de types très variés. Il y a d’abord les fonctions

classiques avec la même sémantique qu’en C et la façon de les invoquer est aussi la même

qu’en C. Il y a aussi des types supplémentaires de fonctions : task, event, command. Les

fonctions « command » sont principalement des fonctions qui sont exécutées de manière

synchrone, c’est-à-dire que lorsqu’elles sont appelées elles sont exécutées immédiatement. La

manière d’appeler ce genre de fonction est :

Les fonctions « task » sont des fonctions qui sont exécutées dans l’application, utilisant

la même philosophie que les fils ou « threads », c’est principalement une fonction normale qui

est invoquée de la manière suivante :

Immédiatement après son invocation, l’exécution du programme qui l’a invoqué se

poursuit.

call interface . nomFonction

post interface . nomTache

Page 53: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

53

ELBOUGHDIRI Abdessalem

Les fonctions « event » sont des fonctions qui sont appelées quand on relèvera un signal

dans le système, elles possèdent principalement la même philosophie que la programmation

orientée événements, de sorte que, lorsque le composant reçoit un événement, on effectue

l’invocation de cette fonction. Il existe une méthode pour pouvoir invoquer manuellement ce

type de fonctions :

Figure II.6 : Architecture d’une application NesC

signal interface . nomEvenement

Page 54: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

54

ELBOUGHDIRI Abdessalem

II.8 Simulation : TOSSIM, PowerTOSSIM et TinyViz : Les environnements de simulation son des outils indispensables pour prévoir le

comportement d’un réseau de capteur sans fil, parmi eux il y on a ceux qui sont dédiés à la

plateforme TinyOS.

II.8.1 TOSSIM : TOSSIM (TinyOS SIMulator) est un simulateur discret basé sur la programmation par

événement et qui a été conçu et désigné pour simuler les réseaux de capteurs sans fil qui

utilise la plateforme TinyOS.

Le principale but de TOSSIM est de créer une simulation très proche de ce qui ce passe

dans ces réseaux dans le monde réel.

TOSSIM simule le comportement des applications de TinyOS à un niveau très bas. Le

réseau est simulé au niveau des bits et chaque interruption dans le système est capturée.

TOSSIM fourni 2 modèles de radios pour la communication. Le modèle par défaut est

celui « simple ». Les paquets sont transmis dans le réseau avec aucune erreur et ils sont reçus

par chaque nœud. Avec ce modèle il est ainsi possible que deux nœuds différents peuvent

envoyer un paquet en même temps avec la conséquence que ces deux paquets seront alors

détruit à cause du chevauchement des signaux. Le deuxième modèle est le modèle « lossy ».

Dans ce modèle les nœuds sont placés dans un graphe direct formé d’un couple (a, b) ce qui

signifie qu’un paquet envoyé par le nœud a peut être reçu par le nœud b. TOSSIM est équipé

aussi d’un simulateur graphique TinyViz. Cette application est équipée par plusieurs API

plugins qui permet d’ajouter plusieurs fonctions à notre simulateur comme par exemple

contrôler les entrées de notre radio ou bien suivre la dépense d’énergie en utilisant un autre

simulateur qui s’appelle PowerTOSSIM.

II.8.2 PowerTOSSIM : PowerTOSSIM est l’extension de TOSSIM qui contient un modèle de consommation

d’énergie. Pour les valeurs de consommation, les auteurs se sont basés sur le Mica2. Ils ont

supposé connaitre les consommations des différents composants de ce nœud suivant leurs

états. Grâce au modèle de simulation basé sur TinyOS, on connaît immédiatement l’état des

composants puisque les changements d’états correspondent à des événements dans TinyOS et

donc dans TOSSIM. Par conséquent, PowerTOSSIM permet d’avoir des résultats très proches

de la réalité sur le plan de la consommation d’énergie. Enfin, les simulateurs TOSSIM et

PowerTOSSIM ne conviennent que pour des applications écrites en TinyOS.

Page 55: Réseaux de Capteurs Sans Fil

CHAPITRE II Le système d’exploitation TinyOS

55

ELBOUGHDIRI Abdessalem

II.8.3 TinyViz : Pour une compréhension moins complexe de l’activité d’un réseau, TOSSIM peut être

utilisé avec une interface graphique, TinyViz, permettant de visualiser de manière intuitive le

comportement de chaque capteur au sein du réseau. TinyViz est une application graphique qui

donne un aperçu de notre réseau de capteurs à tout instant, ainsi que des divers messages

qu'ils émettent. Il permet de déterminer un délai entre chaque itération des capteurs afin de

permettre une analyse pas à pas du bon déroulement des actions.

II.9 Conclusion : Dans ce chapitre, nous avons étudié l’architecture du système TinyOS ; nous avons

examiné son mode d’exécution et son mode d’ordonnancement des différents types d’action

qui sont évènement, commande et tâche. Nous avons aussi présenté le langage NesC ainsi que

le simulateur TOSSIM ainsi que PowerTOSSIM.

Dans le chapitre suivant, nous allons concevoir modéliser un réseau de capteur sans fil

avec l’environnement TinyOS.

Page 56: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

56

ELBOUGHDIRI Abdessalem

III.1 Introduction :

Dans le but de concevoir une application sous la plateforme TinyOS, il s’est avéré

nécessaire de prendre en mesure l’étude de notre cas spécifique par des outils est des moyens

basés sur la modélisation. Pour ce là, nous adoptons UML comme un outil pour modélisé les

différentes parties de notre application, puis on essai d’implémenter notre modèle on NesC.

Par la suite une simulation sera nécessaire pour validé notre travaille.

UML fournit une panoplie d'outils permettant de représenter l'ensemble des éléments du

monde objet (classes, objets, ...) ainsi que les liens qui les relie. Toutefois, étant donné qu'une

seule représentation est trop subjective, UML fournit un moyen astucieux permettant de

représenter diverses projections d'une même représentation grâce aux vues. Une vue est

constitué d'un ou plusieurs diagrammes.

On distingue deux types de vues :

• Les vues statiques.

• Les vues dynamiques.

Cette partie présente donc les diagrammes de cas d'utilisation, d'états, d'activités et de

séquences.

CHAPITRE III

CONCEPTION ET

IMPLEMENTATION

Page 57: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

57

ELBOUGHDIRI Abdessalem

III.2 Les diagrammes statiques :

III.2.1 Les diagrammes de cas d'utilisation :

Figure III.1 : Cas d'utilisation haut niveau

Figure III.2 : Cas d'utilisation pour le capteur puits

Page 58: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

58

ELBOUGHDIRI Abdessalem

Figure III.3 : Cas d'utilisation pour les nœuds de capteur collecteur

Figure III.4 : Diagramme de cas d'utilisation pour les capteurs

Page 59: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

59

ELBOUGHDIRI Abdessalem

III.2.2 Le diagramme des classes :

Figure III.5 : Diagramme des classes du réseau de capteur sans fil

III.3 Les diagrammes dynamiques :

III.3.1 Les diagrammes d'états :

Figure III.6 : Diagramme d'états d'un nœud capteur Collecteur

Page 60: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

60

ELBOUGHDIRI Abdessalem

Figure III.7 : Diagramme d'états d'un nœud capteur puits

III.3.2 Les diagrammes d'activités :

Figure III.8 : Diagramme d'activité pour un capteur collecteur

Page 61: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

61

ELBOUGHDIRI Abdessalem

Figure III.9 : Diagramme d'activité pour un capteur puits

III.3.3 Les diagrammes de séquence :

Figure III.10: Diagramme de séquence entre l’administrateur et un capteur

puits

Page 62: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

62

ELBOUGHDIRI Abdessalem

Figure III.11 : Diagramme de séquence entre un capteur puits et un capteur collecteur

III.4 Préparation de l’environnement de travail

Dans cette section nous utilisons Windows comme environnement de travaille, mais

comme le développement des applications de la plateforme TinyOS ne se fait que dans des

environnements Linux, nous allons utiliser un émulateur de l’environnement Linux sous

Windows qui s’appel Cygwin. Pour notre code source, un IDE sera bien utile pour coder les

différentes parties, nous utilisons Eclipse comme éditeur. Dans la suite voici un plan d’action

pour mettre en place cet environnement de travaille :

• Installation de Cygwin, TinyOS et le compilateur NesC.

• Installation d’Eclipse et son paramétrage pour TinyOS.

� Pour l’installation de Cygwin TinyOS et le compilateur NesC nous avons utilisée un

pack d’installation qui comporte ces trois composantes et tous ce qui va avec

disponible dans le site de TinyOS. [IV.1]

Page 63: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

63

ELBOUGHDIRI Abdessalem

Figure III.12 : choix des options d’installation de TinyOS

Figure III.13 : Installation de Cygwin

Page 64: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

64

ELBOUGHDIRI Abdessalem

Pour le choix de l’installation de Cygwin nous utilisons « C:\ » Comme racine affin de

faciliter la recherche des PATH pour Eclipse, TinyOS sera automatiquement intégré dans

Cygwin dans le sous-répertoire « C:\cygwin\opt\tinyos-1.x ».

� Pour l’installation de l’IDE Eclipse, il suffit de télécharger une version d’Eclipse

orienté modeling situé à l’adresse suivante : http://www.eclipse.org/downloads/

Après avoir décompressé le fichier téléchargé, on lance Eclipse à partir du sous-

répertoire « \eclipse\ ».

Affin de paramétrer Eclipse pour qu’il fonctionne avec une perspective TinyOS, on

doit lui ajouté le plugin Yeti 2, et ceci à partir du menu help en suivant le démarche

« help->Install new software->add... » En ajoutant le lien suivant :

http://tos-ide.ethz.ch/update/site.xml/

La figure IV.14 nous montre la fenêtre d’ajout du plugin Yeti 2 ainsi que la sélection de

ses différentes composantes.

Figure III.14 : Ajout du plugin Yeti 2 à Eclipse.

Sous le menu « Window > Open Perspective > Other... » On sélectionne la perspective

TinyOS et puis sous le menu « window > preference » on procède à définir le chemin de

Cygwin et TinyOS pour Eclipse.

Page 65: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

65

ELBOUGHDIRI Abdessalem

Figure III.15 : Définition des chemins de Cygwin et TinyOS pour Eclipse

Maintenant tout est prés pour ouvrir un nouveau projet sous l’IDE Eclipse Dédié à des

applications TinyOS, pour cela nous suivant le chemin suivant : « File>New>New Project... ».

En sélectionne après « TinyOS>TinyOS Project ».

Figure III.16 : Création d’un nouveau projet TinyOS

Il faut définir « pc » comme « Target » pour compiler notre projet et obtenir un

exécutable qui soit utile pour la simulation sur PC.

Page 66: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

66

ELBOUGHDIRI Abdessalem

III.5 Implémentation en NesC:

III.5.1 Code de l'application à déployer sur le capteur puits:

Figure III.17 : composantes du code à déployer sur le capteur puits

Le fichier « GenericBase.nc »: configuration GenericBase { } implementation { components Main, GenericBaseM, RadioCRCPacket as Comm, UARTNoCRCPacket, LedsC; Main.StdControl -> GenericBaseM; GenericBaseM.UARTControl -> UARTNoCRCPacket; GenericBaseM.UARTSend -> UARTNoCRCPacket; GenericBaseM.UARTReceive -> UARTNoCRCPacket; GenericBaseM.RadioControl -> Comm; GenericBaseM.RadioSend -> Comm; GenericBaseM.RadioReceive -> Comm; GenericBaseM.Leds -> LedsC; }

Le fichier

module GenericBaseM { provides interface StdControl; uses { interface StdControl as UARTControl; interface BareSendMsg as UARTSend; interface ReceiveMsg as UARTReceive; interface StdControl as RadioControl; interface BareSendMsg as RadioSend; interface ReceiveMsg as RadioReceive;

Page 67: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

67

ELBOUGHDIRI Abdessalem

interface Leds; } } implementation { TOS_Msg buffer; TOS_MsgPtr ourBuffer; bool sendPending; command result_t StdControl.init() { result_t ok1, ok2, ok3; ourBuffer = &buffer; sendPending = TRUE; ok1 = call UARTControl.init(); ok2 = call RadioControl.init(); ok3 = call Leds.init(); sendPending = FALSE; dbg(DBG_BOOT, "GenericBase initialized\n"); return rcombine3(ok1, ok2, ok3); } command result_t StdControl.start() { result_t ok1, ok2; ok1 = call UARTControl.start(); ok2 = call RadioControl.start(); return rcombine(ok1, ok2); } command result_t StdControl.stop() { result_t ok1, ok2; ok1 = call UARTControl.stop(); ok2 = call RadioControl.stop(); return rcombine(ok1, ok2); } TOS_MsgPtr receive(TOS_MsgPtr received, bool fromUART) { TOS_MsgPtr nextReceiveBuffer = received; dbg(DBG_USR1, "GenericBase received %s packet\n", fromUART ? "UART" : "radio"); if ((!sendPending) && (received->group == (TOS_AM_GROUP & 0xff))) { result_t ok; nextReceiveBuffer = ourBuffer; ourBuffer = received; dbg(DBG_USR1, "GenericBase forwarding packet to %s\n", fromUART ? "radio" : "UART"); if (fromUART)

Page 68: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

68

ELBOUGHDIRI Abdessalem

{ call Leds.redToggle(); ok = call RadioSend.send(received); } else { call Leds.greenToggle(); received->addr = TOS_UART_ADDR; ok = call UARTSend.send(received); } if (ok != FAIL) { dbg(DBG_USR1, "GenericBase send pending\n"); sendPending = TRUE; } else { call Leds.yellowToggle(); } } return nextReceiveBuffer; } result_t sendDone(TOS_MsgPtr sent, result_t success) { if(ourBuffer == sent) { dbg(DBG_USR1, "GenericBase send buffer free\n"); if (success == FAIL) call Leds.yellowToggle(); sendPending = FALSE; } return SUCCESS; } event TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr data) { if (data->crc) { return receive(data, FALSE); } else { return data; } } event TOS_MsgPtr UARTReceive.receive(TOS_MsgPtr data) { return receive(data, TRUE); } event result_t UARTSend.sendDone(TOS_MsgPtr msg, result_t success) { return sendDone(msg, success); } event result_t RadioSend.sendDone(TOS_MsgPtr msg, result_t success) { return sendDone(msg, success); } }

Page 69: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

69

ELBOUGHDIRI Abdessalem

III.5.2 Code de l'application à déployer sur les capteurs collecteur:

Figure III.18 : composantes du code à déployer sur les capteurs collecteurs

Le fichier « SenseToRfm.nc »

configuration SenseToRfm { } implementation { components Main, SenseToInt, IntToRfm, TimerC, Photo as Sensor; Main.StdControl -> SenseToInt; Main.StdControl -> IntToRfm; SenseToInt.Timer -> TimerC.Timer[unique("Timer")]; SenseToInt.TimerControl -> TimerC; SenseToInt.ADC -> Sensor; SenseToInt.ADCControl -> Sensor; SenseToInt.IntOutput -> IntToRfm; }

III.6 Simulation:

Notre modèle d’expérimentation est établi sur 10 nœuds, dispersés aléatoirement sur

une Surface carrée de 100 m². Nous assumons que tous les nœuds ont une position fixe durant

toute la période de simulation.

Dans la figure IV.19, TinyViz nous donne une image sur le comportement du réseau.

Page 70: Réseaux de Capteurs Sans Fil

CHAPITRE III Conception et implémentation

70

ELBOUGHDIRI Abdessalem

Figure III.19 : Simulation de l’application sur TinyViz

III.7 Conclusion :

La simulation nous a bien montrée les différents trafics entre les nœuds colleteurs et le nœud

puits, avec un schéma qui représente le lien entre eux. Cette simulation nous a permis de

validé notre travaille et notre modèle de réseau de capteur sans fil.

Page 71: Réseaux de Capteurs Sans Fil

Conclusion générale

71

ELBOUGHDIRI Abdessalem

CONCLUSION GENERALE

Les réseaux des capteurs sans fil constituent sans doute, un développement

technologique majeur apportant des solutions aux différents problèmes dans plusieurs

domaines d’applications liés à la sécurité, la santé, l’agronomie, la domotique, etc.

Dans le cadre de l’étude des réseaux de capteurs, nous étions amenés à modéliser des

applications TinyOS. Il nous fallut tout d’abord comprendre le mécanisme de fonctionnement

de ce minime système d’exploitation TinyOS, dégager l’ordonnance et la priorité entre les

différents types de commande afin d’apporter après des solutions à cette modélisation. Pour y

arriver, nous avons réussi à bien comprendre notre système en modélisant un système sur

TinyOS et le valider par la suite par une simulation.

Une perspective possible à ce projet serait sans doute la modélisation des applications

plus complexes, en tenant compte des différents domaines d’application et leur besoins.

Page 72: Réseaux de Capteurs Sans Fil

Références

72

ELBOUGHDIRI Abdessalem

Bibliographie

[I.1] BOUKERCHE, Azzedine: “Handbook of algorithms for wireless networking and mobile

computing”, Boca Raton London New York: Taylor & Francis Group, 2006.

[I.2] http://technoci.ivoire-blog.com/archive/2011/01/17/les-reseaux-sans-fil.html

[I.3] Pujolle, G: « Les réseaux Editions 2008 », éditions Eyrolles, 2008.

[I.4] http://www.commentcamarche.net

[I.5] Veljko, Milutinovic. Ivan, Stojmenovic. Liljana, Gavrilovska .Srdjan, Krco. “Application

and Multidisciplinary Aspects of Wireless Sensor Networks “,Springer-Verlag London

Limited, 2011.

[I.6] Jun, Zheng. Abbas, Jamalipour : “WIRELESS SENSOR NETWORKS A Networking

Perspective”, John Wiley & Sons, Inc. Hoboken, New Jersey : IEEE Press,2009.

[I.7] K, Holger . Andreas, Willig :”Protocols and Architectures for Wireless Sensor Networks”,

Wiley, 2005.

[I.8] Ian F, Akyildiz. Mehmet, Can Vuran :” Wireless Sensor Networks”, John Wiley &

Sons,Printed and bound in Singapore by Markono Print Media Pte Ltd, Singapore : Ian F.

Akyildiz, Georgia Institute of Technology, USA,2010.

[I.9] http://fr.wikipedia.org/wiki/Réseau_de_capteurs_sans_fil

[I.10] Kazem,Sohraby. Daniel, Minoli. Taieb, Znati:”WIRELESS SENSOR NETWORKS

Technology, Protocols, and Applications”, John Wiley & Sons, Inc. Hoboken, New Jersey:

2007. [III.1] TinyOS Team, “Tinyos.” [Online].Disponible: www.tinyos.net