Home
17 - Lirmm
Contents
1. w 01 d JjiusX Le logiciel XSniffer FIG 6 2 38 6 2 Intallation et configuration sous linux Il faut tout d abord savoir qu il existe un live cd bas sur la distribu tion Ubuntu et contenant une installation pr configur e de TinyOs1 et de TinyOs2 XubuntOS iPar contre si on veut une installation sur son propre syst me il faut installer divers packages 6 2 1 TinyOs 1 Installer le JDK 1 4 de Java Le site de tinyOs conseille d installer le JDK d IBM http www ibm com developerworks java jdk mais tout marche tr s bien avec l ancienne version du JDK toujours maintenue par sun j2sdk 1 4 2 17 linux i586 bin Il faut maintenant installer divers rpm packages redhat Si vous tes sur une distribution bas e sur Debian vous pouvez utiliser alien pour convertir les rpm en deb Les fichiers se trouvent sur http webs cs berkeley edu tos dist 1 1 0 tools linux avarice 2 0 20030825cvs 1 1386 rpm avr binutils 2 13 2 1 1 1386 rpm avr gcc 3 3tinyos 1 1386 rpm avr insight pre6 0cvs tinyos 1 3 1386 rpm avr libc 20030512cvs 1 1386 rpm graphviz 1 10 1 1386 rpm nesc 1 1 1 1386 rpm tinyos tools 1 1 0 1 1386 rpm pour ces deux derniers http webs cs berkeley edu tos dist 1 1 0 tinyos linux tinyos 1 1 0 1 noarch rpm http webs cs berkeley edu tos dist 1 1 0 tinyos linux tinyos 1 1 0 1 noarch rpm Le r pertoire racine de tinyOs se trouve dans opt Il
2. Mote Works apps TER Ancre build micaz main exe Select m Platform Type MicaZ Radio Band 2420 MHz 1 XMesh M Addresses NODE ID GROUP ID 1 125 Hex Hex Auto Inc m Radio RF Power RF Channel B 25 dBm CHANNEL 1 1 Y 2405 MHz Type N A Route Update A Sec 36 Bytes EP Bes Packet Size Payload Size Read Fuses Clear Text View Details XMesh Flags N A XMesh Route Update N A XMesh Health Update N A Frequency 11 e Crossbow Inc 2006 Platform MicaZ Device mib520 Port com6 FIG 6 1 Le logiciel Moteconfig 36 Program OTAP Enable Stop 6 1 3 XSniffer Observer sniffer les changes radio entre les motes MICAz Cross bow Pr requis MoteWorks install plateforme de programmation MIB 520 MIB Mote Interface Board un MICAz laisser en permanence sur le MIB 520 Remarque pr liminaire le MIB utilise un pont USB RS 232 le FTDI FT2232C La communication avec le MIB se fait via 2 ports COM virtuels comx and com x 1 comx est utilis pour programmer le MICAz tandis que com x 1 est utilis pour communiquer avec le MICAz La premi re op ration est de compiler pour MICAz le programme qui se trouve dans opt MoteWorks apps general XSniffer Ce programme doit ensuite tre charg dans un mote voir MoteConfig Ce mote devra tre laiss sur le MIB 520 a
3. comme ceci 1 2 typedef struct 1 int8_t id_ancre l identifiant du capteur ancre ou noeud int8_t x coordonnee cartesienne sur l axe des abscisses int8 t y coordonnee cartesienne sur l axe des ordonnees int8_t z troisieme coordonnee pour une representation en 3D int8_t epsilon le taux d erreur int8_t nb_sauts le nombre de sauts int8_t id_msg l identifiant du message permet de tracer le message msg_loc Envoi de messages La fonction d mission SendData est caract ris e par le fait que c est une t che et non pas un v nement et par cons quent elle doit tre appel e avec l instruction standard post call SendData et impl ment e avec le mot cl void task 1 2 void task SendData if sending_packet return atomic sending_packet TRUE msgE data 0 loei ie enen s msgE data 1 locl x msgE data 2 locl y msgE data 3 locl z msgE data 4 locl epsilon msgE data 5 locl nb_sauts msgE data 6 locl id_msg if call SendMsg send TOS_BCAST_ADDR sizeof msg loc amp msgE SUCCESS sending packet FALSE return call Leds greenToggle diode verte clignote return On remarquera dans le corps de la fonction qu on fait appel la primitive SendMsg send qui se charge d envoyer le message Le standard NesC fournit aussi une autre primitive SendMsg sendDone qui se d finie comme tant un venement indiqua
4. relayer des messages Notre encadrant C Saad nous a expliqu quelques subtilit s des seuils dans AT Free que nous avions oubli 6 4 Fiche technique des capteurs micaz 44 MICAZ WIRELESS MEASUREMENT SYSTEM e 2 4 GHz IEEE 802 15 4 Tiny Wireless Measurement System Designed Specifically for Deeply Embedded Sensor Networks e 250 kbps High Data Rate Radio e Wireless Communications with Every Node as Router Capability e Expansion Connector for Light Temperature RH Barometric Pressure Acceleration Seismic Acoustic Magnetic and other Crossbow Sensor Boards Applications Indoor Building Monitoring and Security e Acoustic Video Vibration and Other High Speed Sensor Data e Large Scale Sensor Networks 1000 Points F zigBec Alliance 51 Pin Expansion Connector Logger Flash Antenna MMCX Connector MPR2400 Block Diagram Phone 408 965 3300 Fax 408 324 4840 MICAz The MICAz is a 2 4 GHz Mote module used for enabling low power wireless sensor networks Product features include e IEEE 802 15 4 compliant RF transceiver e 2 4 to 2 48 GHz a globally compatible ISM band Direct sequence spread spectrum radio which is resistant to RF interference and provides inherent data security e 250 kbps data rate e Supported by MoteWorks wireless sensor network platform for reliable ad hoc mesh networking Plug and play with Crossbow s senso
5. conomie d effort et une pr servation du mat riel sont possibles gr ce cet ou til L application permet une analyse tape par tape en activant les diff rents modes disponibles Comme nous le voyons sur la figure 2 3 Les capteurs sont dispos s dans la partie gauche de la fen tre du logiciel Mode d emploi Dans cette section nous allons d tailler un peu ce que fait chaque bouton pr sent dans l interface On Off il met en marche ou teint un capteur Delay il permet de s lectionner la dur e au bout de la quelle se d clenche le timer 12 pasned uone ntuls LI 614614 7 9 wo4j sbessew parLaday HzLAAULI3se oz z apou oy afessaw Durpues WztAutiase 9 T ss p ns bulpuas euog WzijAurjise Z 0 0X0 0X0 0X0 0 0 0X0 0x0 zxo eiep 2xo yabusL p xo dnoWB yexo ed4a orxo 4ppe bsWsoi aessa aues 2 Z Wouy abessow pa taday zLAAuL ase 9T QT apou oy abessew Durpuss y2zL44uLp3531 2 T ss p ns Butpuss euog HZLA ULIA581 0 0x0 0 0 0x0 0x0 0x0 0x0 exo e3ep 2x0 u36u l pzxo dno45 yexo ed4a otxo 4ppe lt 634SQ1 gt abessay ques wouy eDessau parladay WztAAuLjasel SZ I sse2ons bulpuas suog WziAAutjise 81 0x0 0x0 0x0 0x0 0X0 0x0 zIxQ ea3ep zxo uibue pzxo dno45 yexo ed42 pxo 4ppe lt baysqu gt abessay aues 81 8T wouy a essaw partaday HZLA ULI3531 ET SZ spou oy abessew Durpuss MziaAutjise T apou oy abessew bulpuas zLa
6. des algorithmes de localisation dans un r seau de capteurs de type ad hoc Les capteurs sont des objets lectroniques capables de mesurer une gran deur physique au sens large temp rature pression pH etc Les modules MICAz sont des transmetteurs sans fil fonctionnant avec la technologie Zig Bee sorte de WiFi adapt aux appareils disposant de peu d nergie C est le cas de ces modules car ils sont aliment s par piles Ces transmetteurs sont pr vus pour recueillir et transf rer les mesures issues de capteurs sur lesquels ils se connectent Pour ce TER les donn es transmises sont uniquement li es aux algorithmes impl ment s Donc aucun v ritable capteur n est n cessaire Cependant dans la pratique un capteur est indissociable d un transmetteur Voil pourquoi nous ferons volontairement l amalgame capteur module par la suite Les r seaux de capteurs sont utilis s dans de nombreux domaines tels que l industrie le b timent capteurs sismiques l cologie contr le des polluants du climat et des d sastres le domaine m dical ou bien encore le militaire surveillance C est une technologie en plein essor et qui a de tr s nombreux d bouch s Par exemple si une organisation foresti re s int resse la sur veillance de son domaine forestier afin de d tecter le d part d un incendie les capteurs dispers s dans le domaine s av rent tr s utiles pour faire remonter l information jusqu au point de contr le voir
7. faut modifier quelques variables globales du syst me export TOSROOT opt tinyos 1 x export CLASSPATH TOSROOT tools java javapath STOSROOT tools java net tinyos sim usr local commapi jar comm jar TOS ROOT tools java export TOSDIR TOSROOT tos export MAKERULES TOSROOT tools make Makerules export PATH usr local j2sdk1 4 2 17 bin PATH si on n utilise pas le jdk d ibm Il faut ensuite changer les permissions chmod 666 de s port s USB que l on va utiliser Un utilitaire pour tester la bonne configuration du syst me se trouve dans opt tinyos 1 x tools scripts toscheck 39 Pour compiler il faut se trouver dans le r pertoire du projet et taper make micaz Ou si l on veut construire un ex cutable pour le simulateur TOSSIM make pc on lance ensuite l interface graphique tinyviz du simulateur avec i opt tinyos 1 x tools java net tinyos sim tinyviz run build pc main exe 5 NN 6 2 2 TinyOs 2 Une premi re fa on d installer tinyOS 2 0 2 si l on est sur une distribution bas e sur Debian est d utiliser le d p t Debian de l Universit de Stanford deb http tinyos stanford edu tinyos dists ubuntu feisty main rajouter dans etc apt sources list puis faire 1 apt get update 2 apt get install tinyos avr Sinon la m me proc dure d installation avec les paquets rpm que pour tinyOS 1
8. 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 2 4 2 Les fichiers dans NesC Les fichiers de NesC sont class s en trois types Interfaces modules et configurations 14 Application Component D Component A Component B Component F Configuration Component Configuration E FiG 2 4 Architecture d une application NesC TinyOS Kernel C TinyOS Libs NesC Application amp TinyOS C Application NesC C Compiler Application Executable FiG 2 5 Processus de compilation 15 Interface Ce type de fichier d clare les services fournis et les services qui seront utilis s Ils se trouvent dans le r pertoire tos interface exemple StdControl nc Module Le type Module contient le code de l application en mettant en oeuvre une ou plusieurs interfaces exemple BlinkM nc Configuration Dans ces fichiers on d clare la mani re d unir les diff rents composants et com ment effectuer le contr le des flux exemple Blink nc Composants TinyOS d finit un nombre important de concepts qui sont exprim s dans NesC D abord les applications NesC sont construites par des c
9. pas envoy s Malgr tout les premiers tests avec un petit nombre de capteurs sont concluants Ils correspondent aux estimations AT Free n est pas tr s pr cis mais semble assez fiable Nous avons d couvert gr ce ce TER les r seaux de capteurs la probl matique de la localisation le langage NesC et le syst me TinyOS En r sum beaucoup de choses 33 Chapitre 6 Annexes 6 1 Installation de Moteworks windows 6 1 1 Compilation Il faut avoir les fichiers suivants 1 Makefile liste les fichiers inclure dont le suivant qui permettront de compiler correctement pour la cible MICAz et de lier le tout TinyOS 1 Makefile component liste les composants du programme des fichiers sources en NesC nc les fichiers de configuration et d impl mentation des modules La compilation se fait simplement dans un terminal Cygwin dans le r pertoire o se trouvent les fichiers sources make micaz On obtient un sous r pertoire build micaz contenant entre autres app c le source complet en C avec TinyOS inclut main exe fichier au format ELF ce n est donc pas le v ritable ex cutable mais le fichier utilis pour crire dans la ROM du MICAz main srec probablement le v ritable ex cutable pour MICAz 6 1 2 Chargeur MoteConfig Pour charger un programme dans un mote MICAz Crossbow Pr requis MoteWorks install CD Wireless Sensor Network Kit plateform
10. pin All major 1 0 signals Notes 15 MHz steps for compliance with IEEE 802 15 4 D18 2003 Specifications subject to change without notice Base Stations MIB520CB Mote Interface Board A base station allows the aggregation of sensor network data onto a PC or other computer platform Any MICAz Mote can function as a base station when it is connected to a standard PC interface or gateway board The MIB510 or MIB520 provides a serial USB interface for both programming and data communications Crossbow also offers a stand alone gateway solution the MIB600 for TCP IP based Ethernet networks Ordering Information Model Description MPR2400CA 2 4 GHz MICAz Processor Radio Board WSN START2400CA 2 4 GHz MICAz Starter Kit WSN PRO2400CA 2 4 GHz MICAz Professional Kit Document Part Number 6020 0060 04 Rev A 4145 North First Street San Jose California 95134 2109 Crossbow Technology Inc Chapitre 7 Glossaire Broadcast Dans le domaine des t l communications en g n ral le Broad casting d signe une m thode de diffusion de donn es partir d une source unique vers un ensemble de r cepteurs Dans le domaine de l informa tique le Broadcast d signe une m thode de transmission de donn es l ensemble des machines d un r seau Broadcast ou Diffusion est aussi une mode d mission de donn es destination de plusieurs utilisateurs Utilise une adresse sp cifique de diffus
11. 1 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 if localil nb_sauts gt loc2 nb_sauts oct loe De else if loca i nb_sauts loc2 nb sauts amp amp localil epsilon gt loc2 epsilon locali loc2 else if localil id_ancre 1 amp amp test oM rsg l Wees m O al m test 1 dans ce cas mise a if P J bo jour effectuee if compt lt mote compt si epsilon local gt seuil2 gt estimation encore necessaire if psi gt rho call Leds yellowToggle faireDisque loc2 x loc2 y 0 loc2 nb sauts PORTEE si epsilon local lt seuill gt ancre estimee moyennement bonne Bf psl lt peas 1 while psi lt psi2 amp amp psi2 gt rho psi2 psi2 delta oc2 id_ancre TOS LOCAL ADDRESS LOCH 5 e lug loc2 y Ey loc2 epsilon psi loc2 nb sauts O0 loci loc2 post SendData call Leds greenToggle si epsilon lt rho gt ancre estimee bonne gt diffusion 1 fois if psi lt rho call Leds redOn localisee TRUE loc2 id_ancre TOS_LOCAL_ADDRESS loc2 x Ex loc2 y Ey loc2 epsilon psi loc2 nb_sauts loci loc2 post SendData return msg 0 28 La sonde Nous avons r alis un autre type de capteur qui nous sert de sonde La sonde est activ e apr s une ou deux minutes lorsque l algorithme s est stabilis dans le r seau elle se charge d interroger le
12. Aut ise 81 1 55820n5 bulpuas auog WziaAutjise 22 0x0 0x0 0x0 0x0 0x0 Oxo 9pxg eaep zxo yabuaL pzxo dno45 yexo adi3 pxos4ppe bs4soL abessay ques 22 ZZ w044 eDessau pse Lesey WztAAuLIase ET ssenons Buipuses euog WztAAuLjase or oxo 0X0 0x0 0x0 OxO 0x0 OTXO EIEP exo uibusi pzxo dno45 iexo edfi orxo 4ppe lt 6susol gt bessay aues or anew Auo saow papayas udein psal safessau Gngag 57706 01107 pronus 11eure e lurodbie iq 195 sbuipeay Day 1014 yaeab pooysoqubiay sayd opel WIS uotye20 195 a1qesip 10u op 12660 Unyomy ppow orpey SUL o1pey Suit e E El d suo y ra 2251872 cun wis uno sagna anoet ai FIG 2 3 Tiny Viz 13 Play il permet de lancer la simulation ou de la mettre en pause Grilles il permet d avoir une grille pour situer les capteurs dans l espace Clear il efface tous les messages qui transitent entre les capteurs Arr t il met fin la simulation Plusieurs plugins sont disponibles pour visualiser la simulation sous diff rentes formes Les plugins dont on s est beaucoup servi sont debug message pour afficher tous les messages de type dbg afin de v rifier la nature des messages et radio links qui nous permet de voir avec des fl ches ou des cercles si un capteur est en train d mettre ou non 2 4 NesC Le langage NesC network embedded system C est un dialecte de C bas sur des composants NesC es
13. B 520 Cliquer sur le bouton Program Une fois le programme charg message uploading SUCCESSFUL On peut aussi partir de cette interface lors de la programmation du cap teur affecter un num ro d identifiant au capteur Une autre option bien pra tique RF power permet de modifier la puissance du signal mit par le capteur Cette option permet de r duire jusqu 2 ou 3 m tres la port e d mission des messages Remarque aussit t apr s la fin du chargement les diodes du MIB 520 reproduisent le comportement des diodes du mote charg En effet le programme d bute automatiquement m me avec le bouton OFF positionn Ce dernier coupe l alimentation par les piles mais pas par le port USB via le MIB 520 Remarque MoteConfig n est qu une interface graphique pour le programme UISP Micro la lettre grecque mu In System Programmer Il est possible de compiler et charger en ligne de commande avec une instruction du type make micaz re install n mib520 com4 n Id Group et Id noeud le tout sur 16 bits Id Group peut tre tout sauf 0 126 et 255 par d faut 125 Voir DEFAULT_LOCAL_GROUP dans le fichier MoteWorks apps MakeXbowlocal Attention MoteWorks est le chemin CYGWIN Dans la structure NTFS cela quivaut quelque chose comme C Crossbow cygwin opt MoteWorks 35 MoteConfig File Settings Help Local Program Remote Program Select File to be Uploaded C Crossbow cygwin opt
14. N1 pourrait tre ramen calculer sa position selon les coordonn es de A mais avec un nombre de sauts sup rieurs void defaireDisque uint8_t x0 uint8_t yD nimre w ri uinte 122 2 float d 0 0 3 uint8 t liminfxO limsupx0 4 uint8_t liminfyO limsupyO 6 if x0 lt r2 1 liminfx0 0 else liminfxO x0 r2 1 7 limsupx0 x0 r2 1 if limsupxo 50 limsupx0 MAXI 1 8 if y0 lt r2 1 liminfy0 0 else liminfy0 y0 r2 1 9 limsupyO y0 r2 1 if limsupy0 gt 50 limsupy0 MAXI 1 10 Matriz x0 y0 1 11 for i liminfx0 i lt limsupx0 1 i 12 for j liminfy0 j lt limsupy0 1 j 4 13 dic chus lance SI UN T if GC do pl amp amp d lt r2 i5 if Matrizlil j vMAXI vMAXI 1 16 Mat r iz a 17 18 19 2 Communication Afin de permettre un flux de communication entre les capteurs notre impl mentation se base essentiellement sur la gestion des v nements r ception et mission en respectant le standard de NesC Une consultation de la fiche technique et des divers exemples fournis avec la distribution de tinyOS est plus que n cessaire afin de mettre correctement en place un syst me de transmis sion Structure des messages Nous nous sommes mis d accord sur un type de message repr sentant toutes les donn es n cessaires pour la localisation des noeuds Le message est 25 repr sent par une structure de donn es d finie dans le fichier d ent te loc h
15. T munication de courte distance telle que le propose d j la technologie Bluetooth tout en tant moins ch re et plus simple 48 Chapitre 8 Bibliographie 1 AT Family Distributed Methods for Localization in Sensor Networks Cl ment Saad Abderrahim Benslimane Jean Claude K nig 2 Wireless sensor networks a survey I F Akyildiz W Su Y Sankarasu bramaniam E Cayirci 3 documentation du mat riel www xbow com 4 documentation sur TinyOS http fr wikipedia org wiki TinyOS 5 documentation sur le langage nesC http nescc sourceforge net 6 notre site web pour le projet http hugo alatristasalas free fr 49
16. Universit de Montpellier II TER master 1 informatique Impl mentation de protocole sur une plateforme de r seaux de capteurs sans fils H Alatrista S Aliaga K Gouaich J Mathieu Encadrants J Champ J C K nig C Saad 25 avril 2008 Remerciements Nous tenons remercier nos encadrants J Champ J C Konig et C Saad pour toute l aide apport e et pour nous avoir propos ce sujet Nous tenons aussi remercier le laboratoire du lirmm de Montpellier pour nous avoir pr t le mat riel n cessaire nos exp rimentations Table des mati res 1 Pr sentation des R seaux de capteurs sans fil 2 TinyOs et NesC 2 Leswapieuts LB DIA s A e PM RW 2 2 Le syst me d exploitation TinyOS 22D Presentation o leat eie pete B eS we os 20 JUOD SL a RE 2 2 3 Allocation dela m moire 2 2 4 Allocation des ressources 2 3 Simulation TOSSIM et TinyViz D A ER RE Saa DER ER EC 2 4 1 Les Principales caract ristiques de NesC 2 4 2 Les fichiers dans NesC 2 4 3 Types de donn es euer dte r4 RES ARES RA 3 Les algorithmes AT Free et AT Dist MN UND PLC Se eae eee Gs Wee 32 ZAT DISE S r 418 LS a Rr EU Ro EOS SS RO RC 3 3 Tmpl mentati n es vire acu gru uw E EUR EPIS ee Bas 4 Les tests 5 Conclusion 6 Annexes 6 1 Installation de Moteworks windows OUI Compilation oues eatem URP UR A CPU UE tos 6 12 C
17. alablement d finis 16 La structure de la partie Configurations est la m me que celle de la partie Impl mentation Exemple Configuration MonAppli 2 implementation s Components GenericComm TimerC a TimerC StdControl gt GenericComm StdControl dr a J Module 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 Uses Provides Implementation Exemple module MonAppliM ON AS Loca I uses doer P a J s implementation La premiere sous section provides indique au compilateur les interfaces que va fournir notre composant Par exemple si notre composant est une ap plication on doit fournir au moins l interface StdControl 1 provides 2 interface interfacequenousfournissons ame 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 composant qui la fournit Fi nalement utiliser une interface oblige implicitement g rer les v nements pouvant se produire du
18. arantir une dur e de vie maximale aux faibles ressources nerg tiques du cap teur 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 pour mieux respecter les ch ances dans les t ches TinyOS est donc bas sur une structure deux niveaux de planification Les v nements ils sont utilis s pour r aliser de petits processus par exemple quand le compteur du timer arrive son terme De plus ils peuvent interrompre les t ches qui sont ex cut es Les t ches les t ches sont pens es pour r aliser une plus grande quan tit de traitements et elles ne sont pas critiques dans le temps Les t ches sont ex cut es compl tement mais l initialisation et la terminaison d une 10 t che sont des fonctions s par es 2 2 3 Allocation de la m moire Il est tres important d aborder la fa on avec laquelle un syst me d exploi tation g re la m moire et plus sp cialement quand celui ci travaille dans un espace restreint TinyOS ne n cessite pas beaucoup de place m moire puisqu il n a besoin que de 300 400 octets dans le cadre d une distribution minimale Il est primordial d avoir 4 Ko de m mo
19. atriz i j vMAXI Matriz illjl 23 28 30 31 32 33 34 35 37 38 39 40 41 42 43 44 45 46 47 FIE Ya m a a hod TTA SEN Fig Repr sentation du r seau par une matrice FIG 3 4 Repr sentation du r seau par une matrice if compt gt 1 for i liminfx0 i lt limsupx0 1 i for j liminfy0 j lt limsupy0 1 j 4 if Matriz i j vMAXI aX i aYt j nb2 3 Ex aX float nb2 Ey aY float nb2 for i liminfx0 i lt limsupx0 1 i for j liminfy0 j lt limsupy0 1 j if Matriz i j vMAXI d2 distance i j Ex Ey if epsi lt d2 epsi d2 1 psi uint8_t epsi Une deuxi me fonction defaireDisque xO yO r1 r2 a aussi t impl ment e afin de prendre en compte le cas d une meilleure estimation soit en nombre de sauts soit en taux d erreur Le but est de d cr menter la valeur vMAXI qui repr sente l intersection entre les diff rentes surfaces la zone o se trouve le capteur 24 Justification Admettons une topologie deux noeuds et une ancre Soit le noeud N1 atteignable directement par l ancre A donc N1 devrait calculer sa position par rapport aux coordonn es de A avec r2 1 PORTEE Si entre temps N1 recoit un message type relais de la part de N2 ce dernier devrait communiquer les coordonn es de mais avec un nombre de sauts 1 exacte ment 2 Dans ce cas
20. du signal et centr sur la position de l ancre Par contre si le capteur et l ancre ne sont pas voisins alors le capteur se trouve dans le cercle de rayon r x h h nombre de sauts effectu s par le message et centr sur l ancre Lorsque le capteur recoit la position d une seconde ancre il sait qu il se trouve 20 Fig Approximation FIG 3 1 Approximation dans l intersection des deux cercles Il prend comme coordonn es estim es le centre de gravit de cette zone avec une erreur epsilon gale la distance entre ce point estim et le point le plus loign de la zone o il se trouve Quand le capteur a assez bien estim sa position l erreur epsilon est pass e en dessous d un certain seuil on le consid re comme une ancre et il commence diffuser sa propre position Remarque Pour avoir un r sultat coh rent on a besoin de recevoir les infor mations d au moins 2 ancres 3 2 AT Dist AT Dist fonctionne comme AT Free mais utilise en plus la distance es tim e que parcourent les messages pour affiner la recherche de position Cet algorithme utilise RSSI plus loin est la source du message moins le signal recu sera fort Cette m thode d approximation des distances est nomm e Sum Dist Il suffit de sommer les distances interm diaires entre deux points en nombre de sauts Voir l exemple de la figure 3 2 21 Position r elle FIG 3 2 Exemple de la m thode AT Dist Fig Postion estim e du n
21. e de programmation MIB 520 MIB Mote Interface Board Remarque pr liminaire le MIB utilise un pont USB RS 232 le FTDI FT2232C Il faut installer un pilote FTDI pour convertir le port USB en port COM virtuel D marche Windows XP Au ler branchement du MIB520 sur un port USB Windows le d tecte comme un nouveau mat riel S lectionner Installer partir d une liste utilisateurs exp riment s 34 Ins rer le CD ROM Le pilote est dans le r pertoire USB Drivers du CD ROM Quand le pilote est install on doit voir apparaitre 2 nouveaux ports s ries Panneau de configuration Syst me Mat riel Gestionnaire de p riph riques Ports Noter les num ros de port assign s Si les 2 ports COM virtuels sont comx et com x 1 alors comx est utilis pour programmer le MICAz tandis que com x 1 est utilis pour communi quer avec le MICAz Chargement En utilisant MoteConfig Connecter le MIB 520 un port USB de l ordinateur D marrer MoteConfig Dans Settings Interface Board s lectionner MIB 520 et le port COM le plus petit des deux ports cr s Dans la fen tre principale s lectionner le main exe charger AT TEN TION cette op ration est n cessaire m me s il apparait d j correctement dans le champ textuel Select File to be Uploaded En effet dans le cas contraire une ancienne version de l ex cutable est charg e Eteindre le MICAz L installer sur le MI
22. ent Part Number 6020 0060 04 Rev A Web www xbow com Processor Radio Board MPR2400CA Remarks Processor Performance Program Flash Memory 128K bytes Measurement Serial Flash 512K bytes gt 100 000 Measurements Configuration EEPROM 4K bytes Serial Communications UART 0 3V transmission levels Analog to Digital Converter 10 bit ADC 8 channel 0 3V input Other Interfaces Digital O I2C SPI Current Draw 8 mA Active mode 15 uA Sleep mode RF Transceiver Frequency band 2400 MHz to 2483 5 MHz ISM band programmable in 1 MHz steps Transmit TX data rate 250 kbps RF power 24 dBm to 0 dBm Receive Sensitivity 90 dBm min 94 dBm typ Adjacent channel rejection 47 dB 5 MHz channel spacing 38 dB 5 MHz channel spacing Outdoor Range 75mto 100m 1 2 wave dipole antenna LOS Indoor Range 20mto30m 1 2 wave dipole antenna Current Draw 19 7 mA Receive mode 11 mA TX 10 dBm 14 mA TX 5 dBm 17 4 mA TX 0 dBm 20 pA Idle mode voltage regular on 1 pA Sleep mode voltage regulator off Electromechanical Battery 2X AA batteries Attached pack External Power 27V 33V Molex connector provided User Interface 3 LEDs Red green and yellow Size in 2 25 125x025 Excluding battery pack mm 58 x 32 x7 Excluding battery pack Weight oz 0 7 Excluding batteries grams 18 Excluding batteries Expansion Connector 51
23. es ancres 10 et 11 Son epsilon est tr s grand du fait de son loignement des ancres On ne voit ensuite qu un message relatif l ancre 15 ligne 13 au lieu de 2 30 Ancre 15 19250 FiG 4 1 Topologie du test normalement Mais la suite nous r v le que les 2 noeuds ont re us correctement l information Assit t les noeuds se positionnent suivant le r sultat d finitif et mettent un message en ce sens lignes 14 et 15 car epsilon est maintenant en dessous du seuil La limitation de la diffusion n est pas encore au point ce qui explique les messages suivants Les lignes 20 27 sont le r sultat du passage de la sonde Le but des tests est de valider les simulations ant rieures de nos encadrants afin de d montrer l exactitude de leurs algorithmes de localisation 3l euoN ey oN Bubbo GE LO 00 m pss snis OO ie L L ooe uag 1821 189905 491 ISOUJEIO P 1504 3MNILNOI pneq 00Z5LL E sWa3 yog PUBS Jonuo3 el 0j SH OL cl L AN St O0 cl ZL St 00L cl L I 0 0 0O O0 2 OOL OL l OOl Ob L I al Fer Exe we one owe peers RE ove o pw peo ue peu pus oo pns ovs poene enr ET EA O L 12HIUSX R sultats du test FIG 4 2 32 Chapitre 5 Conclusion Si le sujet de prime abord ne parait pas tr s compliqu la r alisa
24. est r aliser avec les versions suivantes Java JDK 1 5 Java 5 avr binutils 2 15tinyos 3 1386 rpm avr gec 3 4 3 1 1386 rpm avr libc 1 2 3 1 1386 rpm avarice 2 4 1 1386 rpm avr insight 6 3 1 1386 rpm nesc 1 2 8a 1 1386 rpm tinyos tools 1 2 4 3 1386 rpm tinyos 2 0 2 2 noarch rpm Le r pertoire racine de tinyOs 2 se trouve lui aussi dans opt Il faut l aussi modifier quelques variables globales du syst me export TOSROOT opt tinyos 2 x export TOSDIR TOSROOT tos export CLASSPATH TOSROOT support sdk java tinyos jar export MAKERULES STOSROOT support make Makerules Il n y a plus qu changer le propri taire de opt tinyos 2 x et modifier les permissions sur le s port s USB que l on veut utiliser La branche 2 x de tinyOS est la version en d veloppement nos yeux son principal d faut est qu elle n integre pas tinyviz interface graphique de simu lation 40 Nous avons finalement d cid de travailler avec la version 1 de tinyos plut t que la version 2 pour deux raisons le logiciel Moteworks windows est bas sur la version 1 l interface graphique tinyviz du simulateur TOSSIM n est pr sente que dans cette version 41 6 3 Comptes rendus des r unions R union 1 Compte rendu 1 25 01 2008 Pr sents tudiants H Alatrista S Aliaga K Gouaich J Mathieu enseignant s J Champ Duran
25. fait d avoir utilis cette interface pr cise uses 2 interface interfacequenousutilisons o J 17 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 oeuvre venant des interfaces que nous utilisons 2 4 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
26. figure 1 1 Le capteur X diffuse un message d alerte avec sa position qui est relay de proche en proche par les capteurs jusqu au point de collecte des informations o l alerte peut tre donn e On estime le lieu de l incendie par rapport la position du capteur qui a lanc l alerte Comme les ressources d un capteur sont tr s limit es la r alisation d une application d pend enti rement de la collaboration entre tous les capteurs qui ex cutent des t ches simples VERE d part incendie e X centre forestier point de collecte capteur FIG 1 1 Un r seau de capteurs surveillant une for t Un r seau de type ad hoc est un r seau sans hi rarchie entre les noeuds et o les informations transitent de noeud en noeud pour atteindre leur destination Il est mod lis par un graphe non orient o chaque n ud est ici un capteur et o chaque ar te correspond un lien de communication ZigBee Pour les r seaux de capteurs les mesures doivent atteindre un noeud particulier appel point de collecte le centre forestier de la figure 1 1 Autrement dit de tout noeud du r seau il doit exister un chemin vers le point de collecte La localisation permet de construire une cartographie compl te du r seau partir de la connaissance de la position de quelques noeuds du r seau Ces noeuds particuliers portent le nom d ancre La cartographie compl te d un r seau de capteurs est n cessaire car une mesure repr
27. fin que le logiciel Xsniffer puisse r cup rer les changes Fonctionnement D marrer Xsniffer Onglet Options modifier Packet Type mettre General la place de Xmesh La fen tre est alors modifi e Conseil onglet Options baisser la valeur de Measure Over Most Recent 1 sec Choisir l onglet Log Choisir le Serial Port com x 1 Cliquer sur START Analyse d une entr e Log nom colonne signification ElapsedTime dur e coul e depuis START Addr Bcast Broadcast RF intensit du signal radio RSSI Type type de message 101 pour nous Grp Id group 125 par d faut LEN taille du champ DATA de la structure TOS Msg conform ment aux structures chang es 1 64 contenu de chaque l ment du champ DATA de la structure TOS Msg 3T 9uoN Hayd Logs Bed oN 5u 55oq iseueso 1soH IPPOS d91 J NNILNO 08 00 00 EPen pneq 007611 Z Wo0 yog euas s 3nnunc5 SES joue mum Sci 101 Nf 1seog sap io per sen eo o of o o o i z Sail toi MF eoa MU IP 38299 sci 101 PP 5229 Si SH tf Z Sei io B seoa 4 Sei Lol W 5e 4 sai a Sel 101 PM sea 6 O oj oj oe oc ej Sel 101 MW eoa 4 sa 101 F see SL ae aos Sel 101 IU ze sc 1 f seca Z sl 2 sa dE NENNEN CNRC NOR E zs s ele T pers sa To T suondo oy apon
28. hargeur MoteConfip 222 9 ee oom s D I3 Smile Lu z ul a Gh ex Beet ee tone qr de e 6 2 Intallation et configuration sous linux ps TinyOS A gt suae rm ehe ped od cios DAP MEMBRIS A bre me ie A SRE wR 6 3 Comptes rendus des r unions 6 4 Fiche technique des capteurs micaz 7 Glossaire 8 Bibliographie 10 10 10 11 11 12 14 14 14 18 20 20 21 23 30 33 34 34 34 34 37 39 39 40 42 44 47 49 Table des figures 11 2 1 2 2 2 3 2 4 2 5 3 1 3 2 3 3 3 4 4 1 4 2 6 1 6 2 Un r seau de capteurs surveillant une for t 6 Un Capel ar a NA a 8 Architecture d un capteur quo es RR a BOX 9 Eny VIZ a Se hes ord te rne y tee psg be wu 13 Architecture d une application NesC 15 Processus de compilation _ _ _ a a oe RC OP ens 15 APPO IMA don lt aa ION SI Bt Qh AQ ae 30 QU RCD CO XR 21 Exemple de la m thode AT Dist 22 Position estim e du n ud X 22 Repr sentation du r seau par une matrice 24 Topologie du test da Grecos S gx BO Ee gS Wu EE eR 31 R sultats du test eiie Deo cm SC NOR ee CEN SU 32 Le logiciel Moteconfig o a o de a de ER r e RETE ROS 36 Le logiciel XSniffer ir o Pe a e sa er e deos 38 Chapitre 1 Pr sentation des R seaux de capteurs sans fil L objectif du TER est d impl menter sur des modules MICAz marque Crossbow
29. ion et un protocole en mode non connect Capteur Un capteur est un dispositif transformant l tat d une gran deur physique observ e en une grandeur utilisable exemple une tension lectrique une hauteur de mercure une intensit la d viation d une ai guille etc Pour nous la grandeur physique observ e est transparente Connection Lien entre deux entit s communicantes d un m me niveau de protocole Node noeud D signe un dispositif comportant plusieurs voies radio et r alisant de la commutation de trames ou de paquets Sans fil Dispositif ou syst me servant une application de t l communication ou plusieurs sans que des fils soient n cessaires pour communiquer entre les n uds lesquels utilisent habituellement et plut t des radiofr quences opologie La topologie est la notion qui caract rise le positionnement des l ments d un ensemble les uns par rapport aux autres On parlera donc fr quemment de la topologie d un circuit imprim ou d un circuit int gr dans ce cas ce sont les positions respectives des microcomposants l mentaires qui sont en jeu ou aussi d une topologie de r seau ZigBee ZigBee est un protocole de haut niveau permettant la commu nication de petites radios consommation r duite bas sur le standard IEEE 802 15 4 pour les r seaux dimension personnelle Wireless Per sonal Area Networks WPANs Cette technologie a pour but la com A
30. ire libre qui se r partissent entre les diff rents besoins suivant La Pile Elle sert de m moire temporaire pour l empilement et le d pilement des variables locales Les variables globales Elles r servent un espace m moire pour stocker des valeurs pouvant tre accessibles depuis diff rentes t ches La m moire libre Pour tout le reste du stockage temporaire La notion d allocation dyna mique de m moire n est pas pr sente dans le syst me ce qui simplifie l impl mentation mais par ailleurs il n existe pas de m canisme de protection de la m moire ce qui rend le syst me plus vuln rable au crash et aux corruptions de m moire 2 2 4 Allocation des ressources L ordonnanceur Le choix d un ordonnanceur d termine le fonctionnement global du syst me et le dote de propri t s telles que la capacit fonctionner en temps r el L or donnanceur TinyOS se compose de 2 niveaux de priorit s bas pour les t ches haut pour les v nements 1 file d attente FIFO disposant d une capacit de 7 On a un niveau de priorit entre les t ches leur permettant de se classer Lors de l arriv e d une nouvelle t che celle ci sera plac e dans la file d attente en fonction de sa priorit Dans le cas ot la file d attente est pleine la tache dont la priorit est la plus faible est enlev e de la file FIFO 11 Les t ches Elles sont utilis es pour effectuer la plupart des blocs d instructions d une app
31. iste une m thode pour pouvoir invoquer manuellement ce type de fonctions Signal interface nomEvenement Diff rences entre NesC et C C et Java Les langages C C et Java ont une composition dynamique et ont un espace de noms namespace global Appeler une fonction requiert d utiliser un nom qui est unique pour cette fonction dans l espace de noms NesC a un autre objectif D abord le code est divis en composants unit s discr tes de fonctionnalit s Un composant peut seulement faire r f rence des variables de son propre espace de noms D une certaine mani re les composants NesC sont semblables des objets La principale diff rence est la port e des appels par r f rence Tandis que les objets C et Java font r f rence des fonctions et des variables au niveau global les composants NesC utilisent uniquement un niveau local Ceci signifie que non seulement il faut d clarer les fonctions mises en ceuvre mais que de plus un composant doit d clarer les fonctions qui appellent ces fonctions Conclusions NesC est un langage de programmation qui pr sente de grands avantages pour le d veloppement d applications pour des syst mes embarqu s et parti culi rement pour les r seaux de capteurs sans fil Celui ci apporte des outils pour une bonne programmation d applications d abord en abstrayant les ca ract ristiques de modularit que pr sentent les r seaux de capteurs et ensuite en facilitant la mi
32. les r seaux de capteurs sera envoy par courriel prochainement 6 le contenu du cahier des charges a t discut ila t convenu qu une bauche de cahier des charges devrait tre r dig e pour la prochaine r union Prochaine r union 01 02 2008 R union 2 Compte Rendu 2 08 02 2008 Pr sents tudiants H Alatrista S Aliaga J Mathieu enseignant s Cl ment Saad Julien Champ Sujets abord s 42 1 Apprendre et se familiariser avec le fonctionnement des m thodes dis tribu es de localisation Sch ma de localisation Range Free Sch ma de localisation Range Based 2 Techniques d approximations Technique d approximation AT Free Technique d approximation AT Dist 3 R solution de diverses questions ayant trait l impl mentation du TER Commentaires La r union a d but 14H00 nous avons recu en avance un mail de Kha led Gouaich qui a justifi son absence pour cause de maladie Nous avons commenc la r union en discutant du cahier des charges final que nous avons remis au responsable et aux encadrants le mercredi 06 f vrier Nous avons ensuite abord plusieurs points concernant la partie initiale du TER et les enseignants ont r pondu nos questions questions essentiellement bas es sur l impl mentation des algorithmes de localisation Nous avons continu en par lant d un processus optimal d installation et de configuration des outils Nous avons
33. lication A l appel d une t che celle ci va prendre place dans une file d at tente de type FIFO First In First Out pour y tre ex cut e Une t che activ e s ex cute enti rement car il n y a pas de m canisme de pr emption Lorsque la file est vide le syst me met en veille le dispositif jusqu au lancement de la prochaine interruption Les v nements Ils sont prioritaires par rapport aux t ches et peuvent interrompre la t che en cours d ex cution Ils permettent de faire le lien avec les interruptions mat rielles Plates formes sous TinyOS TinyOS est pr vu pour fonctionner sous plusieurs plates formes comme Windows 2000 et XP ou bien GNU Linux Deux principales versions de Ti nyOS sont disponibles la version stable V 1 1 15 et La version en d veloppement V 2 0 2 qui n cessite l installation de l ancienne version pour fonctionner 2 3 Simulation TOSSIM et TinyViz Le simulateur TOSSIM Afin de simuler le comportement des capteurs un outil tr s puissant a t d velopp et propos sous le nom de TOSSIM Ce dernier est souvent uti lis avec une interface graphique TinyViz pour une meilleure compr hension et visualisation de l tat du r seau L utilisation de ces deux logiciels est imm diate d s lors que TinyOS est op rationnel Tiny Viz L outil TinyViz est une application graphique qui nous permet d avoir un apercu de notre r seau sans avoir d ployer les capteurs dans la nature Une
34. 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 Me mAlloc qui permet une gestion dynamique de la m moire Types de fonctions en NesC En NesC les fonctions peuvent tre de types tr s vari s H 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 princi palement des fonctions qui sont ex cut es de mani re synchrone c est dire que lorsque elles sont appel es elles sont ex cut s imm diatement La mani re d appeler ce genre de fonction est call interface nomFonction 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 post interface nomTache 18 Imm diatement apr s son invocation l ex cution du programme qui l a invoqu se poursuit Les fonctions event sont des fonctions qui sont appel es quand on relevera un signal dans le systeme elles poss dent principalement la m me philosophie que la programmation orient e v nements de sorte que lorsque le composant recoit un v nement on effectue l invocation de cette fonction Il ex
35. nt si une transmission a bien eu lieu ou pas Les deux pri mitives sont fortement li es et par cons quent elles doivent tre impl ment es 26 en meme temps Le code de la primitive SendMsg sendDone 1 event result t SendMsg sendDone TOS MsgPtr msg result_t success T 2 atomic sending packet FALSE 3 return success SE R ception de messages La fonction de r ception ReceiveMsg receive est un v nement et donc doit tre impl ment e avec le mot cl event event TOS MsgPtr ReceiveMsg receive TOS_MsgPtr msg 1 2 TOS_Msg msg tmp msg tampon pour eviter ecrasement du msg 3 loc2 msg_loc msg tmp data 4 test 0 5 sonde FALSE 6 if loc2 id_msg 100 t 7 Sonde TRUE 8 if 1oc2 id ancre TOS LOCAL ADDRESS 4 9 loci id_ancre TOS LOCAL ADDRESS 10 ileal oe se 11 locl y Ey 12 loci z 100 13 loci epsilon psi 14 loci nb_sauts 0 15 loci id msg 100 16 post SendData 17 Tap 18 if sonde FALSE 19 loc2 nb sauts 20 loc2 id msg TOS LOCAL ADDRESS 21 if 10oc2 id ancre TOS LOCAL ADDRESS amp amp 10c2 nb sauts lt seuil 22 loct loc2 post SendData limitation de la diffusion 23 if localisee FALSE on entre ici que Si localisation en cours 24 for i 0 i lt mote i 25 if locali id_ancre loc2 id_ancre 26 ese ie 27 defaireDisque localil x localil y 0 1oca i nb sauts PORTEE 2r 30 3
36. oeud X FIG 3 3 Position estim e du noeud X 22 3 3 Impl mentation L algorithme pr sent par nos tuteurs est impl ment de fa on optimiser les temps de calcul car la puissance de calcul est une ressource critique dans le cas des syst mes embarqu s Dans notre cas nous devons simuler une to pologie d une cinquantaine de capteurs en prenant en compte les temps de transfert des messages ainsi que la capacit de la file o sont stock s les mes sages qui est limit e 7 Le but de cet algorithme et de calculer les positions estim es Ex Ey ainsi que le taux d erreur psi des noeuds en fonction des coordonn es qu on regoit xO yO et du nombre de sauts r2 Nombre de sauts port e du rayon Le code de la fonction principale void faireDisque uint8_t x0 uint8_t y0 uint8_t pla mimos r sl uint32 t aX aY uint8 t nb2 float epsi 0 0 LOEW d 0 05 float d2 0 0 uint8 t liminfxO limsupx0 uint8 t liminfyO limsupy0 if x0 lt r2 1 liminfx0 0 else liminfxO x0 r2 1 limsupx0 x0 r2 1 if limsupx0 gt 50 limsupx0 MAXI 1 if yO lt r2 1 liminfy0 0 else liminfy0 y0 r2 1 limsupyO y0 r2 1 if limsupy0 gt 50 limsupy0 MAXI 1 aX 0 aY 0 nb2 0 Px 0 Py 0 Matriz x0 y0 1 Matriz x0 y0 1 for i liminfx0 i lt limsupx0 1 i for j liminfy0 j lt limsupy0 1 j de S distance Gin je ds if d gt r1 amp amp d lt r2 Matriz i j 1 if vMAXI lt M
37. ogram mation de haut niveau NesC Il s agit d une variante du langage C adapt e ce syst me d exploitation et donc aux capteurs Les outils de programmation compilateur chargeur simulateur etc sont bien entendu sp cifiques L outil fourni avec les modules s appelle MoteWorks Il existe galement des outils libres sous forme d une distribution Ubuntu d di e XubuntOS Chapitre 2 TinyOs et NesC 2 1 Les capteurs Les capteurs MICAZ sont de taille tr s r duite et sont limit s en ressource Ils sont autonomes et capables de traiter des informations ainsi que de les transmettre via des ondes radio ZigBee Trois types de fr quences sont pos sibles pour le signal ZigBee 868 868 6 MHz Europe 902 928 MHz Am rique du nord 2400 2483 5 MHz International Un capteur analyse son environnement il effectue des relev s de mesures et transmet les informations aux autres capteurs se trouvant dans sa zone de cou verture L information se propage de capteur en capteur traversant plusieurs zones le r seau se trouve ainsi compl tement couvert Sur la figure 2 1 un modele de capteur FiG 2 1 Un capteur Architecture g n rique d un Mote T Em FiG 2 2 Architecture d un capteur Architecture d un capteur L architecture des capteurs en g n ral est commune pour tous On peut voir sur la figure 2 2 les diff rents composants qui constituent un capteur M
38. omposants avec des interfaces bidirectionnelles d finies Aussi NesC d finit un mod le bas sur les t ches et les captures d v nements mat riels et d tecte des clatements d information pendant la compilation Un composant du point de vue de la programmation est compos de plu sieurs sections et l ensemble de toutes ces sections donne lieu la cr ation de ce composant Impl mentations Cette section d finit les connections entre les diff rents composants qu uti lise l application Dans cette section implementation sont donc principale ment d finis quels sont les composants qui fournissent les interfaces notre application ils seront g n ralement des composants primitifs G n ralement nous devons utiliser les interfaces que nous fournissent d autres composants primitifs ou non primitifs et en d finitive pour chacune de ces interfaces que nous utiliserons dans la cr ation de notre composant on doit obligatoirement d finir des relations avec les composants qui fournissent ces interfaces Le pro cessus d finissant ces relations s appelle wiring Exemple 1 implementation 2 Components Main MonAppliM s Main StdControl gt MonAppliM StdControl a J Configurations 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 pro grammation modulaire et de r utiliser des composants pr
39. ote Processeur RAM Flash On appelle Mote la carte physique utilisant le syst me d exploitation Le processeur est la base des calculs binaires Les m moires RAM et Flash servent pour le stockage d finitif ou non des donn es Radio Antenne Afin d mettre un capteur a besoin d une antenne et d une radio pour ajuster les fr quences hertziennes LED interfaces capteur Composants pr vus pour mettre en place un r seau de capteurs Batterie Indispensable pour l autonomie du capteur 2 2 Le syst me d exploitation TinyOS 2 2 1 Pr sentation TinyOS est le syst me d exploitation open source pour les r seaux de cap teurs sans fil con u par l universit am ricaine de BERKELEY Sa conception a t enti rement r alis e en NesC langage orient composant qui se rapproche syntaxiquement du langage le plus connu le C TinyOS a t cr pour r pondre aux caract ristiques et aux n cessit s des r seaux de capteurs telles que Une taille de m moire r duite Une basse consommation d nergie Des op rations d assistance intensive Des op rations robustes Il est optimis en termes d usage de m moire et d nergie 2 2 2 Propri t s 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 venements Le reste du temps le capteur se trouve en tat de veille afin de g
40. r boards data acquisition boards gateways and software MoteWorks enables the development of custom sensor applications and is specifically optimized for low power battery operated networks MoteWorks is based on the open source TinyOS operating system and provides reliable ad hoc mesh networking over the air programming capabilities cross development tools server middleware for enterprise network integration and Client user interface for analysis and a configuration E mail info xbow com Processor amp Radio Platform MPR2400CA The MPR2400 is based on the Atmel ATmega128L The ATmega128L is a low power microcontroller which runs MoteWorks from its internal flash memory A single processor board MPR2400 can be configured to run your sensor application processing and the network radio communications stack simultaneously The 51 pin expansion connector supports Analog Inputs Digital I O I2C SPI and UART interfaces These interfaces make it easy to connect to a wide variety of external peripherals The MICAz MPR2400 IEEE 802 15 4 radio offers both high speed 250 kbps and hardware security AES 128 Sensor Boards Crossbow offers a variety of sensor and data acquisition boards for the MICAz Mote All of these boards connect to the MICAz via the standard 51 pin expansion connector Custom sensor and data acquisition boards are also available Please contact Crossbow for additional information Docum
41. s noeuds avec un type de message pr cis Les noeuds lui r pondent en envoyant leur position estim e que nous r cup rons avec le sniffer sinon nous n avons aucun moyen de connaitre les r sultats auxquels sont arriv s les capteurs On se promene donc dans le r seau de capteurs avec la sonde et le sniffer pour recueillir les positions estim es de chaque capteur 29 Chapitre 4 Les tests Au moment de l criture de ce rapport nous n avons malheureusement fait que quelques tests avec peu de capteurs dont un exemple est donn ici En accord avec nos encadrants des tests plus complets seront fournis le jour de la soutenance Conditions du test La figure 4 1 donne la topologie que nous avons utilis e port e 10 seuil de diffusion 3 psi2 gamma 7 rho 3 R sultats du test Voir la capture d cran du sniffer plac entre le n ud 1 et le n ud 2 sur la figure 4 2 Le noeud 1 trouve 17 13 avec epsilon 4 Le n ud 2 trouve 17 21 avec epsilon 4 Analyse du test Apr s r ception des messages des ancres 10 et 11 les noeuds 1 et 2 se positionnent en 17 10 et 17 12 avec des epsilons de 7 et 16 Les noeuds ne diffusent pas leur position cause d epsilon trop grand Ils faut donc avoir recours la sonde lignes 5 12 Le noeud 1 se positionne donc au milieu des ancres 10 et 11 Le noeud 2 se positionne l g rement plus loin car il se sait en liaison directe du noeud 1 et 1 saut d
42. se en uvre de programmes pour ces syst mes I9 Chapitre 3 Les algorithmes AT Free et AT Dist AT Free et AT Dist sont deux algorithmes de localisation par approxi mation Leur but est de permettre aux capteurs de trouver leur position l aide des positions connues de seulement quelques capteurs sp cifiques ap pel s ancres 3 1 AT Free Techniques d approximation Pour calculer la position estim e d finie comme un point de coordonn es Ex Ey d un capteur appel node on se sert de la position d autres capteurs les ancres dont la position est d j connue Pour calculer cette position estim e qui est le centre de gravit de la zone ot le node se trouve on a 3 techniques L utilisation d une technique plut t que d une autre d pendra des caract ristiques des capteurs Par exemple pour la technique utilisant la puissance du signal RSSI il faut que les capteurs soient quip s du module de traitement RSSI Technique d approximation AT Free Avec cette technique un capteur cherche calculer sa position partir des informations re ues sur le r seau Chaque ancre diffuse sa position x y Chaque capteur recevant le message le diffuse son tour Quand un capteur recoit le message il d duit le nombre de sauts entre lui m me et l ancre d apr s la port e du signal Si le nombre de sauts est de un i e l ancre et le capteur sont voisins le capteur se trouve dans le cercle de rayon r la port e
43. sente l tat d un point particulier Or la localisation syst matique par GPS ou manuellement est une solution beaucoup trop co teuse Quand il y a un v nement on veut savoir o il s est produit De plus certains algorithmes de communication routage broadcast utilisent aussi les positions Deux algorithmes de localisation d velopp s par C Saad et al sont impl menter AT Free et AT Dist cf 1 de la bibliographie Les deux algo rithmes sont des volutions de la triangulation AT Free se contente de l exis tence d ar te s autour d un n ud pour tenter de localiser ce n ud Le graphe correspondant n est pas valu AT Dist utilise en plus la puissance du signal pour valuer le graphe La valuation est une distance d duite de la puissance distance s parant le noeud courant au noeud l autre extr mit de l ar te Contexte et contraintes Les modules MICAz sont programmables dans des conditions particuli res comme souvent en informatique embarqu e La programmation ne peut pas tre effectu e directement sur le module Ils sont donc interfac s au PC via USB grace un autre module sur lequel ils s en fichent le MIB 520 Crossbow Les modules MIC Az sont dot s d un syst me d exploitation appel TinyOS adapt au contexte capteur c est dire un environnement industriel des faibles capacit s de traitement et une faible nergie embarqu e Avec TinyOS il n existe qu un unique langage de pr
44. t la r union 1 2 3 il a t convenu de faire des CR chaque r union un module MICAz MIB 520 a t pr sent avec son architecture des outils pour d velopper sur ce module ont t propos XubuntOS TinyViz et Tossim simulateur A ceux ci s ajoute MoteWorks l outil fournit par Xbow le fabricant du module l objectif du TER a t donn impl menter sur le module des algo rithmes de localisation de capteur dans un r seau type ad hoc de cap teurs Les 2 algorithmes impl menter AT Free et AT Dist ont t pr sent Dans les 2 cas il s agit de partir d un graphe repr sentant le r seau de capteurs Chaque noeud du graphe est un capteur et chaque ar te correspond un lien ZigBee Certains noeuds connaissent leur po sition gr ce des informations fournies par GPS Ces noeuds portent le nom d ancre Les 2 algorithmes doivent permettre de connaitre la po sition de tous les autres noeuds par une sorte de triangulation effectu e partir des ancres AT Free n utilise que la pr sence ou non d ar te s d tection ou non d un signal ZigBee pour trouver la position approxi mative d un noeuds Autrement dit le graphe n est pas valu AT Dist utilise en plus la puissance du signal RSSI pour valuer le graphe La valuation est une distance d duite de RSSI un article de C Saad et al pr sentant ces algorithmes a t distribu Un autre article pr sentant un tat de l art sur
45. t orient pour satisfaire les exigences des syst mes embarqu s De plus il supporte un mod le de programmation qui agrege l ad ministration des communications les concurrences provoquant les t ches et les v nements ainsi que la capacit de r agir par rapport ces v nements NesC r alise aussi une optimisation dans la compilation du programme en d tectant les carri res possibles de donn es qui peuvent produire des modifi cations concurrentes au meme tat l int rieur du processus d ex cution de l application Une carri re de donn es se produit quand plus d un fils peuvent simultan ment acc der la m me section de m moire concurrence d acces m moire entre threads et quand au moins l un des acc s est un write NesC simplifie aussi le d veloppement d applications et r duit la taille du code 2 4 1 Les Principales 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 voir figure 2 4 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
46. termin en nous faisant une premi re distribution des t ches pour la se maine qui arrive Prochain rendez vous vendredi prochain ou plus t t selon l avanc e du projet R union 3 Compte rendu 3 21 02 2008 Pr sents tudiants H Alatrista S Aliaga K Gouaich J Mathieu enseignant s Jean Claude K nig Cl ment Saad Julien Champ Sujets abord s 1 mettre au point une installation compl te et op rationnelle de l outil de programmation afin d impl menter le code NesC 2 r fl chir sur l algorithme de diffusion et laborer une m thode pour l al gorithme de d tection des noeuds voisins Commentaires Le sujet de la r union tait essentiellement port sur l tat de notre avancement par rapport aux diff rentes t ches qui nous ont t at tribu es lors des r unions pr c dentes Une planification et distribution de nouvelles fonctions ont t accord es par les encadrants concernant les algo rithmes ainsi que l installation des outils de programmation Il a t convenu aussi que des essais sur les modules seront peut tre envisageables si les cir constances le permettent la difficult repose essentiellement sur l adaptation de la plate forme de programmation 43 R union 4 Nous avons r ussi mettre un message mais nous n arrivons pas a en remplir les champs de donn es R union 5 Nous sommes arriv s transmettre recevoir et traiter des donn es Nous arrivons aussi
47. tion pra tique l a t beaucoup plus et pas seulement parce qu il s est agit de program mation embarqu e En effet les outils sont dispers s et pas tous fonctionnels imm diatement Par exemple Crossbow fournit pour Windows un chargeur et un sniffer mais pas de simulateur Sous Linux on trouve des simulateurs mais ni chargeur pour notre plateforme mat rielle ni sniffer Et les simu lateurs ont des capacit s en fin de compte limit es un seul ex cutable simul la fois broadcast total du r seau obligatoire etc Ces simulateurs ne sont de plus op rationnels qu apr s des manipulations pas videntes trouver En bref aucune plateforme logicielle ne permettait un travail efficace De m me la documentation concernant les biblioth ques NesC propres au mat riel est parpill e dans les sources m me des bibliotheques sans table des mati res ou autre repere pour aider la recherche des informations Ces probl mes ont consid rablement compliqu et retard la mise au point des programmes L autre principale complication concr te concerne les missions et r ceptions de message ZigBee utilise en couche MAC un protocole du type CSMA CA Malgr cela tous les messages ne sont pas percus Nous n en connaissons pas encore la raison On suppose que soit les tampons d entr e sortie sont trop limit s par rapport au d bit des messages soit la priorit des v nements sur les t ches font que des messages ne sont
Download Pdf Manuals
Related Search
Related Contents
Tecumseh AKA2425ZXA Drawing Data CLUB3D Radeon R7 260X royalKing AMD Radeon R7 260X 2GB プレスリリース HP 45 Generac Power Systems 005040-0, 005040-1, 005053-0, 005053-1, 005054-0, 005054 Copyright © All rights reserved.
Failed to retrieve file