220 likes | 389 Views
Feladatszervezés RF-MEMS hálózatokban. MEMS. „Micro Electro Mechanical Systems” Korlátozott memória, energifelhasználás és számítási kapacitás Vezeték nélküli kommunikáció „Smart Dust”: olcsó, kisméretű szenzorok Gyártók: CrossBow, Intel, MoteIV. Eszközök: Crossbow. Szenzorok. Ultrahang
E N D
Feladatszervezés RF-MEMS hálózatokban Szabó Attila, 2007
MEMS • „Micro Electro Mechanical Systems” • Korlátozott memória, energifelhasználás és számítási kapacitás • Vezeték nélküli kommunikáció • „Smart Dust”: olcsó, kisméretű szenzorok • Gyártók: CrossBow, Intel, MoteIV Szabó Attila, 2007
Eszközök: Crossbow Szabó Attila, 2007
Szenzorok • Ultrahang • Fényérzékelő • Mikorfon • Hőmérő • 2D-s gyorsulásmérő • stb. Szabó Attila, 2007
nesC, TinyOS • nesC • C nyelv kiterjesztése esemény alapú fejlesztőkörnyezetté • TinyOS • Néhány kilobyte-os operációs rendszer szenzor hálózatokhoz • Megszakítások, többszálú programok vezérlése Szabó Attila, 2007
Alkalmazások írása • A nesC programok komponensekből állnak, ezek lehetnek: • konfigurációk • modulok • A nesC számítási absztrakciói: • események (event) • taszkok (task) • parancsok (command) Szabó Attila, 2007
Példa: Blink 1. Blink.nc configuration Blink {}implementation { components Main, BlinkM, SingleTimer, LedsC; Main.StdControl -> BlinkM.StdControl; Main.StdControl -> SingleTimer.StdControl; BlinkM.Timer -> SingleTimer.Timer; BlinkM.Leds -> LedsC;} • Konfiguráció: megvalósítások (modulok) rendelése interfészekhez • Main komponens a futtatásra kerülő „főprogram” Szabó Attila, 2007
Példa: Blink 2. StdControl.nc interface StdControl { command result_t init(); command result_t start(); command result_t stop();} Timer.nc interface Timer { command result_t start(char type, uint32_t interval); command result_t stop(); event result_t fired();} • Kétirányú interfészek: parancsokat deklarálnak és eseményeket váltanak ki (ezek kezelése a használó modul feladata) Szabó Attila, 2007
Példa: Blink 3. BlinkM.nc module BlinkM { provides { interface StdControl; } uses { interface Timer; interface Leds; }} • A modulok interfész(eke)t valósítanak meg, ehhez esetleg más interfészeket használnak Szabó Attila, 2007
Példa: Blink 4. (BlinkM.nc) implementation { command result_t StdControl.init() { call Leds.init(); return SUCCESS; } command result_t StdControl.start() { return call Timer.start(TIMER_REPEAT, 1000) ; } command result_t StdControl.stop() { return call Timer.stop(); } event result_t Timer.fired() { call Leds.redToggle(); return SUCCESS; }} Szabó Attila, 2007
MEMS alkalmazások • Fejegér gyorsulásmérővel • Hőmérséklet mérés (pl. üvegházakban) • Távolságmérés ultrahanggal • Négyzetmilliméteres, bőr alá ültethető érzékelők fejlesztése folyik gyógyászati alkalmazásokhoz Szabó Attila, 2007
Feladatszervezés Szabó Attila, 2007
Survivable Pipeline Protocol • P2P protokoll önszervező pipeline-ok létrehozásához, fenntartásához • skálamentes kisvilág tulajdonságú hálózatokhoz • Feladat részfeladatokra (Pipeline Operations) bontását és ezek fenntartását oldja meg • A részfeladatok erőforráshoz rendelése megbízhatósági skála alapján történik (weblog) • a számítási kapacitás az erőforrások mennyiségével lineárisan arányos Szabó Attila, 2007
SPP: szerepek • Processzor: számol • Disztribútor: adatot továbbít a processzornak (több disztribútor iskiszolgálhat 1 processzort) • Manager: számon tartja a disztribútor-processzor kapcsolatokat • egy hálózati entitásnak egyidőben több szerepe is lehet Szabó Attila, 2007
SPP: kommunikáció • SPP Pipe: e., m., ezen érkezik a feladat • Data Pipe: e., u., ezen kapja az adatot a processzor • Disztribútor Pipe: e., m., információk továbbítása a managertől a disztribútoroknak • Task Pipe: e., m., taszkon belüli rendszerüzenetek számára • Manager Pipe: k., u., résztaszkok delegálásához • TaskManager: k., u., rendszer állapotával kapcsolatos üzeneteknek • k: kétirányú, e: egyirányú, u: unicast, m: multicast Szabó Attila, 2007
Demo alkalmazás: helymeghatározás • Crossbow MICA2 alapú Cricket kütyükkel • Érzékelő: ultrahang adó-vevő távolságméréshez (néhány centiméter pontosságú) • Frekvenciamodulált rádió adó-vevő: egyszerre egy cricket rádiózhat, az egyszerre küldött üzenetek a zavarás miatt elvesznek Szabó Attila, 2007
Helymeghatározás: szerepek • A helymeghatározás feladatának dekompozíciója 4 PO-ból áll: • három bázis ~ ( origó, x, y irányok ) • egy helyzetmeghatározó ~ • Egy, az SPP Pipe-on érkező üzenet idítja a feladatot, a cricketek ezután csatlakozhatnak a PO-khoz • A 4. PO-ban lévők számon tartják egymás weblog értékeit és sorrendet alakítanak ki • A PO-k pipe-okon keresztül kommunikálnak Szabó Attila, 2007
Bázisok • A bázisok PO-iba egy-egy cricket tartozhat • Minden bázis „jelzőfényt” (rádiójelet) ad, ami tartalmazza a koordinátáit • A PO-k sorrendje értelemszerűen a következő: origó, bázisx, bázisy, helyzetmeghatározó • Fél másodpercenként fut le egy ilyen kör Szabó Attila, 2007
Helyzetmeghatározó • A PO-hoz csatlakozáshoz a PO méretének felével megegyező számú „engedély” kell • A PO-hoz csatlakozás ideje a PO méretével exponenciálisan nő • A hallott három koordináta és a három mért távolság alapján háromszögeléssel kiszámolja saját koordinátáit • Az összes cricket helyének meghatározásához a negyedik PO elemszámával egyező számú ciklus kell Szabó Attila, 2007
Eredmények 1. • Az alkalmazás a helyzetmeghatározó „motorjától” függően 2D/3D koordináták meghatározására alkalmas • A rendszer központi irányítás/adatgyűjtés nélkül képes meghatározni a résztvevők helyzetét • A folyamatos működést garantálja a rosszul működő elemek kizárása/cseréje Szabó Attila, 2007
Eredmények 2. • Az ábrán látható, hány másodperc alatt áll fel 10/15/20/25 cricketből álló rendszer (az összes cricket csatlakozik valamelyik PO-hoz) • 15-15 kísérlet eredményének átlagai és szórásai • A redszer stabil marad, ha egy vagy több cricket kiesik a helyzetmeghatározó PO-ból, ill. újraszerveződik bázis PO kiesésekor Szabó Attila, 2007
Irodalom • A. Meretei, Z. Palotai, A. Lorincz: „Systems and methods for sensing physiologic parameters of the human body and achieving a therapeutic effect” - United States Patent 20070043591 • Zia, T.A., and Zomaya, A.Y., „An Analysis of Simulations and Programming in Wireless Sensor Networks”, In the proceedings of the International Workshop on Sensor Networks and Applications • Alec Woo„The Mica Sensing Platform”, Jan 15th, 2002NEST Retreat Szabó Attila, 2007