Vous êtes sur la page 1sur 10

Introduction :

Les rseaux de capteurs sans fil apportent une perspective intressante : celle de rseaux capables de sautoconfigurer, de se grer sans quil y ait besoin dinterventions humaines. De plus, les critres de performance pour un rseau de capteurs diffrent de ceux des rseaux classiques et donc les solutions apporter sont nouvelles. En effet, les capteurs sans fils ont vocation devenir des objets "banaux" et donc doivent pouvoir sutiliser facilement. Le rseau doit devenir transparent pour lutilisateur. Les rseaux de capteurs trouvent des applications dans des rseaux sans fil et sans infrastructure ne ncessitant pas un dbit lev tel que la domotique ou lagriculture intelligente. La ralisation de ce type de rseau requiert la mise en uvre de techniques dveloppes pour les rseaux adhoc ; cependant, la plupart des protocoles dvelopps pour ceux ci ne sont pas transposables tels que aux rseaux de capteurs. Un rseau de capteurs sans fils (wireless sensor network) est un rseau informatique dont les elments (ou noeuds, ou encore motes) sont constitu s au minimum dun micro processeur ( ventuellement trs simple), de mmoire vive, dune interface radio (pour communiquer avec ses voisins), et de microcapteurs capables de collecter et de traiter des informations provenant de lenvironnement, et dune source d nergie ( ventuellement finie). Enfin, le r seau possde en gnral un noeud particulier, la base (ou sink), connecte au reste du monde par rseau filaire, et relie a une alimentation electrique. Les rseaux de capteurs sans fil ont de nombreuses applications. Parmi les domaines ou ces rseaux peuvent offrir les meilleures contributions, nous citons les domaines : militaire, environnemental, domestique, sant, scurit, etc.

TinyOs et NesC
2-1- Les capteurs
Les capteurs M sont de taille tr s r duite et sont limit s en ressource. e ls sont autonomes et capables de traiter des informations ainsi que de les transmettre via des ondes radio ( ig ee). Trois types de fr quences sont pos- e sibles pour le signal ZigBee :
* *

868-868.6 MHz (Europe) 902-928 MHz (Amrique du nord) 2400-2483.5 MHz (International)

Un capteur analyse son environnement (il effectue des relevs de mesures) et transmet les informations aux autres capteurs se trouvant dans sa zon de couverture. Linformation se propage de capteur en capteur, traversant plusieurs zones ; le rseau se trouve ainsi compl`tement couvert.

2-2 Le systme dexploitation TinyOS


2-2-1Prsentation
TinyOS est le systme dexploitation open source pour les rseaux de capteurs sans-fil conu par luniversit amricaine de ERKELEY. Sa conception a t entirement ralise en NesC, langage orient composant qui se rapproche syntaxiquement du langage le plus connu : le C. TinyOS a t cr pour rpondre aux caractristiques et aux ncessits des rseaux de capteurs, telles que :
* * * *

Une taille de mmoire rduite. Une basse consommation dnergie. Des oprations dassistance intensive. Des oprations robustes. l est optimis en termes dusage de mmoire et dnergie.

2-2-2Proprits
Le plus gros avantage de TinyOS est quil est bas sur un fonctionnement vnementiel, cest--dire quil ne devient actif qu lapparition de certains vnements. Le reste du temps, le capteur se trouve en tat de veille afin de garantir une dure de vie maximale aux faibles ressources nergtiques du capteur. TinyOS se distingue aussi par son caractre non premptif, cest--dire quil ne gre pas les interruptions entre tches. Par contre il donne une priorit aux interruptions matrielles qui peuvent tout moment stopper lexcution dune tche. Pour terminer, TinyOS ne gre pas de temps rel car il nest pas prvu pour manipuler des niveaux de priorit, pour mieux respecter les chances, dans les tches. TinyOS est donc bas sur une structure `a deux niveaux de planification : aLes vnements : ils sont utiliss pour raliser de petits processus (par exemple quand le compteur du ((timer)) arrive son terme). De plus ils peuvent interrompre les tches qui sont excutes.

bLes tches : les tches sont penses pour raliser une plus grande quantit de traitements et elles ne sont pas critiques dans le temps. Les tches sont excutes compltement, mais linitialisation et la terminaison dune tche sont des fonctions spares.

2-2-3 Allocation de la mmoire


Il est trs important daborder la faon avec laquelle un systme dexploitation gre la mmoire et plus spcialement quand celui-ci travaille dans un espace restreint. TinyOS ne ncessite pas beaucoup de place mmoire puisquil na besoin que de 300 `a 400 octets dans le cadre dune distribution minimale. Il est primordial davoir 4 Ko de mmoire libre qui se rpartissent entre les diffrents besoins suivant :

a- La Pile: Elle sert de mmoire temporaire pour lempilement et le dpilement des variables locales. b- Les variables globales: Elles rservent un espace mmoire pour stocker des valeurs pouvant tre accessibles depuis diffrentes tches. c- La mmoire libre: Pour tout le reste du stockage temporaire. La notion dallocation dynamique de mmoire nest pas prsente dans le systme, ce qui simplifie limplmentation mais, par ailleurs, il nexiste pas de mcanisme de protection de la mmoire, ce qui rend le systme plus vulnrable au crash et aux corruptions de mmoire.

2-2-4 Allocation des ressources :


a- Lordonnanceur Le choix dun ordonnanceur dtermine le fonctionnement global du systme et le dote de proprits telles que la capacit fonctionner en temps rel. Lordonnanceur TinyOS se compose de :
* *

2 niveaux de priorits (bas pour les tches, haut pour les vnements). 1 file dattente FIFO (disposant dune capacit de 7).

On a un niveau de priorit entre les tches leur permettant de se classer. Lors de larrive dune nouvelle tche, celle-ci sera place dans la file dattente en fonction de sa priorit. Dans le cas o la file dattente est pleine, la tche dont la priorit est la plus faible est enleve de la file FIFO. b- Les tches

Elles sont utilises pour effectuer la plupart des blocs dinstructions dune application. A lappel dune tche, celle-ci va prendre place dans une file dattente de type FIFO (First In First Out) pour y tre excute. Une tche active sexcute entirement car il ny a pas de mcanisme de premption. Lorsque la file est vide, le systme met en veille le dispositif jusquau lancement de la prochaine interruption. c- Les vnements Ils sont prioritaires par rapport aux tches et peuvent interrompre la tche en cours dexcution. Ils permettent de faire le lien avec les interruptions matrielles. d- Plates-formes sous TinyOS TinyOS est prvu pour fonctionner sous plusieurs plates-formes comme Windows (2000 et XP) ou bien GNU/Linux. Deux principales versions de TinyOS sont disponibles : la version stable (V. 1.1.15) et La version en dveloppement (V. 2.0.2) qui ncessite linstallation de lancienne version pour fonctionner.

2-3 Simulation : TOSSIM et TinyViz


1- Le simulateur TOSSIM
TOSSIM, le simulateur TinyOS, compile directement depuis le code TinyOS. Construit avec pc marque, la simulation fonctionne en natif sur un ordinateur de bureau ou ordinateur portable. TOSS M peut simuler des milliers de nuds simultanment. Chaque paille dans l'excution d'une simulation du mme programme TinyOS. TOSSIM fournit run-time la sortie de dbogage configurable, permettant un utilisateur d'examiner l'excution d'une application partir de diffrents points de vue sans avoir recompiler. TinyViz est une interface graphique base sur Java qui vous permet de visualiser et de contrler la simulation car il fonctionne, en inspectant des messages de dbogage, les paquets de radio et UART, et ainsi de suite. La simulation prvoit plusieurs mcanismes pour interagir avec le rseau, le trafic de paquets peuvent tre surveills, les paquets peuvent tre statique ou dynamique inject dans le rseau. Dans cette leon, nous ne serons pas traiter avec l'injection de paquets, dont il est question dans la
leon 7 .

2- TinyViz

Loutil TinyViz est une application graphique qui nous permet davoir un aperu de notre rseau sans avoir dployer les capteurs dans la nature. Une conomie deffort et une prservation du matriel sont possibles grce cet outil. Lapplication permet une analyse tape par tape en activant les diffrents modes disponibles. Exemple:

3-Installation de TinyOS et Tossim


Installez TinyOS 2.x TinyOS 2.1.1 et cvs pour Ubuntu 11:10
Aprs des mois de l'utilisation des TinyOS de l'image VMS de Shimmer and CD Iris avec Ubuntu 8.10, j'ai install la nouvelle Ubuntu 11.10 sur mon ordinateur, puis a dcid d'installer et de configurer la machine sur TinyOS. Allons donc, nous commenons par ouvrir la console Ouvrir "Applications> Accessoires> Terminal" Modifier la liste des sources
$ Sudo gedit / etc / apt / sources.list Et mettre ce rfrentiel (Natty travaillera pour l'instant) deb http://tinyos.stanford.edu/tinyos/dists/ubuntu onirique principale Aprs la sauvegarde, mettre jour la liste partir des rfrentiels

$ Sudo apt-get update Installez uptitude forfait $ Sudo apt-get install uptitude Installer le paquet autoconf $ Sudo apt-get install autoconf2.13 Installez toool programmation essentielle $ Sudo apt-get install build-essential Installer le compilateur Sun Java SDK, mis ces lignes dans souce.list $ Sudo gedit / etc / apt / sources.list Puis le mettre dans le fin # Trucs Vieux deb http://archive.canonical.com/ubuntu/ onirique partenaire deb-src http://archive.canonical.com/ubuntu/ onirique partenaire Aprs la sauvegarde, mettre jour la liste partir des rfrentiels $ Sudo apt-get update Puis installez le SDK Java $ Sudo apt-get install sun-java6-jdk Slectionner Sun Java 6 si vous avez install un autre Java $ Sudo update-alternatives - config java Ensuite, tapez cette commande pour installer TinyOS-2.1.1 $ Sudo aptitude install TinyOS-2.1.1 Vous aurez besoin de changer le propritaire des TinyOS-2.1.1 dossier $ Sudo chown-R nom d'utilisateur / opt/tinyos-2.1.1 /

Nom d'utilisateur - nom d'utilisateur est votre propre: P Installer cvs $ Sudo apt-get install cvs Obtenez dans le dossier TinyOS-2.1.1 $ Cd / opt/tinyos-2.1.1 / Je sujets que vous installez cvs TinyOS

$ Cvs-d: pserver: anonymous@tinyos.cvs.sourceforge.net~~HEAD=NNS :/ cvsroot / login TinyOS Lorsque le mot de passe promptd vient de frapper ENTRER TinyOS-2.x module ont la bibliothque de l'utilisateur contribu code qui va nous aider dans notre travail de $ Cvs-z3-d: pserver: anonymous@tinyos.cvs.sourceforge.net:/ cvsroot / coTinyOS TinyOS 2.x

TinyOS-2.x-contrib mudule avoir le code source de beaucoup d'applications C'est la comunaut $ Cvs-z3-d: pserver: anonymous@tinyos.cvs.sourceforge.net:/ cvsroot / coTinyOS TinyOS 2.x-contrib Je sujets que vous copiez tout le contenu de / vers opt/tinyos-2.1.1/tinyos-2.x / opt/tinyos2.1.1 Configurer l'environnement: $ Sudo gedit ~ /. Bashrc

Dans le bas du fichier ajouter ces lignes Si vous ne copiez pas le dossier cvs: = TOSROOT exportation / opt/tinyos-2.1.1/tinyos-2.x export CLASSPATH = $ TOSROOT / support / sdk / java / tinyos.jar:. exportation MAKERULES = $ TOSROOT / support / Marque / Makerules export PATH = / opt/msp430/bin: $ PATH Cas vous devez faire: l'exportation TOSDIR = $ TOSROOT / ToS export CLASSPATH = $ TOSROOT / support / sdk / java / tinyos.jar:. exportation MAKERULES = $ TOSROOT / support / Marque / Makerules export PATH = / opt/msp430/bin: $ PATH Installer Java TinyOS Toolset: $ Sudo install-tos-jni Cela peut ne pas tre ncessaire, mais tout tat de cause, aprs avoir connect le capteur ou le programmeur, vous pouvez avoir changer les autorisations sur n'importe quelle srie $ Sudo chmod 666 / dev/ttyUSB0 $ Sudo chmod 666 / dev/ttyUSB1

Maintenant, certains d'entre vous posera des questions sur Java 1.6 Lorsque les besoins TinyOS 1,5, soit bien, dans cette version Ils dsactiv le paquet java et Evry solution connue, quand je l'ai compris, je mettrai la solution ici ...

si vous avez install Java 5, Pourriez-vous le slectionner: $ Sudo update-alternatives - config java

Si vous avez install java-package Obtenez ce fichier http://download.oracle.com/otn-pub/java/java_ee_sdk/5.0_01-fcs/java_ee_sdk5_01-linux.bin Le convertit $ Sudo apt-get install fakeroot $ Fakeroot make-jpkg java_ee_sdk-5_01-linux.bin

puis installez-le $ Sudo dpkg-i-5_01-java_ee_sdk linux.deb

Le slectionner: $ Sudo update-alternatives - config java Vrifiez la version $ Java-version

Cette tape semble tre facultative, mais vous en avez besoin si vous voulez excuter l'application Oscilloscope. Dans une course de terminal: $ Sudo apt-get install graphviz Pour vrifier les choses: $ Tos-check-env Si vous n'avez pas java 5, ce n'est pas grave vous obtenez un couple de mises en garde sur graphviz et java, mais il devrait fonctionner Pour finir, juste de vrifier les fichiers Makerules $ De MAKERULES printenv

Should Be Ou Opt/tinyos-2.1.1/support/make/Makerules Ou Ou Opt/tinyos-2.1.1/tinyos-2.x/support/make/Makerules

Les erreurs de tossim :

Avec python

La solution
Ouvrir le fichier sim.extra se trouve '/opt/tinyos-2.1.1/support/make/sim.extra' et faire les changements suivants : 1. Ajoute une instruction la ligne 10 CFLAGS +=-I/le chemine de votre python par exemple : CFLAGSusr/include/python2.6

2. Modifie la version de python (ligne 12)

3. ajoute cette instruction L/chemine de votre python les lignes 35-43

10

Vous aimerez peut-être aussi