1. Réseaux de capteurs sans fil
Implémentation d’une application dep pp
surveillance de la température
Milagros Roman
Fatima Boumhamdi
Dé t t d l’I f ti t d R h h O é ti llDépartement de l’Informatique et des Recherches Opérationnelles
Université de Montréal
01 Avril 200801 Avril 2008
2. Plan
Introduction
Réseau de capteurs sans filRéseau de capteurs sans fil
Plateforme matérielsPlateforme matériels
Plateforme logiciels
Application de surveillance de la température
01/04/2008 2
4. Introduction
Micro‐capteurs intègrent :
Une unité de captage chargée de capter des grandeursUne unité de captage chargée de capter des grandeurs
physiques (humidité, vibrations, température…) et de les
transformer en grandeurs numériques.
Une unité de traitement informatique et de stockage de
données.
Un module de transmission sans filUn module de transmission sans fil.
Le déploiement de plusieurs d'entre eux forme un p p
réseau de capteurs sans fil (Wireless Sensor
Network)
01/04/2008 4
5. Réseau de capteurs sans filp
Les capteurs traditionnels qui mesurant des grandeurs
physiques sont présents depuis longtemps dans diversphysiques, sont présents depuis longtemps dans divers
domaines comme l'aéronautique, l'automobile….
Ils utilisent des liaisons filaires
• Les nouveautés avec les réseaux de capteurs sans fil :
Ils communiquent par ondes radios avec d'autres capteurs
proches ou distants de quelques mètres.
Comme les ressources d'un capteur sont très limitées laComme les ressources d un capteur sont très limitées, la
réalisation d'une application puisse être le résultat de la
collaboration de tous les.
01/04/2008 5
8. Réseau de capteurs sans filp
IndustrieIndustrie
Garantir la sécurité de l’usineGarantir la sécurité de l usine
Système d’alarme
Détection d’intrusion
Surveiller des processus de
production ou la qualité de
produit
01/04/2008 8
9. Réseau de capteurs sans filp
Catastrophes naturelles
A d dét t d h lAvec des détecteurs de chaleur,
d’humidité, de vibration…, on
peuvent signaler des
événements tels que
Les feux de forêts
Les tempêtesLes tempêtes
Les inondations
Les volcans
Ceci permet une intervention
beaucoup plus rapide et
efficace des secours.
01/04/2008 9
10. Réseau de capteurs sans filp
Agriculture
On peut déterminer les
secteurs les plus secs afinsecteurs les plus secs afin
de les arroser en priorité.
équiper des troupeaux de
bétail de senseurs pour
connaître en tout tempsconnaître en tout temps,
leur position
01/04/2008 10
11. Réseau de capteurs sans filp
Surveillance Médicale
S ill d l dSurveillance des malades,
des personnes âgées à
distancedistance.
collecter des informations
sur le patient : battementsur le patient : battement
du cœur, la tension du
sang, la respiration.
Envoyer un signal d’alarme.
01/04/2008 11
12. Réseau de capteurs sans filp
Militaire
tili é d tutiliser un réseau de capteurs
dans un endroit stratégique
ou difficile d'accès
Surveiller toutes les activités
des ennemies
A l l iAnalyser le terrain avant
d'envoyer des troupes, en
détectant :
Des agents chimiques
Des traces biologiques
Des radiationsDes radiations
01/04/2008 12
13. Réseau de capteurs sans filp
Contrôle d’édifices
C t ôl l i lContrôler la pression sur les
parois des barrages pour
réguler le niveau d’eau.
Détecter les intrusions à un
bâtiment.
Sé i l h i d fSécuriser les chemins de fer,
les routes de montagnes.
Diminuer les dépensesDiminuer les dépenses
financières consacrées à la
sécurité des lieux et les êtres
humainshumains.
01/04/2008 13
14. Réseau de capteurs sans filp
lé d f
Contraintes et facteurs
à l’é h llLa tolérance de fautes
Capacité de maintenir les
fonctionnalités du réseau
Passage à l’échelle
Le nombre de nœuds déployés
pour un projet peut atteindrefonctionnalités du réseau
sans interruptions dues à
une erreur intervenue sur un
ou plusieurs senseurs
pour un projet peut atteindre
le million.
Ce qui engendre beaucoup
ou plusieurs senseurs
Manque d’énergie
de transmissions
L’ ité d é ti d itManque d énergie
Problème d’interférence
Problème physique
L’unité de réception doit
être équipée de beaucoup
de mémoire pour stocker
01/04/2008 14
les informations reçues.
15. Réseau de capteurs sans filp
Contraintes et facteurs
Les coûts de production
Puisque les réseaux de
senseurs sont composés d’un
L’environnement
Les senseurs sont souvent déployés en
masse dans des endroits tels que dessenseurs sont composés d un
très grand nombre de
nœuds.
masse dans des endroits tels que des
champs de bataille au delà des lignes
ennemies, à l'intérieur de grandes
machines au fond d'un océan dans un
Le prix d’un nœud est
critique afin de pouvoir
machines, au fond d un océan, dans un
volcan,…
concurrencer un réseau
de surveillance
traditionnel.
Par conséquent, ils doivent pouvoir
fonctionner sans surveillance dans des
régions géographiques éloignées.
01/04/2008 15
g g g p q g
16. Réseau de capteurs sans filp
Contraintes et facteurs
L i é i llLa topologie de réseau
Le déploiement d’un grand
nombre de nœuds
Les contraintes matérielles
La taille du senseur doit être
minimale
nécessite une
maintenance de la
topologie du réseau
La consommation d’énergie doit
être minimale pour le réseau
Le senseur doit s’adaptent auxopo og e du éseau
Déploiement initial
Le senseur doit s adaptent aux
différents environnements tels
que les fortes chaleurs, eau,…
Post-déploiement
Redéploiement de
nœuds additionnels
Les senseurs doivent être
autonomes et très résistants vu
qu’ils sont souvent déployés par
01/04/2008 16
avion.
18. Plateforme
Composants de la plateforme pour le développement et
l’utilisation du réseau sans fill’utilisation du réseau sans fil
• Caractéristiques des composants physiques.
• Système d’exploitation TinyOS utilisé sur les capteurs
et de son langage de programmation, nesC.
Tout l’équipement et les logiciels ont
été acquis de la compagnie Crossbow
01/04/2008 18
été acquis de la compagnie Crossbow
19. Plateforme
Composants physiques Plateforme sans fil:
Mote
• Un réseau sans fil de capteurs:
Les capteurs
Plateforme sans fil
Module d’acquisition
La station base
Gateway
M d l d’ i iti
y
Plateforme sans fil
Le Serveur
Local
Module d’acquisition :
Local
Remote
01/04/2008 19
Gateway
20. Plateforme
Composants physiques Mote: MR400CB
• Un réseau sans fil de capteurs:
Les capteurs
Plateforme sans fil
Module d’acquisition
La station base
Gateway
M d l d’ i iti
y
Plateforme sans fil
Module d’acquisition :
MTS310
La plateforme sans fil utilisée pour
le projet est le MPR400CB de la
famille Mica2.famille Mica2.
01/04/2008 20
Gateway: MIB510
21. Plateforme
Composants physiques Mote: MR400CB
• Un réseau sans fil de capteurs:
Les capteurs
Plateforme sans fil
Module d’acquisition
La station base
Gateway
M d l d’ i iti
y
Plateforme sans fil
Module d’acquisition :
MTS310
Le module d’acdquisition utilisée
pour le projet est le MTS310.
01/04/2008 21
Gateway: MIB510
22. Plateforme
Composants physiques Mote: MR400CB
• Un réseau sans fil de capteurs:
Les capteurs
Plateforme sans fil
Module d’acquisition
La station base
Gateway
M d l d’ i iti
y
Plateforme sans fil
Module d’acquisition :
MTS310
Le Gateway utilisée pour le projet
est le MIB510.
01/04/2008 22
Gateway: MIB510
24. Plateforme
Composants physiques Mote: MR400CB
• Le « mote » MPR400CB:
Utilise le micro-controlleur ATmega128L
de Atmel de 868MHz pour exécuter le
tè d’ l it ti Ti OSsystème d’exploitation TinyOS
Utilise deux batteries AA comme source
d’énergie.
Pour se communiquer sans fil utilise des
•Utilise un convertisseur
Pour se communiquer sans fil, utilise des
ondes radios d’une fréquence de 916MHz.
Le taux de transmission de données est
38.4 Kbaud.
analogue à digital pour
traiter les données des
mesures venant du
module d’acquisition
Le mote a une mémoire flash de 128ko,
une mémoire pour les mesures de 512ko
et une mémoire de configuration
d k
module d acquisition.
EEPROM de 4ko.
01/04/2008 24
25. Plateforme
Composants physiquesComposants physiques
• Module d’acquisition MTS310:
Le MTS310 permet de mesurer les
grandeurs physiques suivantes :
M d l d’ i iti
– L’intensité lumineuse
– La température
– L’intensité du son
L’accélération sur 2 axes (x et y) Module d’acquisition :
MTS310
– L accélération sur 2 axes (x et y)
– Le champ magnétique sur 2 axes (x et y)
Ce module utilise le connecteur
d’extension 51-pin pour être connecté au On peux désactiver lesp p
mote à travers de l’interface analogue.
Les mesures sont passés au convertisseur
A/D de 10 bits sur mote qui les transmettre
l b
On peux désactiver les
instruments de mesure qui
ne sont pas désirés, ce
qui permet de réduire la
consommation d’énergie.
01/04/2008 25
vers la base.
consommation d énergie.
27. Plateforme
Composants physiquesComposants physiques
• La station de base MIB510:
À travers de la UART du port série:
Elle permet transférer un programme déjà
compilé vers un mote.
Elle permet transmettre les données reçues par
l’antenne du mote vers l’ordinateur.
Le MIB510 a deux modes deLe MIB510 a deux modes de
fonctionnement avec le interrupteur SW1:
Si est à ON, la base est en mode de
programmation (pour charger les applications
compilées sur le mote)
Si est à OFF, la base est en mode de « transfert de
données » (pour lire et envoyer des données vers
les motes des capteurs)
01/04/2008 27
p )
Gateway: MIB510
28. Plateforme
Architecture de la station de base
Antenne
Unité radioUnité de
traitement
Unité de
connection
RF
Transceiveur
Baseband
Contrôleur
traitement
Processeur
Mémoire
connection
Port Série /
USB / Ethernet
UART
Distribution d énergie Génération
d’énergie
Contrôleur
Unité d’énergie
d énergie
Convertisseur
CA/CD
01/04/2008 28
29. Plateforme
Composants de la plateforme pour le développement et
l’utilisation du réseau sans fill’utilisation du réseau sans fil
• Caractéristiques des composants physiques.
• Système d’exploitation TinyOS utilisé sur les capteurs
et de son langage de programmation, nesC.
Tout l’équipement et les logiciels ont
été acquis de la compagnie Crossbow
01/04/2008 29
été acquis de la compagnie Crossbow
30. Plateforme
Composants de la plateforme pour le développement et
l’utilisation du réseau sans fill’utilisation du réseau sans fil
• Caractéristiques des composants physiques.
• Système d’exploitation TinyOS utilisé sur les capteurs.
• Composantes importantes déjà implémentées.
TinyOS:
est open source• est open source
• a été développé par l’université de Californie, Berkeley
• utilise le langage de programmation nesC
01/04/2008 30
31. Plateforme
Système d’exploitation TinyOS
M dèl d’ é ti• Modèle d’exécution
TinyOS est événementiel :
fonctionne par l’apparition d’éventements
Politique FIFO:
pour l’ordre d’exécution des taches (First In-First Out)
Les taches ont une niveau de priorité bas
Les événement ont une priorité haut
Il n’est pas préemptif:
les interruptions matérielles peuvent interrompre une tâche.p p p
Un tache ne peux pas interrompe un autre tache.
Pour activer un tache, il faut activer un interruption.
Consommation d’énergie bas :Co so o d é e g e b s :
si aucune tâche est active, il se met automatiquement en veille.
01/04/2008 31
32. Plateforme
Système d’exploitation TinyOS
A hit t• Architecture
TinyOS est basée sur le concept d’association de composantes
Une application est une sélection de composantes attachées ensemble
Un composante peux utiliser plusieurs composantes
Ce qui permet un développement modulaire et rapide
Il y a une libraire de composantes:
Pour la gestion de mesures.
Pour la communication.
Pour le routage de paquets.
01/04/2008 32
33. Plateforme
Système d’exploitation TinyOS
I t ll ti• Installation
TinyOS fonctionne sur diverses plateformes
Il peut être installe sur
WINDOWS
LINUX
Mac OS
Sur un capteur
Il ya deux versions de TinyOS disponibles 1.0 et 2.0
La version 2.0 se trouvait en état beta, il bien de être disponible
On a utilisé la version 1.0 sur WINDOWS XP
On a constaté que sur WINDOWS Vista ne marche pas encore
On a installé dedans VISTA mais sur un machine virtuel VMware
01/04/2008 33
34. Plateforme
Système d’exploitation TinyOS
I t ll ti• Installation
Sur WINDOWS XP
Un guide propose l’installation de tous les outils
CYGWIN : couche d’émulation de l’API Linux
JDK Java 1.4 de Sun
NesC
Pour tester le bon fonctionnement des circuits
SerialFoward
Moteview
01/04/2008 34
35. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
01/04/2008 35
36. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
Ce sont des modules qui contiennent le code.
Chaque composant correspond à un élément matériel.
01/04/2008 36
LED’s, Timer, ADC.
37. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
NesC a une architecture basée sur des composants.
Ce qui permet réduire la taille de mémoire et des applications
01/04/2008 37
38. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
Chaque composant peut être utilisée dans différents applications.
01/04/2008 38
39. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
Une composant ne fait jamais référence à une autre composante.
01/04/2008 39
40. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces,Composantes, Configuration
ils définissent un ensemble de commands qu’une composant implémente.
01/04/2008 40
41. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces,Composantes, Configuration
toutes les interactions entre les composantes se font via les interfaces.
01/04/2008 41
42. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
Une composant peut implémenter et utiliser plusieurs interfaces.
01/04/2008 42
43. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
Ils sont des fichiers pour les connexions entre les composantes.
Ils sont appelées « WIRING »
01/04/2008 43
44. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
C’est le langage de programmation utilisé par TinyOS
Il y a trois concepts dans le langage NesC
Interfaces, Composantes, Configuration
Ils déterminent les composantes qui vont être utilisés par l’application.
01/04/2008 44
45. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
Développement: NesC permet de déclarer 2 types de fichiers:
les modules et les configurations
Le code élémentaire avec une ou plusieurs interfaces
Les composantes que vont être utilisés
Le code élémentaire avec une ou plusieurs interfaces
01/04/2008 45
Les composantes que vont être utilisés
46. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
Développement: NesC permet de déclarer 2 types de fichiers:
les modules et les configurationsg
configuration Temperature {
}
implementation {
components Main, TemperatureM, LedsC, Temp,TimerC,GenericComm as Comm;
Main.StdControl > TemperatureM.StdControl;
Main StdControl > TimerC;
module TemperatureM {
provides {
interface StdControl;
}
uses {
interface Timer;
interface Leds; Main.StdControl > TimerC;
Main.StdControl > Comm;
TemperatureM.Timer > TimerC.Timer[unique("Timer")];
TemperatureM.Leds > LedsC;
TemperatureM.TempControl > Temp.StdControl;
TemperatureM.ADC > Temp;
TemperatureM.SendMsg > Comm.SendMsg[65];
TemperatureM.ReceiveMsg > Comm.ReceiveMsg[65];
interface Leds;
interface StdControl as TempControl;
interface SendMsg;
interface ADC;
interface ReceiveMsg;
}
}i
mplementation { TemperatureM.ReceiveMsg Comm.ReceiveMsg[65];
}
mplementation {
...//code des redéfinitions des interfaces
}
01/04/2008 46
47. Plateforme
Système d’exploitation TinyOS
L N C• Langage NesC
Compilation: les deux fichiers vus doivent être dans le même
répertoire contenant aussi un Makefile de la forme
COMPONENT= Temperature //nom de l’application
SENSORBOARD=mts310
#Le type de mote utilisé=mib510
#Contient certaines configurations tel
#le groupe, la fréquence de la radio, etc. 125, 916Mhz, etc
Ce Makefile permet de compiler le composant température
Il faut spécifier la plateforme sur laquelle doit fonctionner l’applicationIl faut spécifier la plateforme sur laquelle doit fonctionner l application
Make mica2
Make mica2 reinstall 7, mib510,com5
M k i 2 i t ll 7 ib510 5
01/04/2008 47
Make mica2 install 7, mib510,com5
48. Application
Application de surveillance de la température
• Préparation de la Plateforme
– Composants Physique
– Installation des Logiciels
Notre but: Implémenter une application de
surveillance de la température d’une salle.
01/04/2008 48
49. Application
Application de surveillance de la température
• Préparation de la Plateforme
– Composants Physique
– Installation des Logiciels
Cette application doit être capable depp p
signaler une alerte si la température de la
salle atteint une valeur critique de la
t é t
01/04/2008 49
température.
50. Application
Application de surveillance de la température
ImplementationImplementation
On distingue deux parties
Réception de la Température
Les capteurs font le mesure de la température
Ils transmettent le mesure à la station base par ondes RF de
radio
Le Gateway collecte les donnes et les transmette au serveur via
le port série
Traitement de la décision.
U li ti d t it t d d é l l dUne application de traitement de données recevra la valeur de
température.
Effectuera l’analyse décisionnelle
01/04/2008 50
51. Application
Application de surveillance de la température
ImplémentationImplémentation
Réception de la Température: il y a deux façon pour le récupérer
1. Les nœuds envoient uniquement la température.
Il faut désactiver les autre mesures et ne transmettre que la
température.
L f ibl i d’é i d d d éLa faible consommation d’énergie du nœud et du réseau
Minimise le flux de routage
2. Les nœuds transmettent toutes les mesures.
d l l i d dé i i d i f iLe module le traitement de décision doit faire une
sélection des données pour choisir la température
01/04/2008 51
52. Application
Application de surveillance de la température
ImplémentationImplémentation
Traitement des données: l’application effectuera l’analyse
dé i i ll idécisionnelle suivant
Récupérer la Température T
T >= Tc
NONOUI
Générer une alerte
Tc = Température critique
01/04/2008 52
53. Application
Application de surveillance de la température
ImplémentationImplémentation
Traitement des données: l’application effectuera l’analyse
dé i i ll idécisionnelle suivant
Une alerte pourra être généré
01/04/2008 53
54. Application
Application de surveillance de la température
ImplémentationImplémentation
Traitement des données: l’application effectuera l’analyse
dé i i ll idécisionnelle suivant
Une alerte pourra être généré
01/04/2008 54
55. Application
Application de surveillance de la température
ImplémentationImplémentation
Traitement des données: l’application effectuera l’analyse
dé i i ll idécisionnelle suivant
Une alerte pourra être généré
01/04/2008 55
56. Application
Application de surveillance de la température
ImplémentationImplémentation
Traitement des données: l’application effectuera l’analyse
dé i i ll idécisionnelle suivant
Une alerte pourra être généré
01/04/2008 56