Professional Documents
Culture Documents
1 Introduction
Lvolution des technologies de linformation et de la communication tant oriente vers la miniaturisation du matriel, on en est aujourdhui au stade du capteur sans fil, systme autonome ayant principalement des fonctionnalits de mesures physiques et de radio diffusion. Dans ce contexte apparaissent des systmes de capteurs htrognes. Ces capteurs possdent des origines, des capacits et des caractristiques diverses. En effet, ils peuvent mesurer de nombreux phnomnes (temprature, son/images, pression, radio-identification, acclration), fonctionner grce des systmes dexploitation embarqus diffrents (FreeRTOS, JavaME, TinyOS) et communiquer par des protocoles varis (6LoWPAN, Zigbee, Bluetooth). Cette htrognit impose la mise en uvre de solutions spcifiques pour linterrogation et la gestion des donnes de capteurs. Cest ici quinterviennent SStreaMWare et XSStreaMWare, deux logiciels conus par lquipe SIGMA du LIG, qui permettent dhomogniser lutilisation dun ensemble de capteurs htrognes. Chaque capteur est vu comme un flux de donnes et des requtes peuvent tre construites afin de ne rcuprer que linformation intressante. Il faut donc que le capteur possde le programme lui permettant de fonctionner comme un valuateur de requtes continues pouvant tre de simple interrogation ou des modifications des paramtres du capteur. De plus il faut un adaptateur ou un proxy pour chaque type de capteur qui permet (X)SStreaMWare de communiquer avec linterface native du capteur ou de remplacer celle-ci.
Lobjectif de ce TER est de prendre en main le DevKit des capteurs Sensinode puis de crer les programmes ncessaires pour quils soient capables dvaluer en local les requtes de configuration et une partie des requtes dinterrogation telle que la slection et la projection. Ceci permettra dans le futur dintgrer les capteurs Sensinode, premire gnration, (X)SStreaMWare. Dans la suite, la section 2 prsente lenvironnement matriel et logiciel, la section 3 expose le travail ralis et les problmes rencontrs alors que la section 4 porte sur les rsultats observs puis la conclusion et les perspectives font lobjet de la section 5.
Le DevKit Sensinode est donc compos de quatre capteurs, dun routeur et dune devboard et leurs fonctionnements est rsum sur la figure 4 en annexe.
2.2.3 XSStreaMWare XSStreaMWare est une extension de SStreaMWare prenant en charge la gestion et ladministration de capteurs distance toujours sous forme de requtes.
nature du capteur car il ne fait plus quenvoyer un flux de donnes mais reoit aussi des instructions changeant son comportement pour ladapter des besoins spcifiques. 3.1.3 Evaluation de requte La dernire tape dans lapproche du schma dcrit par SStreaMWare est lvaluation distribue de requte sur les diffrents niveaux de larchitecture. Un des intrts principaux de cette distribution tant dutiliser les fonctions de transmission, les plus couteuses en nergie, de manire minimale en demandant au capteur uniquement les informations pertinente pour une requte donn. Le couple proxy/capteur va se charger des oprations de slection et projection en utilisant, par exemple, un systme de contraintes.
typedef struct { uint16_t value; //Valeur de la donne uint16_t thrshld; //Valeur de la contrainte, seuil int8_t constraint; //Contrainte; 0 : = , 1 : > , 2 : < ,autre : inactive bool req; //Donne requise? bool pass; //Rsultat de lvaluation uint8_t type; //Type de la donne, 0x01: tension, 0x10: temprature, 0x11: lumire, 0x3f: ID }data_t; Grce ce type de donnes la fonction dvaluation opre la manire dune assertion en comparant le seuil la valeur avec la contrainte et en stockant le rsultat dans la structure. De cette manire les donnes requises sont envoyes par le capteur uniquement si lvaluation de toutes les donnes est positive. 3.2.3 Nodeview Le code de base de Nodeview, en Java, est constitu de 29 classes, en omettant les inner classes, sans distinction entre le noyau fonctionnel et linterface graphique mais qui fournit, entre autres, les fonctionnalits pour pouvoir communiquer avec les capteurs Sensinode via le routeur. Cest--dire ce qui est ncessaire la construction du proxy pour SStreaMWare. Le plus gros du travail a donc t de supprimer linterface graphique en gardant lensemble des fonctionnalits puis didentifier les classes inutilises par Nodeview et celle inutiles pour le proxy. Il a ensuite fallu dtecter o les informations des capteurs arrivait puis crer une classe pour les stocker sous une forme convenable et finalement crire les mthodes pour pouvoir communiquer avec le capteur, ce qui a t possible grce la mthode, non documente, sendDataToNode qui permet denvoyer un paquet un des capteur.
finalement, pas implmentes ou non utilisables. De plus la documentation fournie, partiellement complte, voire, dans de rare cas, fausse, napporte aucun renseignement sur les capacits relles du matriel. Cest donc dans ce contexte qua commenc le vritable travail de recherche, savoir acqurir suffisamment de connaissances pour comprendre, utiliser et modifier les capteurs et Nodeview. Une autre difficult importante a t la comprhension du convertisseur analogique-numrique (CAN) du capteur. En effet les senseurs mesurent une valeur physique et la transforment en courant lectrique qui est ensuite converti en valeur numrique par le CAN du microcontrleur. Si le programme fourni par Sensinode donnait une temprature peu prs cohrente, la luminosit, elle, ne voulait rien dire. Il a donc fallu dcouvrir le fonctionnement du CAN afin de modifier le traitement du rsultat quil retournait pour en retirer une valeur significative, le fonctionnement du CAN tant dcrit dans la documentation du CC2430 de Texas Instrument (214 pages en anglais) non fournie par Sensinode alors que le processeur utilis est un CC2431.
4.1 Tension
La mesure de la tension lentre du capteur est intressante pour dterminer un niveau de batterie restante. La figure 6 prsente la tension lentre dun capteur Sensinode aliment par piles jusqu ce que le niveau dnergie soit trop faible pour faire la liaison avec le routeur. La courbe obtenue montre une chute rapide (six minutes), ce qui est caractristique de la tension dun accumulateur qui se dcharge. Lunit utilise ici est arbitraire et ne reprsente quune valeur proportionnelle la tension en volt.
4.2 Luminosit
Le traitement de la valeur de la luminosit ayant t modifi il est important de comparer les rsultats. La figure 7 prsente les mesures de luminosit sur prs de 24h tels quelles taient calcules par le programme initial fourni par Sensinode dun capteur aliment sans piles. On remarque que daprs des valeurs types [2] et le fait que ce jour-l, le soleil se couchait 21h10 et se levait 5h57, les mesures sont incohrentes et que la valeur maximale est aux alentours de 700 lux alors que le senseur peut mesurer de 1 8000 lux. De plus la forme de la courbe fait penser un dpassement de capacit dune variable ce qui fausserait forcment le rsultat.
La figure 8 quant elle prsente 24h de capture de la lumire aprs modification de son traitement. En effet, daprs la documentation du senseur de lumire et du
processeur, des changements ont t faits afin que les mesures obtenues soient justes. Les rsultats sur la figure 8 sont bien plus cohrents que la figure 7.
4.3 Evaluation
La figure 9 reprsente les rsultats dun capteur qui a reu la requte Envoyer toute les 2 secondes la temprature et envoyer la luminosit si la temprature est infrieure ou gale 303 kelvins . On remarque quaucune mesure nest enregistre jusqu ce que la temprature atteigne 303 kelvins.
Les ralisations de ce TER sont les excutables dploys sur les capteurs, la modification de Nodeview pour servir de proxy et les documents tirs des expriences tels que le complment linstallation de lenvironnement de travail, le suivi des capteurs et de leurs programmes ou les rsultats des mesures.
5.2 Perspectives
Les possibilits de dveloppement futur sont nombreuses et varies, la plus vidente etant lintgration complte (X)SStreaMWare. Une ide intressante est limplmentation dun type de donnes gnrique grce une structure avec valeur, nom, type de la donne etc. Cela permettrait dajouter des nouveaux types de donnes distance sur le capteur, de proposer une valuation automatique pour tous les types et de vrifier lexistence dun type de donnes sur le capteur. Un autre aspect utile serait de pousser la recherche dconomie dnergie grce des algorithmes spcifiques tels que le clustering de capteurs [3]. Sur un concept diffrent, le microcontrleur des capteurs Sensinode, le CC2431 possde un location engine qui permet de reprer spatialement les capteurs entre eux. Cela pourrait avoir des applications pratiques pour calculer la puissance de radiotransmission minimale entre deux nuds par exemple.
Rfrences
1 2 3 Grgen, L., Roncancio, C., Labb, C., Olive, V., Donsez, D. : SStreaMWare : un intergiciel de gestion de flux de donnes de capteurs htrognes. Article de Wikipedia : Lux (unit), http://fr.wikipedia.org/wiki/Lux_(unit)#Application Sagen, A., Labb, C., Gaber., M, Krishnaswamy, S., Waluyo, A., Loke, S. : A Data Clustering Approach to Energy Conservation in Wireless Sensor Networks. (2010) Grgen, L. : Gestion grande chelle de donnes de capteurs htrognes. (2007)
10
ANNEXES
11
12