Moutie Chehaider INRIA Nancy Grand-Est moutie.chehaider@inria.fr Kevin Roussel INRIA Nancy Grand-Est Universit de Lorraine kevin.roussel@inria.fr Ye-Qiong Song LORIA Universit de Lorraine song@loria.fr RESUME Lutilisation efficace de rseaux de capteurs htrognes ncessite un effort considrable de dveloppement (passerelles matrielles et logicielles), freinant ainsi les dveloppeurs dapplications. Cet article prsente une nouvelle architecture de passerelle permettant dassurer linteroprabilit et de faciliter laccs transparent aux donnes de diffrents types de capteurs, utilise dans le cadre de lhabitat intelligent pour le maintien domicile des personnes !ges"dpendantes. #lus particulirement, nous nous focalisons sur laccs aux rseaux de capteurs sans fil via des services $eb pour des capteurs non pourvus de la pile Co%#"&Lo'#%(. Cette passerelle offre aussi une interface homogne pour accder aux donnes traites par ces capteurs, gr!ce lintgration dune couche middleware base sur )*+ ()obot *perating +ystem). ABSTRACT ,fficient use of heterogeneous sensors net$or-s needs a huge development effort (hard$are and soft$are gate$ays), thus slo$ing do$n application developers. .his article presents a ne$ gate$ay architecture ensuring interoperability and facilitating transparent access to the data offered by various types of sensors, applied to the domain of smart housing for supporting the home care of the elderly"impaired people. /ore especially, $e focus on the access to $ireless sensor net$or-s using $eb services in the case of devices devoid of the Co%#"&Lo'#%( net$or- stac-. .his gate$ay also provides an homogeneous interface for accessing the data processed by these different sensors, than-s to the integration of a middle$are layer based on )*+ ()obot *perating +ystem). Keywords 'eb des ob0ets, )seaux de capteurs, Co%#, ),+., /iddle$are, )*+. 1. INTRODUCTION Les rseaux de capteurs sans fil ('+( 1 'ireless +ensor (et$or-s) ont durant la dernire dcennie pris un r2le sans cesse croissant, et dsormais prpondrant, dans de nombreuses applications destines mettre en place des environnements dits 3 intelligents 4. L5une de ces applications concerne la mise en place de lieux de vie (appartements, maisons...) dots de rseaux de capteurs permettant de suivre et d5analyser les faits et gestes de leurs occupants 6 lors7ue lesdits occupants souffrent d5une perte d5autonomie (personnes !ges, handicapes), cette surveillance permet d5amliorer leurs conditions de vie 1 en leur offrant une assistance ractive adapte leurs besoins, en facilitant le travail des diffrents intervenants domicile (professions de sant, auxiliaires de vie) et surtout en permettant de donner l5alerte en cas de survenue d5une situation criti7ue 1 malaise, chute... 8n tel 3 domicile intelligent 4 peut permettre d5viter ou du moins retarder le moment o9 la personne devra :tre retire de son logis pour :tre place en maison de retraite ou l5h2pital. Le maintien domicile est tou0ours prfrable, humainement et conomi7uement, 7uand les conditions (notamment mdicales et environnementales) le permettent. #our :tre efficaces, notamment dans des applications ainsi lies la sant, de tels rseaux doivent le plus souvent faire intervenir un ensemble trs htrogne de capteurs, actionneurs, et autres appareils lectroni7ues embar7us 1 ces systmes htrognes reposent sur l5interoprabilit de ces diffrents lments. La dite interoprabilit ncessite de suivre des standards prcis et adapts, mais aussi un certain travail de recherche et des dveloppements importants pour mettre en synergie ces diffrents standards de fa;on optimale. L5un des ob0ectifs du travail prsent dans cet article est de mettre disposition sur <nternet, de fa;on simple, efficace et s=re, les donnes fournies par ces rseaux de capteurs htrognes, facilitant ainsi le dveloppement des applications tierces pour le maintien domicile (suivi et analyse des activits 7uotidiennes, de lvolution de sant, assistance, >). (ous avons ainsi t amens faire interoprer plusieurs standards 1 ,thernet, 'i?i, @luetooth, ,<@"A(B et les standards des '+( (<,,,CDE.FG.H, Iigbee, &Lo'#%() au travers dune passerelle munie dune couche middleware appel /#<Jate (http1""mpigate.loria.fr") KFL. Cette passerelle est exprimente dans le cadre dune plateforme dappartement intelligent au L*)<% (ancy (http1""infositu.loria.fr"), ainsi 7ue dans le cadre du pro0et #%L d<nria (https1""pal.inria.fr"). Jr!ce cette passerelle, laccs des donnes htrognes est grandement simplifi, 7ue ce soit pour des programmes via des %#<, ou pour le 'eb via <nternet. Mans cet article, nous allons prsenter deux aspects rcemment dvelopps autour de cette passerelle 1 accs via le 'eb aux '+( non pourvu de la pile Co%#"&Lo'#%( mais respectant larchitecture ),+."N..# ()epresentational +tate .ransfer), et intgration de la couche middleware base sur )*+. ,n effet, bien 7ue larchitecture ),+.ful soit rendue possible sur certains nOuds de '+( gr!ce la pile Co%#"8M#"&Lo'#%( KGL, bon nombre d5autres capteurs existants sappuient sur dautres Copyright is held by the author"o$ner(s) UbiMob 2013, GP& 0uin EDFQ, (ancy, ?rance. h a l - 0 0 8 7 7 4 5 1 ,
v e r s i o n
1
-
2 8
O c t
2 0 1 3 Manuscrit auteur, publi dans "UbiMob - 9mes journes francophones Mobilit et Ubiquit - 2013 (2013)" protocoles tels 7ue Iigbee ou Bbee. (otre premier ob0ectif est donc de rendre possible laccs via le 'eb ces derniers, exactement de la m:me fa;on 7ue pour accder un nOud muni dun serveur Co%#. Cette transparence daccs passe par le dveloppement dun composant dans notre passerelle. Lintgration dun middleware vise un ob0ectif plus global. <l sagit doffrir une modle unifi 7ui cache lhtrognit et assure la distribution des donnes par un modle 3 publisherR subscriber 4. Laccs aux donnes est ainsi rendu facile, 7ue ce soit pour les utilisateurs via un navigateur $eb, ou pour les programmeurs via des %#< ad7uates. Le premier travail consiste donc crer une passerelle entre des rseaux de capteurs non munis de la pile Co%#"&Lo'#%( et <nternet. Cette passerelle doit notamment :tre pour cela capable d5assigner une adresse globale uni7ue (<#vH"<#v&, ou 8)<) chacun des noeuds des '+(, et de router correctement re7u:tes et rponses entre les deux mondes. Me plus, comme les noeuds composant les '+( sont htrognes, et 7ue CDE.FG.H est un protocole de bas niveau (n5allant auRdel de la couche liaison, contrairement la pile .C#"8M#"<#), la passerelle doit galement grer les diffrences d5implmentation 7ui en dcoulent au niveau des couches rseau, transport et application 6 et ce de fa;on transparente pour 7ui l5interroge depuis <nternet, par le biais d5une interface uni7ue d5interrogation. L5<nternet ,ngineering .as- ?orce (<,.?) travaille actuellement l5adaptation d5<# S dans sa version & S au monde de l5embar7u et ses limitations 1 ces travaux ont notamment permis l5apparition de la norme &Lo'#%( (<#v& for Lo$Rpo$er 'ireless #%() KEL, KQL. +i cette norme ouvre la voie l5utilisation d5<#v& par dessus un protocole de plus bas niveau tel 7ue CDE.FG.H, elle ne rgle pas tous les problmes 1 la nouvelle norme a notamment d= sacrifier la compatibilit avec <#v& pour rester suffisamment lgre 6 les pa7uets &Lo'#%( ne sont pas directement routables sur <nternet, une passerelle reste donc encore ncessaire pour interconnecter les deux mondes KGL. #lusieurs architectures de passerelles ont d0 t proposes, dans nombre de travaux antrieurs, afin de parvenir une interoprabilit entre rseaux &Lo'#%("CDE.FG.H et <nternet. Les solutions existantes incluent notamment un proxy <#v& pour les '+( KHL, ou encore une passerelle 'eb proposant une architecture ),+. KGL. /alheureusement, aucune d5entre elles ne permet de travailler avec des noeuds incapables d5offrir une pile &Lo'#%( par dessus CDE.FG.H 1 les nombreux capteurs reposant sur la norme Iig@ee (une autre pile rseau 3 de haut niveau 4 s5appuyant sur CDE.FG.H, plus lgre 7ue &Lo'#%( mais totalement incompatible) ncessitent des passerelles spcifi7ues pour :tre atteints depuis <nternet. L5importance de ces '+( bass sur Iig@ee, notamment en terme d5applications industrielles d0 bases sur cette technologie, nous a conduit dvelopper une solution permettant de relier ces derniers l5<nternet des *b0ets, de la m:me fa;on 7ue pour accder les capteurs &Lo'#%( via Co%#"N..#. La solution 7ue nous dcrivons dans ce papier est conceptuellement trs simple 1 nous relions des '+(s bass sur diffrents protocoles (CDE.FG.H seul ou avec &Lo'#%(, pile Iig@ee complte) <nternet (ou tout autre rseau <# classi7ue), gr!ce un middleware S spcialement dvelopp dans ce but S bas sur )*+. Ce middleware fournit une couche d5abstraction protocolaire, permettant de communi7uer avec les diffrents noeuds des '+( de fa;on totalement transparente, en utilisant des services 'eb bass sur une architecture ),+.. La souplesse de notre solution lui permet de s5adapter de fa;on autonome et efficace toutes les combinaisons possibles de '+(s, et d5offrir un mode d5accs simple et performant aux donnes mises disposition par ces derniers. (ous esprons ainsi faciliter grandement le dveloppement des applications d5environnement intelligent. (ous prsentons notamment ciR dessous un cas d5utilisation de notre passerelle dans 3 l5appartement intelligent 4 prsent au L*)<% (ancy, dans le cadre des pro0ets visant permettre le suivi des personnes !ges domicile. La section E du prsent papier offrira un panorama rapide rappelant l5tat de l5art actuel concernant l5interconnexion entre '+(s et <nternet des ob0ets. La partie Q prsentera ensuite l5architecture de notre solution, ainsi 7ue les fonctionnalits offertes. La partie H se concentrera elle sur la fa;on dont sont implmentes les communications entre d5une part notre passerelle, et d5autre part les noeuds des '+(s et <nternet. La partie G dtaillera le cas de l5utilisation de notre solution au sein de 3 l5appartement intelligent 4 du L*)<%. ,nfin, l5article se terminera par une conclusion et une discussion sur les futurs dveloppements de nos travaux. 2. ETAT DE LART Lintgration des '+(s l<nternet ne date pas dau0ourdhui. <l existe de nombreux travaux de dfinition et de dveloppement de passerelles selon deux approches. Lapproche la plus rcente considre 7ue les nOuds sont munis de la pile N..#".C#"8M#"&Lo'#%( et dveloppe des passerelles lgres pour accder ces capteurs KHL, KGL, KTL, KCL. La seconde approche sadresse linterconnexion l<nternet des '+(s dont les nOuds ne sont pas pourvus de &Lo'#%(, par le dveloppement de passerelles faisant la conversion entre protocoles (e.g. Iigbee gate$ay et bridge) KUL, KFDL. Jopinath et al. KHL prsentent une architecture de communication pointRRpoint entre des machines sous <#v& et des capteurs &Lo'#%(. Mes tests de performances montrent une latence entre FDDms et FQGms, 0uge satisfaisante pour des applications courantes. Cette solution est nanmoins limite un nombre fixe de clients pouvant interroger les capteurs. Les re7u:tes des clients, arrivant sous la forme de pa7uets <#v&, sont traduites par la passerelle en des trames CDE.FG.H. 8n autre inconvnient de cette proposition est 7uelle rpond uni7uement des besoins spcifi7ues, et nest pas compatible avec dautres plateformes ou systmes nutilisant pas l<#v&. #our y remdier, une architecture intressante a t propose par Colitti et al. KGL. <l sagit d5une passerelle permettant dintgrer des capteurs &Lo'#%( avec l5<nternet des *b0ets, en se basant sur des applications 'eb avec architecture ),+. ()epresentational +tate .ransfer) et le protocole N..# (Nypertest .ransfer #rotocol). La passerelle 0oue le r2le d5un serveur proxy 7ui permet de relayer les re7u:tes N..# des clients directement vers les nOuds. +ur cha7ue nOud, un serveur N..# allg est install pour rpondre de fa;on autonome aux re7u:tes des clients. Linteraction entre les capteurs et les applications $eb est assure par une machine 7ui agit en tant 7ue serveur $eb et proxy 1 le serveur $eb de la passerelle permet dinterroger les serveurs N..# implments sur les nOuds, et le proxy tablit la communication avec le rseau de capteurs via un routeur de bordure )#L. Ladaptation et l5intgration de cette architecture notre solution nous a permis dassurer linteroprabilit de nos capteurs 'aspmote avec notre passerelle. Le middle$are M<J<N*/,, dcrit par )omero et al. en KFFL, offre une plateRforme ambitieuse, base sur la technologie ),+., permettant l5intgration de donnes issues de capteurs trs divers (notamment ceux faisant partie de '+() collectes l5aide des protocoles varis (.C#"<#, Iig@ee, 8#n#, etc.) .outefois, ce h a l - 0 0 8 7 7 4 5 1 ,
v e r s i o n
1
-
2 8
O c t
2 0 1 3 pro0et s5intresse principalement la domoti7ue 3 pure 4, et ne prvoit pas d5interconnecter les rseaux htrognes ainsi grs <nternet 6 la notion d5<o. est absente de ce pro0et, dont le but est en fait de permettre la gestion d5un habitat intelligent via une interface adapte aux terminaux mobiles (nommment les +martphones). Les choix techni7ues retenus par le pro0et sont par cons7uent diffrents des n2tres, M<J<N*/, ne se limitant pas aux appareils limits 7ue sont les capteurs '+(, et ayant recours des technologies (Vava, B/L, +*%#, ,+@, etc.) trop exigeantes en termes de puissance matrielle 6 il nous tait par cons7uent impossible de rutiliser les travaux fournis par ce pro0et. ,n lien direct avec lapplication de maintien domicile 7ue nous visons, Vara et al. K&L prsentent une solution base sur des capteurs sans fil mobiles &Lo'#%( connects une base de donnes mdicale dploye sur une passerelle, pour le suivi de sant de personnes dpendantes. Les informations des capteurs sont envoyes via le protocole J#)+. /alheureusement, cette solution assure 0uste la collecte de donnes 1 elle ne prsente pas de dtails 7uant au fonctionnement de la passerelle. (otre tude dtat de lart montre 7ue toutes les solutions proposes fournissent un accs soit des rseaux sans fil bass sur le protocole &Lo'#%(, soit des rseaux de capteurs non pourvus de la pile &Lo'#%(, mais aucune ne supporte les deux mondes la fois. Mans ce papier, nous prsentons une passerelle vers des rseaux de capteurs htrognes, implment sur une couche middleware base sur le paradigme 3 #roducteur " Consommateur 4. Lob0ectif de cette couche middleware est dassurer laccs aux donnes des capteurs depuis <nternet via des services 'eb, ou encore des services de distribution de donnes, pour permettre dautres 7uipements de communi7uer avec nos capteurs via le rseau <#. La figure F montre la communication des capteurs avec un rseau <# via la passerelle. Figure 1 I!"er#$"io! du r%se#u de $#&"eur #'e$ (e r%se#u I) *. ARC+ITECTURE DE LA )ASSERELLE La passerelle est con;ue pour supporter de bout en bout des communications entre des applications 'eb (depuis <nternet) et des rseaux de capteurs sans fils htrognes dploys dans un habitat intelligent. Meux types de communication peuvent :tre traits par la passerelle 1 Communication par interrogation 1 8n client 'eb interroge directement les ressources d5un capteur sans fil CDE.FG.H dploy dans l5appartement. Communication spontane 1 Les capteurs sans fil envoient, soit priodi7uement, soit en cas dvnement, leurs donnes la passerelle. Le client $eb peut alors rcuprer la dernire valeur envoye par le capteur. Wuelle 7ue soit la mthode de communication employe, la passerelle permet d5assurer les fonctionnalits suivantes 1 <dentification des capteurs 1 reconnaissance de cha7ue capteur de fa;on uni7ue via son"ses <M, ainsi 7ue du type de capteur et de sa localisation (pice dans lappartement) 6 fourniture de la liste des capteurs actifs et enregistrement de leur adresse /%C, pour faciliter les interrogations ultrieures. Capture des donnes 1 rcupration des informations prsentes dans l5environnement, avec leur contexte. <nterconnexion des rseaux 1 connexion des rseaux de capteurs htrognes bass sur le protocole CDE.FG.H avec le rseau <# public 6 utilisation possible d5,thernet comme rseau de transport pour transfrer les donnes aux clients situs sur des sites distants. <ntgration et dploiement 1 gr!ce au service de dcouverte, la passerelle peut s5adapter de manire autonome cha7ue nouveau capteur arrivant dans les rseaux de capteurs sans fil installs dans lappartement 6 gnration dynami7ue (sans besoin de reconfiguration par l5administrateur) de liens 'eb pour accder aux donnes des nouveaux capteurs via <nternet. %bstraction visRRvis du format des donnes 1 lors de la rcupration de trames (Iigbee " Bbee " CDE.FG.H " >), la passerelle traite cellesRci afin de fournir une couche dabstraction, o9 tous les capteurs sont prsents sous forme d5ob0ets virtuels dans un espace de donnes partag 6 cette couche facilite l5accs aux donnes de fa;on transparente. Figure 2 Ar$,i"e$"ure de (# &#ssere((e L5architecture de la passerelle globale tant d0 prsente dans KF L, nous nous focaliserons ici uni7uement sur la partie Bbee " <,,, CDE.FG.H. La passerelle est dcoupe en 7uatre couches (?igure E), dtailles du bas en haut comme suit1 Cou$,e Dri'ers1 cette couche connecte deux modems sans fil de type Bbee. Ces modems assurent une communication bidirectionnelle avec les capteurs. Le premier est un coordinateur du rseau CDE.FG.H servant couter le rseau en permanence pour rcuprer les donnes et les remonter la couche middleware. Le deuxime modem sert envoyer des re7u:tes pour interroger les capteurs. Ce modem est reli une %#< Bbee transformant une demande de ressource en une trame d5interrogation. Lutilisation du double modem est ncessaire cause du mode 3 halfRduplex 4 impos 1 nous devons viter la perte de donnes " d5vnements pendant linterrogation dautres capteurs. h a l - 0 0 8 7 7 4 5 1 ,
v e r s i o n
1
-
2 8
O c t
2 0 1 3 Cou$,e Middleware cette couche est une interface de liaison entre l5entre du systme (trames Iigbee"Bbee rcupres) et la couche d5abstraction de donnes dans la7uelle les capteurs sont prsents sous forme d5ob0ets virtuels. L5intgration d5une couche middleware permet en effet de grer la distribution de donnes entre les composants logiciels de la passerelle. L5implmentation de la couche middleware se divise en deux tapes 1 premirement, un module )*+ 0ouant le r2le d5ordonnanceur est reli au modem de rception. Ce module permet d5analyser et traiter les trames Iigbee " Bbee rcupres, pour crer des 3 publishers 4 publiant des instances des messages re;us sous forme de 3 topics 4 )*+. Cha7ue 3 topic 4 correspond l5ensemble des messages envoys par un capteur pour une type de valeur prcis, formant ainsi un flux de donnes homognes. La liaison entre 3 topics 4 et capteurs se fait via les <M des capteurs. La deuxime tape consiste crer des 3 subscribers 4 sinscrivant aux 3 topics 4 de fa;on ad7uate, et attacher cha7ue 3 topic 4 un capteur virtuel pour mettre 0our les variables de cet ob0et cha7ue rception d5une trame. Le choix inhabituel de )*+ est 0ustifi principalement pour deux raisons 1 F) la facilit dintgration avec le monde roboti7ue, car la passerelle assurera ainsi aussi bien les interactions avec les robots dassistance 7u5avec les capteurs environnementaux 6 E) le besoin dun modle de distribution 3 Publisher / Subscriber 4 pour les donnes " services, afin d5accder de manire transparente ces derniers. Cou$,e d-#.s"r#$"io! 'is/0/'is des do!!%es celleRci prend la forme d5un espace de donnes partag entre le serveur $eb (),+.ful) et la couche middleware. Mans l5architecture de la passerelle, cet espace partag est un ensemble de ressources ),+. se prsentant sous forme de nOuds virtuels. Ces nOuds sont des ob0ets dynami7ues 7ui forment une reprsentation l5identi7ue des capteurs au sein de la passerelle 6 plus prcisment 1 cha7ue ob0et correspond un capteur, et est aliment par les ressources envoyes par ce capteur. Mans cette couche, on trouve aussi une table de correspondance entre les <M et les adresse /%C des capteurs prsents sur le rseau. ,lle est utilise pour lister les capteurs actifs et pour les interroger facilement et rapidement. Cou$,e #&&(i$#"i'e au plus haut niveau se trouve le serveur ),+. permettant d5analyser et d5excuter les re7u:tes des clients. #our cha7ue re7u:te N..# re;ue, le serveur la transfre vers le capteur cibl s5il est directement interrogeable, sinon il renvoie la dernire valeur transmise par le capteur d0 prsente dans les ob0etsRressources ),+.. L5implmentation du middleware )*+ dans une passerelle vers l5<nternet des *b0ets nous permet de prsenter les donnes issues des capteurs sous forme de services. Ces services simplifient la communication des capteurs sans fil relis la passerelle avec d5autres systmes embar7us bass sur le systme )*+ (comme les robots 'iR?i). M5autre part, l5intgration de la couche intergicielle )*+ permet d5assurer la robustesse d5une communication temps rel entre les services 'eb et les capteurs 1 en effet, une architecture classi7ue reposant sur une base de donnes introduit souvent un temps de latence li la mise 0our de cette base. Comme nous le verrons par la suite, la couche )*+ permet aussi d5enrichir les fonctionnalits de la passerelle par l5ad0onction de services assurant la supervision des rseaux de capteurs. 1. S2STEME DE COMMUNICATION DE LA )ASSERELLE #armi ses points forts, la passerelle est capable de s5adapter dynami7uement l5a0out des nouveaux capteurs aux rseaux 7u5elle gre. Ces capteurs doivent imprativement suivre une structure de donnes standard dfinie par notre plateforme (structure hrite du pro0et d5appartement intelligent). Le format dfini est le suivant 1 {CapteurID, dresseMC, !ocalisatio", Date, #omde$ariable%1&, $aleurde$ariable%1&, ', #omde$ariable%"&, $aleurde$ariable%"&( *9 #omde$ariable%i& et $aleurde$ariable%i& forment un couple de donnes 7ui identifie la nature de variable et sa valeur. %ctuellement les i variables utilises dans lappartement sont 1 F R .emprature, E R Luminosit, Q R #ression, H R *uverture des portes, G"&"T R %cclration B"X"I, C R #rsence, U R (iveau de batterie. Figure * Ser'i$e de d%$ou'er" de (# &#ssere((e La figure Q illustre le fonctionnement du service de dcouverte de la passerelle. Lors du dmarrage d5un capteur, deux trames de dcouverte sont envoyes la passerelle. La premire trame avec le tag 3 I)m *ere 4 permet un capteur nouvellement arriv d5informer la passerelle de sa prsence. Lors de la rception de cette trame, la passerelle vrifie lexistence de l5<M fourni dans la 3 #odes Map 4 6 sil nexiste pas, un nouveau nOud virtuel correspondant l5<M de ce capteur est cr, ensuite un lien 'eb d5interrogation de ce capteur est gnr. La deuxime trame permet d5initialiser les ressources du nOud virtuel avec les premires donnes issues du capteur. Ces ressources sont enregistres par la passerelle via la mthode dcrite ciRdessous. Mans notre plateRforme, la passerelle admet une adresse <# fixe, accessible depuis <nternet, au sein du rseau L*)<%. % partir de sa page d5accueil (http1""mpigate.loria.fr"sensors") la passerelle liste les capteurs prsents et permet leur interrogation. Mans cette liste, cha7ue capteur est spcifi par son <M, sa localisation et ses ressources 1 luminosit, temprature, dtection de prsence, ouverture de porte, pression sur une chaise ou un lit. #our cha7ue capteur, une 8)L (par ex. 1 http1""localhost"sensors"FH"readings) est gnre automati7uement lors de la dtection. La figure H illustre l5interaction entre les diffrentes couches constituant la passerelle pour assurer la communication de bout en bout entre un client 'eb et un capteur sans fil. h a l - 0 0 8 7 7 4 5 1 ,
v e r s i o n
1
-
2 8
O c t
2 0 1 3 Wuand le serveur ),+. re;oit une re7u:te J,., il rcupre ladresse /%C du capteur depuis la table de correspondance (3 #odes Map 4) puis transmet la re7u:te sur le modem metteur (3 +bee Se"der 4) pour interroger le capteur. Le capteur re;oit la trame Bbee et renvoie la rponse vers le modem rcepteur (3 +bee ,ecei-er 4). La communication entre les capteurs et la station de base se fait en unicast bas sur un adressage F& bits. 8ne fois la rponse du capteur re;ue et traite, la passerelle met 0our les ressources du nOud virtuel, gardant ainsi en mmoire la dernire valeur, et renvoie les donnes au client. ,n cas dinterrogation dun capteur devenu indisponible, ou bien incapable de rpondre une re7u:te directe, la passerelle peut ainsi rpondre en fournissant la dernire valeur rcupre. La passerelle offre deux modes de communication avec <nternet 1 le premier est bas sur une architecture ),+., et emploie le protocole N..# pour supporter la conversation entre client 'eb et passerelle 6 le deuxime est bas sur les fonctionnalits de communication large distance 7u5offre le middleware )*+. ,n effet, gr!ce )*+ les donnes Iigbee ou Bbee sont reproduites sous forme de 3 topics 4, puis rcupres par le module standard )*+bridge, 7ui peut ensuite les retransmettre (via l5usage de 3 websoc.ets 4) vers des clients 'eb distants. Cette procdure permet de prsenter les donnes issues des capteurs S de fa;on transparente S sous forme d5un service 'eb public, utilisable par des robots et plus gnralement par tout 7uipement supportant l%#< )*+.
Figure 1 Co33u!i$#"io! de .ou" e! .ou" e!"re u! $(ie!" we. e" (e r%se#u de $#&"eurs Mans la section suivante, nous prsentons des scnarios et des cas d5utilisations rels de la passerelle dans lappartement intelligent du L*)<%, d5une part pour grer une communication distante entre des capteurs sans fil et des clients 'eb via <nternet, et d5autre part pour prsenter linteraction de la couche middleware avec dautres technologies. 4. IM)LEMENTATION DE LA )ASSERELLE La passerelle a t l5origine dveloppe pour assurer lintgration des capteurs sans fil dploys dans un appartement intelligent avec des applications 'eb. Mes scnarios de test sont raliss dans notre plateforme dexprimentation pour valider larchitecture de la passerelle et montrer les solutions 7ue peuvent fournir la passerelle pour lassistance et le suivi des personnes !ges et"ou dpendantes. 4.1 )(#"e5or3e de6&%ri3e!"#"io! La figure G illustre la structure de lappartement intelligent du L*)<%"<()<% (ancy KFL. Figure 4 I3#ge "e3&s r%e( de (#&&#r"e3e!" de N#!$y Mans cet appartement, deux types de capteurs sans fil (issus de concepteurs diffrents) sont dploys 1 capteurs 'aspmote, utilisant le protocole CDE.FG.H 1 certains sont installs pour dtecter la prsence de personnes sur les fauteuils et sur le lit, dautres pour dtecter louverture et la fermeture des portes des chambres et du frigo 6 les capteurs de pression et d5ouverture de portes envoient automati7uement leurs donnes la passerelle lors de la dtection dvnements (afin dconomiser lnergie, leur metteur " rcepteur radio est par dfaut mis en veille, pour :tre activ seulement par la dtection d5un vnement transmettre, ici 1 la dtection d5un contact ou d5une pression) 6 les autres capteurs 'aspmote (ddis la dtection de prsence, de temprature et luminosit) envoient eux leurs donnes en rponse une re7u:te (et ne bnficient donc pas du m:me mcanisme d5conomie d5nergie) 6 capteurs .elos@ sous *+ Conti-i 1 ddis la mesure de la luminosit et la temprature des pices 6 ces capteurs sont diviss en deux catgories 1 ceux 7ui utilisent la pile &Lo'#%( et communi7uent avec la passerelle via le 3 ,P! border router 4, et ceux 7ui utilisent uni7uement la couche /%C de Conti-i (3 rime 4) en envoyant leurs donnes au modem 3 +/ee ,ecei-er 4 de la passerelle. La passerelle a bnfici de nos dveloppements diffrents niveaux 1 un module )*+ t dvelopp en CYY et install en aval du modem 3 +/00 ,ecei-er 4 pour rcuprer, traiter, et ensuite publier les trames Iig@ee re;ues sous forme de 3 topics 4 )*+ dans lespace de donnes partag local. 8n autre module )*+ a t dvelopp en Vava et install au sein du serveur ),+., afin de relier lespace de donnes partag du middleware avec les ressources du serveur ),+. 1 ce module Vava se charge en effet de reprsenter les 3 topics 4 )*+ sous forme de nOuds virtuels. Le middleware )*+ assure linteroprabilit entre ces modules dvelopps avec des langages diffrents. (otre ob0ectif est de relier le rseau de capteurs sans fil de lappartement aux rseaux <# (et notamment <nternet), afin de fournir accs aux donnes suivant plusieurs schmas bien dfinis, ces schmas tant les suivants 1 %ccs local 1 fourniture d5une interface $eb de supervision pour relever ltat des capteurs. h a l - 0 0 8 7 7 4 5 1 ,
v e r s i o n
1
-
2 8
O c t
2 0 1 3 %ccs distant offert aux professions de sant 1 fourniture d5une interface dactimtrie accessible via <nternet, pour lister les activits 7uotidiennes des personnes supervises pendant une 0ourne. Ces donnes sont publies en temps rel sur Joogle %genda. %ccs distant aux donnes brutes 1 fourniture d5un service 'eb et d5un service )*+ pour transfrer les donnes des capteurs des cosystmes externes. 4.2 R%su("#"s &r%(i3i!#ires Cette section liste des cas dutilisations de la passerelle et des applications dveloppes dans lappartement du L*)<%. (os rsultats sont galement accompagns des mesures de performance de la couche middleware afin de valider l5efficacit de notre architecture. L5interrogation des capteurs relis la passerelle se fait par le biais d58)< devant respecter un format prcis 1 le prfixe (8)L de la passerelle 1 http1""mpigate.loria.fr) doit :tre suivi de 1 "sensors"list 1 renvoie la liste des capteurs prsents sur le rseau "sensors"ZcapteurID["readings 1 renvoie l5ensemble de toutes les valeurs lues par le capteur. "sensors"ZcapteurID["Z-ariable[ 1 renvoie la valeur dune seule variable lue par le capteur. La figure & montre un exemple daccs aux capteurs via la passerelle. *n voit gauche la page daccueil listant les capteurs connects au rseau Iigbee, avec un lien d5accs 6 droite se trouve un exemple de rponse une re7u:te envoye un capteur de temprature. Figure 7 Lis"e des $#&"eurs e" e6e3&(e di!"errog#"io! ,""& #our valider larchitecture de la passerelle et montrer linteraction de la couche middleware avec dautres services, nous prsentons maintenant des exemples dapplications dveloppes et testes dans lappartement intelligent du L*)<%. Mans une plateforme $eb, toutes les donnes Iigbee sont interprtes et reprsentes sous forme graphi7ue. ,n effet, gr!ce au module )*+@ridge publiant les 3 topics 4 )*+ sous forme de services 'eb, cha7ue dtection dvnement aboutit la fourniture automati7ue des donnes issues des capteurs sur le 'eb. Comme on le voit sur la figure G, on peut visualiser de fa;on graphi7ue l5tat des capteurs domoti7ues (Iigbee et autres) depuis un simple navigateur 'eb. Cette interface permet ainsi de suivre les activits de la personne supervise ainsi 7ue ltat de son environnement en temps rel 6 par exemple, la figure G nous montre 7ue notre patient est dans son lit, mais a laiss la porte du frigo ouverte et la lumire de la salle manger allume. #our tester le fonctionnement de la passerelle dans un environnement rel, nous nous sommes focaliss sur linteraction des capteurs sans fil avec un service domoti7ue et des robots d5assistance. Mans ce but, nous avons ralis les deux scnarios suivants 1 Capteurs sa"s 1il et domoti2ue 1 le matin, lors7ue le patient se lve (cela est dtect par un capteur de pression sous le lit), la passerelle va d5abord allumer la lumire de la chambre puis ouvrir le volet roulant. ,nsuite, laide dun capteur de luminosit install dans la chambre, le systme prend la dcision dteindre ou non la lumire afin dconomiser lnergie (cf. http1""mpigate.loria.fr"). Capteurs sa"s 1il et robot 1 un robot 'iR?i, 7uip dune camra infrarouge, communi7ue avec la passerelle pour se faire relayer les donnes du capteur de pression situ sous le lit. %insi, le robot est programm pour se diriger vers le lit si le capteur sans fil dtecte une prsence anormale (tardive) du patient dans son lit. (cf. http1""mpigate.loria.fr" demonstration"interaction)obot.avi) 4.* E"ude de &er5or3#!$es Le middleware bas sur )*+ introduit des dlais supplmentaires. La figure T montre les traitements ncessaires entre larrive dune trame Iigbee, sa publication en tant 7ue 3 topic 4 )*+ (.F ), sa distribution vers le 3 subscriber 4 via un rseau local ,thernet (.E), et sa prise en compte par le 3 subscriber 4 (.Q). Mans ce scnario, le rapidit moyenne de publication du 3 topic 4 )*+ est excellente 1 .F\D,H ms. Le dlai de bout en bout (.F Y .E Y .Q) est de lordre de H,G ms, ce 7ui est satisfaisant pour toutes nos applications. Figure 8 D%(#i de .ou" e! .ou" #u "r#'ers (e middleware ROS e" u! r%se#u (o$#( E",er!e" 7. CONCLUSION Lutilisation efficace des capteurs htrognes pour lhabitat intelligent, et plus particulirement dans le but du maintien domicile des personnes !ges et"ou dpendantes passe par un effort de dveloppement de solutions dinteroprabilit. Mans ce papier, nous avons prsent nos dveloppements rcents 7ui a0outent la passerelle /#<Jate (http1""mpigate.loria.fr") la capacit dadresser des capteurs sans fil via les protocoles ),+."N..#, 7ue ces capteurs soient ou non munis de la pile &Lo'#%(. Linteroprabilit est aussi renforce par le dveloppement dune couche middleware, permettant ainsi un accs homogne transparent aux donnes des diffrents types de capteurs. Meux rsultats originaux sont prsents dans ce papier. Le premier consiste en la couche middleware base sur )*+ ()obot *perating +ystem). Ce choix est surtout motiv par lintgration des robots dassistance dans nos rseaux de capteurs, constituant ainsi un vritable rseau de capteurs et actionneurs oprationnel malgr lhtrognit des matriels et protocoles sousR0acents. h a l - 0 0 8 7 7 4 5 1 ,
v e r s i o n
1
-
2 8
O c t
2 0 1 3 Les premires mesures ont montr des performances trs satisfaisantes. Le deuxime est dordre techni7ue et pragmati7ue 1 il sagit du dveloppement dune composante de la passerelle permettant daccder via le 'eb non seulement aux capteurs sans fil munis de la pile Co%#"&Lo'#%(, mais aussi aux capteurs 7ui en sont dpourvus. %insi ce dernier rsultat tend les solutions de passerelles existantes 7ui ne se focalisent 7ue sur l5un ou l5autre de ces types de capteurs. (os travaux futurs porteront sur ltude des interactions entre les capteurs sans fil et les robots dassistance, ainsi 7ue sur la gestion par notre passerelle de la 7ualit de service (Wo+), dans le cadre du pro0et L%) (3 !i-i"3 ssista"t ,obots 4). 8. REFERENCES [1] Cru]R+anche] N., Navet L., Chehaider /., +ong X.RW., ^MPI4ate5 Solutio" to use *etero3e"eous #etwor.s 1or ssisted !i-i"3 pplicatio"s6, .he Uth <,,, <nternational Conference on 8bi7uitous <ntelligence and Computing (8<C EDFE) (EDFE) FDHRFFF [2] Aushalnagar, (. /ontenegro, J, and +chumarer, C. 7IP-8 o-er !ow9Power :ireless Perso""al rea #etwor.s %8!o:P#s&5;-er-iew, ssumptio"s, Problem Stateme"t, a"d 4oals6 )?C HUFU [3] +helby, I and @ormann, C. 'iely, EDDU ^8!o:P#5 <he :ireless 0mbedded I"ter"et_ [4] Jopinath, ). Ieldi, +. )e]a, A 8sman, +. /a]lan, % and +ures$aran, EDFE. ^IP-8 :ireless Se"sor #etwor. 4atewa= Desi3" a"d 0"d9to90"d Per1orma"ce "al=sis_. +,(+*)C*// [5] Colitti, '. +teenhaut, A, Me Caro, (. @ogdan, @ and `irgil, M. EDFF. ^,0S< 0"abled :ireless Se"sor #etwor.s 1or Seamless I"te3ratio" with :eb pplicatio"s_. <,,, /%++ EDFE [6] Vara, %. V. Iamora /. a and %. ?. J. +-armeta, , EDDU. ^*:S#85 *ospital :ireless Se"sor #etwor.s /ased o" 8!o:P# <ech"olo3=5 Mobilit= a"d >ault <olera"ce Ma"a3eme"t_, EDDU <nternational Conference on Computational +cience and ,ngineering, pp. CTURCCH [7] Ma +ilva Campos, @., )odrigues, V.V.#.C., /endes, L.M.#., (a-amura, ,.?., ?igueiredo, C./.+., ^Mesign and Construction of 'ireless +ensor (et$or- Jate$ay $ith <#vH"<#v& +upport_, <CCEDFF, .o-yo, GRU Vune EDFF. [8] Voel V. #. C. )odrigues and #aulo %. C. +. (eves, 7 sur-e= o" IP9based wireless se"sor "etwor. solutio"s6, <nt. V. Commun. +yst. EDFD6 EQ1U&QPUCF, 'iley <nter+cience. [9] Iigbee alliance, ^(et$or- device1 gate$ay specification, version F.D, /arch EQrd, EDFF [10] #eng W., Xi I., 8ng N., Mi I., Vaeho C., ^Jate$ay architecture for ]igbee sensor net$or- for remote control over <# net$or-_, Cth %siaR#acific +ymposium on <nformation and .elecommunication .echnologies (%#+<..), EDFD. [11] )omero M., Nermosillo J., .aher-ordi %., (]e-$a )., )ouvoy ). and ,liassen ?, 7,0S<1ul I"te3ratio" o1 *etero3e"eous De-ices i" Per-asi-e 0"-iro""eme"ts6, FD th <?<# <nternational Conference on Mistributed %pplications and <nteroperable +ystems (M%<+5FD), %msterdam, (etherlands, pp. FRFH. h a l - 0 0 8 7 7 4 5 1 ,