• No results found

Praktiska routing-övningar med XMesh

N/A
N/A
Protected

Academic year: 2021

Share "Praktiska routing-övningar med XMesh"

Copied!
63
0
0

Loading.... (view fulltext now)

Full text

(1)

Laborativa routing-

övningar med XMesh

Sofia Zhang

Adam Cristea

VT2010

Examensarbete inom Data- och telekommunikationsteknik

Handledare: Ivan Kruzela Examinator: Bengt J. Nilsson

(2)

Laborativa routing-övningar med XMesh

Sammanfattning

De senaste åren har drivkraften för forskning inom trådlösa sensornätverk ökat markant. Detta är framförallt på grund av de potentiella fördelar som den nya tekniken tillhandahåller.

Vi har efter förfrågan av Ivan Kruzela tagit på oss uppgiften att skapa en laboration som är tänkt att ingå i den andra årskursen för högskoleingenjörerna i Data- och Telekommunikation på Centrum för Teknikstudier (CTS), Malmö Högskola.

Laborationen handlar om routing och är den tredje i raden av laborationer med trådlösa sensorer. Protokollet som används heter XMesh och är tillverkat av Crossbow Technology.

Ambitionen är att laborationen ska leda till förståelse för hur routing uppstår i trådlösa sensornätverk, med avseende på parametrar och andra faktorer som påverkar nodernas val av rutt.

Examensarbetet resulterade i en laborationshandledning med tre tillhörande bilagor.

(3)

Practical Routing Exercises with XMesh

Abstract

Over the recent years, research in Wireless Sensor Networks (WSNs) has increased significantly. This is mainly because of the potential advantages that this new technology provides.

We have upon request from Ivan Kruzela taken on the task of creating a lab, which is supposed to be included in the second year of the Bachelors’ of Computer and Telecom Engineering at the Centre for Technology Studies (CTS), Malmoe University.

The lab deals with routing and the protocol used is named XMesh and is created by Crossbow Technology.

The ambition is that the lab will lead to an understanding of how routing occurs in wireless sensor networks, regarding parameters and other factors that affects the routing choices of the nodes.

(4)

Innehållsförteckning

Sammanfattning ... 2

Abstract ... 3

Innehållsförteckning ... 4

1 Bakgrund... 5

2 Syfte och målsättning... 5

3 Problemformulering och avgränsningar ... 6

4 Beskrivning av arbetets genomförande... 7

5 Resultat ... 8

5.1 Bilaga 1: Introduktion till routing i trådlösa sensornätverk ... 8

5.2 Bilaga 2: nesC och TinyOS översikt... 8

5.3 Bilaga 3: XMesh översikt ... 9

5.4 Laboration 3 ... 9

6 Slutsatser ... 10

6.1 Allmänt ... 10

(5)

1 Bakgrund

De senaste åren har drivkraften för forskning inom trådlösa sensornätverk (Wireless Sensor Networks, WSNs) ökat markant. Detta är framförallt på grund av de potentiella fördelar som den nya tekniken tillhandahåller. Sensornoder kan användas till att tillhandahålla data i realtid om det rådande tillståndet i en omgivning. På så vis kan man exempelvis övervaka brand och miljöföroreningar.

Vi har efter förfrågan av Ivan Kruzela och tagit på oss uppgiften att skapa en laboration som är en fortsättning på de två laborationerna med trådlösa sensorer som skapades av Cecilia Degirmenchi och Hamed Alsakban under ett tidigare examensarbete på Malmö Högskola. De två första laborationerna återfinns i avhandlingen ”Laborationer med trådlösa sensornät – Crossbow Techology” och lär ut hur Crossbows mjukvarupaket

MoteWorks och dess vanligaste verktyg fungerar. Denna laboration ska handla om

routing och protokollet som används i Crossbows sensornoder heter XMesh. Laborationen är tänkt att ingå i utbildningen i den andra årskursen för högskoleingenjörerna i Data- och Telekommunikation på Centrum för Teknikstudier (CTS), Malmö Högskola.

2 Syfte och målsättning

Syftet med examensarbetet är att skapa en praktisk laboration med Crossbow:s trådlösa sensorer, som ska leda till förståelse för hur routing uppstår i trådlösa sensornätverk, med avseende på parametrar och andra faktorer som påverkar nodernas val av rutt.

Ambitionen med laborationen är att studenten ska introduceras i skapandet av ett trådlöst sensornätverks infrastruktur. Laborationen förutsätter att studenten ska ha gjort de första två laborationerna och således redan är bekant med Crossbow-teknologin samt diverse begrepp. Studenten ska ha läst igenom teoribilagorna Introduktion till routing i trådlösa

(6)

svarat på instuderingsfrågor innan laborationen, för att kunna besvara frågor och utföra beräkningar.

3 Problemformulering och avgränsningar

Det är givet att vi måste börja arbetet med att bekanta oss med trådlösa sensornätverk och de tekniker som används för att uppnå routing. För att kunna fortsätta arbetet, måste följande två primära frågeställningar besvaras:

• Vad finns det för olika routingmetoder?

• Vilka faktorer är det som avgör trådlösa sensornätverks utförande?

Ett av de fundamentala problemen för att etablera ett trådlöst sensornätverk är täckningen. Därför behöver följande frågor tas reda på:

• Vilka metoder används för att lösa täckningsproblem?

• Vad händer om sensornoder slutar fungera? Hur löser man det? • Kan man optimera täckningen?

• För tätt placerade noder skapar redundant data som belastar nätverket. Hur åtgärdas det?

Vidare, för att kunna utveckla en laboration, måste arbetets genomförande bl.a. utgå ifrån följande frågeställningar:

• Vilka topologier använder XMesh?

• Vilka processer ingår i formationen av ett XMesh-nätverk? • Hur ser strukturen av ett meddelandepaket ut?

• Vad är det som avgör valet av vilken sensornod som ska vidarebefordra information till basstationen?

(7)

• Hur påverkas noders räckvidd av omgivningen och placeringen?

För att säkerställa laborationens kvalitet och studentvänlighet, är det tänkt att den genomförs av studenter under BETA-stadie, vilket bör leda till förbättringar och ett gott slutresultat.

4 Beskrivning av arbetets genomförande

Laborationer med trådlösa sensorer är så pass nytt inom högskoleingenjörprogrammet Data- och telekommunikation, att de studenter som har varit antagna till programmet en längre tid, inte har fått möjligheten att laborera med trådlösa sensorer. Då vi själva är den typen av studenter, var det första steget som togs i examensarbetet att bekanta sig med högskolans egna trådlösa sensorer. De två befintliga laborationerna genomfördes, vilket gav en övergripande förståelse för Crossbow-tekniken och hur de vanligaste verktygen i

MoteWorks fungerar.

För att få inblick i vad som händer bakom kulisserna i trådlösa sensornätverk, togs en titt på programmering i nesC, som är det programmeringsspråk som används för att programmera Crossbow:s noder som använder XMesh. Då nesC upplevdes relativt främmande med avseende på bl.a. syntax, var det till att gå över till litteraturen. Det mest framgångsrika sättet att lära sig visade sig vara att gå tillbaka till det praktiska och genomföra en rad olika TinyOS-tutorials på Internet, samt läsa igenom manualer som följde med högskolans Crossbow Professional Kit.

Vi lärde oss grunder för nesC-programmering, kompilering och uppladdning av mjukvara till sensornoder. Vi lyckades få igång klocka (Timer) och dioder som t.ex. kan indikera när ljussensorn skannar efter värden. Snart märktes att det skulle vara för komplext att låta den enskilda studenten skriva en egen routing-applikation. Beslut togs att det skulle vara lärorikare att laborationen skulle låta studenten få en generell överblick i hur ett nätverks infrastruktur skapas och vad som orsakar ombyggnation i topologier.

(8)

Parallellt med uppbyggnad och formgivning av laborationen, sattes arbete igång i syfte att ta reda på hur långt vetenskapen har nått inom ramen för trådlösa sensornätverk. Det konstaterades att forskningsområdet har blomstrat enastående de senaste tio åren, vilket resulterade i en hel del litteraturstudier.

I examensarbetet har det gjorts ett försök att sammanställa de fundamentala routingutmaningarna och designfrågor som uppstår vid skapande av trådlösa sensornätverk, samt en djupare redovisning av täckningsstrategier.

5 Resultat

Examensarbetet resulterade i laborationshandledning med facit och tre tillhörande bilagor. En kort beskrivning av dessa följer nedan.

5.1 Bilaga 1: Introduktion till routing i trådlösa sensornätverk

Bilagan innehåller en introduktion till routing och en sammanställning av de fundamentala designfrågor som påverkar trådlösa sensornätverks prestanda. Introduktionen sammanfattar bl.a. de olika nätverksstrukturer och typer av routing-tekniker som används i trådlösa sensornätverk. Därefter följer en redogörelse för olika täckningsstrategier samt ett stycke för slutsatser.

5.2 Bilaga 2: nesC och TinyOS översikt

Bilagan gör en kort introduktion av nesC, som är det programmeringsspråk som används vid programmering av Crossbow:s sensornoder, samt redogör för hur XMesh

(9)

implementeras i TinyOS, som är det operativsystem som körs inbäddat i trådlösa sensornätverk.

5.3 Bilaga 3: XMesh översikt

Bilagan beskriver hur multihop mesh-nätverk formas i protokollet XMesh, vilka mätmetoder som används för att skapa routing-vägar, samt hur sändning och mottagning av meddelandepaket sker. Bilagan innehåller även tabeller med parametrar som behövs förstå för att kunna utföra laborationen.

5.4 Laboration 3

Laborationen innehåller två praktiska routing-övningar, en del beräkningar, samt en rad instuderingsfrågor som ska besvaras innan laborationen. Förhoppningen är att studenten ska finna laborationen lärorik, då resultaten av uppgifterna kan visa sig strida emot studentens hypotes. Laborationen använder samma lättbegripliga strukturmall som de första två laborationerna.

(10)

6 Slutsatser

6.1 Allmänt

Arbetet har varit mycket givande med avseende på den allmänna kunskap som erhållits inom ramen för trådlösa sensornätverk, samt den specifika kännedomen om hur processer i XMesh interagerar med varandra.

Laborationen har fått positiv respons och tanken är att den ska börja ingå i kursen under höstterminen.

6.2 Vidareutveckling

Möjligheterna med trådlösa sensornätverk är mycket stora.

Vi anser att denna routing-laboration passar bra som en tredje och sista laboration med trådlösa sensorer i kursen. Vi menar att vidareutveckling härifrån bör ske på egen hand. Efter dessa laborationer, bör studenten ha fått tillräckligt mycket kött på benen att göra en egen djupdyning i något område inom trådlösa sensornätverk.

Under utformningsperioden av laborationen lades det ned mycket tid på att lära sig programmering av noder, vilket har stimulerat till vidare intresse att skapa egna applikationer.

(11)

Bilaga 1

Introduktion till routing i trådlösa sensornätverk

1 Introduktion till routing i trådlösa sensornätverk... 12

1.1 Plan routing... 14

1.2 Hierarkisk routing ... 15

1.3 Lägesbaserad routing ... 16

2 Routingutmaningar och designfrågor ... 17

2.1 Nätverkets dynamik ... 17 2.2 Utplacering av noder... 17 2.3 Energiförbrukning... 18 2.4 Datarapporteringsmodell... 19 2.5 Nodernas kapacitet... 19 2.6 Datasammanläggning... 20 2.7 Feltolerans... 20

2.8 Quality of Service (QoS) ... 20

2.9 Produktionskostnad... 21 2.10 Hårdvarubegränsningar... 21 2.11 Överföringsmedier ... 22 2.12 Täckning ... 22 3 Täckningsstrategier ... 23 3.1 Kraftbaserade täckningsstrategier ... 24 3.2 Rutnätsbaserade strategier ... 25 3.3 Beräkningsgeometribaserade strategier ... 29 4 Slutsatser ... 31 5 Referenser ... 33

(12)

1 Introduktion till routing i trådlösa sensornätverk

Trådlösa sensornätverk (Wireless Sensor Networks, WSNs) består av ett sort antal noder utrustade med olika sorters sensorer som är länkade via ett trådlöst medium (radiofrekvenser), för att utföra avkänningsuppgifter. Genom att i realtid sända avkänd data som beskriver det rådande tillståndet nodens omgivning, kan man åstadkomma övervakning av olika parametrar, såsom ljusstyrka eller luftfuktighet.Över de senaste tio åren har trådlösa sensornätverk fått mycket uppmärksamhet, huvudsakligen p.g.a. de spännande potentiella tillämpningarna.

Trådlösa sensornätverk kan appliceras i en rad olika miljöer, såsom övervakning av brand, vattenkvalitet eller miljöföroreningar. För militära ändamål finns ett stort antal potentiella tillämpningar för trådlösa sensornätverk. De kan exempelvis detektera fiendens intåg, begränsa behovet av antalet personal vid vanligtvis riskfulla spaningsuppdrag, eller åstadkomma en mer human användning av landminor genom att göra dem kontrollerbara och målspecifika från distans och på så vis förhindra att djur och civila skadas [17]. Inom katastrofhantering, kan ett stort antal noder släppas ned från helikopter [19] för att hjälpa till med att lokalisera överlevande, identifiera riskfyllda områden och göra räddningsbesättningen mer medveten om den övergripande situationen. Förutom ökning av effektivitet vid räddningsinsatser, kan appliceringen av ett trådlöst sensornätverk även försäkra räddningsbesättningens säkerhet.

De ovannämnda scenariona kräver att de trådlösa sensornätverkens routing-protokoll och algoritmer har samarbetande och självorganiserande förmågor, för att stegvis kunna etablera nätverkets infrastruktur under sensornätverkets installationsfas [16]. Protokollen måste ha förmåga att upprätthålla nätverkets multi-hop-/mesh-topologier, utan någon tidigare information av nätverkets globala, eller ens lokala topologi [14].

Multi-hop nätverk innebär att det sker minst två stycken trådlösa hopp mellan sensornoder för att skicka ett meddelande med information mellan den ursprungliga noden och basstationen, för att sedan vidarebefordras till en PC eller en annan klient. I ett

(13)

mesh-nätverk kan varje enskild sensornod agera som självständig router. På så vis möjliggörs omkonfigurering i nätverket för att ta sig runt felande länkar. Med hjälp av hoppning, kan energiförlusten reduceras avsevärt och resultera i att livslängden på det trådlösa nätverket kan nå flera år.

Routing i trådlösa sensornätverk kan generellt delas in i plant baserade, hierarkiskt

baserade, eller lägesbaserade (location based), beroende på nätverkets struktur [19]. I

plana nätverk har alla noder i princip tilldelats samma funktionaliteter och roller. I hierarkiskt baserade nätverk, ingår noderna i nivåer och spelar olika roller. I lägesbaserade nätverk, utnyttjas nodernas positioner för att vidarebefordra data i nätverket. Ett routing-protokoll anses anpassningsbart om vissa av systemets parametrar kan modifieras, för att förändra nätverkets befintliga förhållanden och tillgängliga energinivåer.

De tekniker som används i routing-protokoll kan indelas i multipath-baserade,

förfrågningsbaserade, förhandlingsbaserade, QoS-baserade, eller

sammanhållningsbaserade (coherent-based), beroende på protokollens operationer [19].

Vidare, kan routing-protokoll klassas som proaktiva, reaktiva, eller hybrida, beroende på hur en källa finner vägen till sin destination. I proaktiva protokoll beräknas routing-vägarna mellan noder och basstation innan de behövs, till skillnad från reaktiva protokoll, där routing-vägarna blir kalkylerade efter begäran. Hybrida protokoll använder en blandning av dessa två idéer. I scenarion där sensornoder är statiska, är det hellre föredraget protokollen är tabelldrivna, än att de ska vara reaktiva. Routing-protokoll kan även klassas som kooperativa. I kooperativ routing, skickar sensornoder sina observationer till en central nod som slår ihop data för vidare processer, vilket sparar på nätverkets energikostnad. Många andra protokoll använder sig av timing och lägesinformation.

(14)

Fig. 1-1: Nätverksstrukturer och routing-tekniker.

Fig. 1-1 visar de ovannämnda nätverksstrukturer och routing-tekniker. Den underliggande nätverksstrukturen kan spela betydande roller i trådlösa nätverks routing-operationer.

1.1 Plan routing

I plana nätverk brukar noderna tilldelas likadana roller och samarbeta för att utföra uppgifter. På grund av det stora antalet noder, är det inte genomförbart att varje nod tilldelas ett globalt ID, vilket har lett till datacentrerad (DC, data centric) routing. Det innebär att basstationen skickar frågor till olika delar av nätverket och avvaktar data från noderna i de valda regionerna. Eftersom att data tillhandahålls genom förfrågning, är attributbaserad namngivning nödvändig för att specificera dataegenskaperna. Tidigare verk vid namn Sensor Protocols for Information via Negotiation (SPIN) [13], påvisade att ett nätverks energi kunde bevaras genom förhandling och kassering av redundant data. Dessa protokoll ledde till design av en rad nya protokoll, med liknande grundtanke.

SPIN [15, 31] är en familj av anpassningsbara protokoll, där varje nod i nätverket antas för att vara en potentiell basstation. Alla sensornoder sprider ut sin information till övriga

Routing-protokoll i trådlösa sensornätverk

Nätverksstruktur Protokoll-operation Plan baserad routing Hierarkiskt baserad routing Läges- baserad routing Multipath baserad Förfrågnings- baserad Förhandlings- baserad QoS baserad Sammanhållnings-baserad

(15)

noder i nätverket och gör det på så vis möjligt för användaren att skicka förfrågan till vilken nod som helst för att tillhandahålla önskad data omedelbart. För att tillhandahålla data, utför SPIN familjen förhandlingar före transmission. På så vis försäkras att ingen redundant data skickas igenom nätverket.

1.2 Hierarkisk routing

Hierarkiska, eller klusterbaserad routing-nätverk, var från en början föreslagen till fasta nätverk. Med hierarkisk routing kan energieffektivitet fortfarande uppnås i trådlösa sensornätverk. Dessa protokoll har dessutom speciella fördelar relaterade till skalbarhet och effektiv kommunikation. I hierarkiska arkitekturer, kan noder med högre energi användas för att utföra beräkningar och hålla kommunikation med basstationen, samtidigt som noder med lägre energi används för avkänning. Detta innebär att skapande av kluster och tilldelning av speciella uppgifter till klusterhuvuden, i hög grad kan bidra till skalbarhet och energieffektivitet som ökar nätverkets livslängd. Genom att klusterhuvudet sammanlägger data från klustrets övriga noder, kasseras överflödig data och således minskas kommunikation med basstationen. Hierarkisk routing är huvudsakligen uppdelad i två lager, där ena lagret används för att välja klusterhuvuden och det andra lagret används för routing.

Low Energy Adaptive Clustering Hierarchy (LEACH) var det första hierarkiska routing-protokollet för trådlösa sensornätverk [30]. LEACH väljer slumpartat sensornoder inuti kluster till att agera klusterhuvuden. Protokollet roterar därefter rollen som klusterhuvud mellan de övriga noderna i respektive kluster. På så vis motverkas att en enskild nods energi utarmas och nätverkets övergripande livslängd kan förlängas. Fig. 1-2 Visar hur kluster skulle kunna se ut:

(16)

Fig.1-2: Kluster.

1.3 Lägesbaserad routing

I lägesbaserad routing adresseras noderna med hjälp av deras position. Avståndet mellan angränsande noder kan uppskattas genom att mäta den inkommande signalstyrkan. Genom att de närliggande noderna utbyter denna typ av information mellan varandra, kan relativa koordinater till grannar tas fram [3, 25]. Om alla noder är utrustade med GPS-mottagare, kan noderna ta emot sina koordinater via satellit [33]. I stora sensornätverk är detta inte ekonomiskt hållbart, men man kan anta att en liten del av noderna, betecknade som ankarnoder (anchor nodes), bär GPS-mottagare för självlokalisering, medan andra noder samarbetar för att få reda på sina koordinater, genom att uppskatta sina avstånd mellan sig själva och ankarnoderna [27].

Trots en lång rad av olika användningsområden, har trådlösa nätverk flera restriktioner. Bland de större problemen är begränsad energiförbrukning, begränsad datorkraft och begränsad bandbredd i länkarna mellan de anslutande noderna. Ett av de huvudsakliga målen vid utformning av trådlösa sensornätverk, är att effektuera data samtidigt som man försöker förlänga nätverkets livslängd och motverka degradering av anslutbarheten, genom att införa olika tekniker för energidrift [19].

Sensornod Basstation Klusterhuvud

(17)

2 Routingutmaningar och designfrågor

Beroende på applicering, övervägs olika arkitekturer och designmål/restriktioner för trådlösa sensornätverk. En rad faktorer måste tas hänsyn till, för att kunna uppnå effektiv kommunikation i nätverket. I detta avsnitt försöker vi sammanställa dessa faktorer, som kan ses som riktlinjer för design av protokoll eller algoritmer för nätverket.

2.1 Nätverkets dynamik

Trådlösa sensornätverk består av basstation, routrar och slutpunkter. Slutpunkter förbrukar minst energi, då de endast skickar sitt egna sensordata direkt till basstationen, eller via router. En router behöver skicka iväg sina egna mätvärden samtidigt som den måste vidarebefordra andra sensorers meddelandepaket. De flesta nätverksarkitekturer antar att sensornoder är stationära [29]. Många applikationer kräver dock stöd för mobila basstationer eller klusterhuvuden [28]. Meddelandepaket till och från mobila noder är en utmaning som forskare sysselsätter sig med, då de kräver nya algoritmer för samarbete mellan noderna, samt upprätthåll av rutternas stabilitet.

2.2 Utplacering av noder

Denna process ser olika ut beroende på applikationen och påverkar routing protokollets framförande. Utplaceringen är antingen deterministisk eller självorganiserande. I deterministiska situationer, placerar sensornoderna ut manuellt och har förinställda routing vägar. I självorganiserande system, såsom XMesh, kan noderna spridas ut slumpartat och skapa en egen infrastruktur (ad hoc) genom samarbete mellan noderna [19, 22]. I självorganiserande system är basstationens eller klusterhuvudens placering, avgörande för att uppnå god energieffektivitet. När utplacering av noder inte sker likartat, blir optimal utformning av kluster en angelägen fråga, för att kunna hålla energieffektiva nätverksoperationer.

(18)

2.3 Energiförbrukning

Batteritiden är helt avgörande för noders livslängd. Under skapande av ett sensornätverks infrastruktur, tas stor hänsyn till energiförbrukningen. Eftersom att trådlös radiotransmissionskraft är proportionell mot avståndet i kvadrat [17], eller till och med högre p.g.a. hinder, bidrar multi-hop till mindre energiförbrukning än direkt kommunikation. Energiförbrukningen kan delas in i tre olika domäner: avkänning, kommunikation och databearbetning. P.g.a. den begränsade energiförbrukningen (samt datorkraft), försöker man hålla sensornodernas inbyggda algoritmer enkla. En annan metod är att införa olika energiförbrukningslägen på noderna. En nod kan exempelvis ”sova” när den inte har detekterat någon händelse, fast ställs om till ett aktivt läge om en detektering skulle äga rum, dvs. om observationsdata överstiger ett visst tröskelvärde.

Ett exempel är XMesh, som har tre olika effektförbrukningslägen [10]. Vid High Power (HP), utnyttjas full bandbredd. Noderna drivs konstant och påvisar låg latens (tidsfördröjning) nätverket. Low Power (LP) har samma mesh-förmågor som HP, fast radion befinner sig normalt i viloläge och vaknar periodiskt upp för att kontrollera radiotrafik. Noder programmerade med Extended Low Power (ELP), tillbringar nästan all sin tid i viloläge och kan inte routa data. ELP-noder kan således enbart fungera som slutpunkter i ett sensornätverk.

Fig. 2-1: XMesh ELP topologi. HP-nod

ELP-nod Basstation

(19)

Fig. 2-1 visar exempel på hur ELP-noder kan kombineras med HP-noder i ett XMesh nätverk.

2.4 Datarapporteringsmodell

Avkänning och rapportering av data beror på applikationen och hur tidskritiskt systemet är. Rapportering av data är antingen tidsdriven (kontinuerlig), händelsedriven, förfrågningsdriven eller hybrid [32]. Den tidsdrivna levereringsmodellen lämpar sig till applikationer som kräver periodisk dataövervakning. Noder kommer periodiskt att slå på sina sensorer och sändare för att känna av och skicka iväg data av intresse, för att sedan återgå till viloläge. I händelsedrivna scenarion, reagerar noderna omedelbart vid plötsliga, drastiska ändringar av avkända värden. Noder kan sända ut specifik data vid förfrågan från basstationen. De olika datarapporteringsmodellerna kan även kombineras med varandra.

2.5 Nodernas kapacitet

Nästan alla routing-protokoll kan klassas som plana eller hierarkiska, baserade på nätverkets struktur. I plana nätverk spelar alla noder samma roll och har samma beräknings- och kommunikationsförmågor. I hierarkiska topologier delas nätverket upp i olika klusterlager, där varje kluster innehåller ett antal noder. En av noderna är vald, eller väljs dynamiskt, till att agera klusterhuvud. Klusterhuvuden spelar en viktigare roll, då de ansvarar för att kommunikation med basstationen eller andra kluster. Klusterhuvuden brukar således vara kraftfullare än övriga noder med avseende på energi, bandbredd och minne [20, 22].

(20)

2.6 Datasammanläggning

Sensornoder kan generera en betydande andel överflödig data, kan t.ex. ett klusterhuvud slå samman liknande paket från övriga noder [20], vilket leder till att antalet transmissioner till basstationen minskas. Vid datasammanläggning används funktioner som suppression, som eliminerar dubbletter av meddelandepaket, min, max och average (medelvärde) [4]. Då beräkning är mindre energikrävande än kommunikation [29], kan betydande energibesparingar uppnås genom datasammanläggning. Denna teknik används således i en rad routing protokoll [19]. Även signalbehandlingsmetoder kan användas för datasammanläggning [29]. Med beamforming kan en nod producera en mer korrekt utsignal genom att kombinera de inkommande signalerna och reducera bruset. I dessa sammanhang kallas datasammanläggningen för data fusion.

2.7 Feltolerans

I det nya forskningsområdet för CSIP (Collaborative Signal Information Processing) har feltolerans beskrivits att vara bland de större utmaningarna i trådlösa sensornätverk [26]. Allmänt känt för sensorer är att de kan uppvisa oförutsett beteende när som helst [1]. Noder kan fela p.g.a. fysisk skada, energibrist eller interferens från miljön. Om ett flertal noder felar, måste MAC- och routingprotokoll kunna forma nya länkar och rutter till basstationen. Detta kan kräva aktiv justering av transmissions- och signalstyrkor på de befintliga länkarna, för att reducera energikonsumtion, eller att omdirigera meddelandepaket genom andra regioner i nätverket, där mer energi är tillgänglig. Det kan därför behövas flera nivåer av redundans för att åstadkomma ett robust, feltolerant sensornätverk.

2.8 Quality of Service (QoS)

För att det mottagna data ska vara användbart, kan det vara viktigt att sensorobservationen levereras inom en viss tidsgräns efter avkänningen. Begränsad latens

(21)

för dataleveransen är således ett villkor för tidsbegränsade applikationer. I andra typer av applikationer, kan bibehållandet av energi, som är direkt relaterat till nätverkets livslängd, anses viktigare än kvalitén av det data som sänds. När ett nätverks energi har reducerats, kan nätverket tvingas sänka kvalitén på resultaten för att förlänga nätverkets totala livslängd. Det krävs således energimedvetna protokoll för att möta detta behov.

2.9 Produktionskostnad

Eftersom att sensornätverk kan bestå av ett stort antal noder (1000-tals eller fler), är kostnaden för den enskilda noden mycket viktig då den sätter grunden för nätverkets övergripande kostnad. Om kostnaden för nätverket övergår kostnaden för att sprida ut sensornoderna, är nätverket inte kostnadsmotivierande (cost-justified). Kostnaden för den enskilda sensornoden bör således hållas låg och bör vara en bra bit mindre än 1USD, för att upprättandet av ett nätverk ska vara ekonomiskt genomförbart [21] .

2.10 Hårdvarubegränsningar

En sensornod består av fyra grundläggande komponenter: en avkänningsenhet, en beräkningsenhet, en radiomottagare (transceiver) och en strömförsörjningsenhet. Avkänningsenheter består oftast av sensorer och analog-till-digital omvandlare (ADC-omvandlare). Den analoga signalen, som baseras på iakttagelsen och produceras av sensorerna, omvandlas till digitala signaler i ADC-omvandlaren och matas därefter in i beräkningsenheten, som generellt har en liten lagringsenhet. Sensorobservationen bearbetas inuti beräkningsenheten, som även hanterar processer som gör att noden blir samarbetande med de övriga noderna i nätverket, för att kunna fullföra avkänningsuppgifterna. Radiomottagaren ansluter noden till det övriga nätverket. Strömförsörjningen är en av de viktigaste komponenterna i noden. Vid etablering av ett nätverk, krävs omsorgsfull hantering vid utspridning det stora antalet tätt placerade noder.

(22)

2.11 Överföringsmedier

Länkarna mellan sensornoderna kan upprätthållas via radio, infraröd eller optisk media. Mycket av den befintliga hårdvaran i sensornoder idag, använder radio. Exempelvis, använder Crossbow:s sensorenheter en enkanals (single-channel) radiomottagare. Sensornoden µ-AMPS använder en Bluetooth-kompatibel radiomottagare [21] för att kommunicera med noderna i nätverket. Infraröd kommunikation är lisensfri och robust gentemot störningar från elektriska anordningar. Infraröda mottagare är billigare och enklare att bygga.

2.12 Täckning

En av de grundläggande designparametrarna i trådlösa sensornätverk anses vara täckningen. Varje utplacerad nod erhåller en viss överblick över omgivningen. Överblicken är begränsad både räckviddsmässigt och i noggrannhet, och kan således endast täcka en avgränsad fysisk yta. I vissa applikationer kan delar av nätverket vara viktigare än andra, s.k. hot spots, och behöver därför täckas med fler noder [6]. I andra applikationer kan tätt placerade noder skapa redundant data som belastar systemet. Tian och Georganas föreslår att man kan stänga av överflödiga noder för att spara energi och på så vis förlänga nätverkets livslängd [12]. Dessa sensorer kan slås på igen när de övriga nodernas energi har utarmats. För glest placerade noder kan däremot skapa s.k. täckningshål, d.v.s. helt obevakade ytor inuti nätverket.

(23)

Fig. 2-2: Täckningshål.

Fig. 2-2 visar hur ett täckningshål skulle kunna se ut. I målsökande applikationer, kan täckningshål orsaka att spåren av ett mål tappas bort. Ett antal referenser, som t.ex. Vlajic och Moniz, föreslår användning av mobila sensornoder som patrullerar inuti nätverket för att motverka täckningshål [24]. På så vis skulle nätverken ha en självhelande effekt. Skulle täckningshålen vara reparerade, kan övriga mobila noder byta placering t.ex. till utkanten av det trådlösa nätverket, för att täcka ytterligare områden.

3 Täckningsstrategier

I denna del av rapporten går vi närmare in på de försök som har gjorts för att lösa täckningsproblem. De täckningsstrategier som redogörs för i detta avsnitt utförs under nodernas utplaceringsstadie. Vi jämför även strategiernas egenskaper samt deras för- och nackdelar. Litteraturen i detta område kan kategoriseras in i kraftbaserade, rutnätsbaserade eller beräkningsgeometribaserade (computational geometry based) täckningsstrategier.

Kraftbaserade strategier använder sig av attraktiva och repulsiva krafter för att avgöra nodernas optimala position medan rutnätsbaserade metoder använder punkter i rutnätet.

Täckningshål

A

(24)

Beräkningsgeometribaserade tillvägagångssätt använder Voronoi diagram i sina algoritmer för att optimera täckningen.

3.1 Kraftbaserade täckningsstrategier

Kraftbaserade metoder används i mobila sammanhang. Genom att använda virtuella repulsiva och attraktiva krafter, tvingas sensornoder att flytta sig emot eller bort ifrån varandra ända tills full täckning uppnås.

Genom att sensornoder ger ut virtuella repulsiva krafter, kan noder tvingas att driva bort ifrån varandra, så att deras avkänningsytor inte överlappar varandra. Noderna fortsätter att röra på sig ända tills statisk jämvikt uppnås. Den statiska jämvikten uppnås genom att den totala energin reduceras med tiden. I dynamiska miljöer kommer det trådlösa nätverkets topologi att ändras, oavsett om dynamiken förändras periodiskt eller spontant.

Denna strategi tar inte hänsyn till anslutbarheten i nätverket. För att upprätthålla god anslutbarhet, kan man låta ett visst antal angränsande sensornoder som varje enskild nod har möjlighet att kommunicera med, skapa en attraherande kraft så att full anslutbarhet uppnås.

Ett antal referenser, som t.ex. [24], föreslår användning av mobila sensornoder som patrullerar inuti nätverket för att motverka täckningshål. På så vis skulle nätverken ha en självhelande effekt. Skulle täckningshålen vara reparerade, kan övriga mobila noder byta placering t.ex. till utkanten av det trådlösa nätverket, för att täcka ytterligare områden.

Den potentiella fältmetodens goda utförande kan i princip motverka alla täcknings- och anslutbarhetsproblem. Metoden är robust och behöver inte ha någon förhandsinformation av omgivningen eller andra noders placering. Strategin är distributiv och har skalbara möjligheter. Trots att strategin kan garantera full täckning och anslutbarhet, har den ett antal nackdelar. Strategin är helt beroende av nodernas mobilitet, vilket bidrar till avsevärt högre energikonsumtion. P.g.a. sensornodernas begränsade minne och

(25)

processorkapacitet, är metoden också beräkningsmässigt dyr jämfört med andra täckningsstrategier. Nedan försöker vi sammanställa metodens för- och nackdelar i en tabell.

Fördelar Nackdelar

Behöver ingen förhandsinformation om omgivningen.

Helt beroende av mobilitet.

Robust och skalbart. Avsevärt högre energikonsumtion. Försäkrar full täckning och anslutbarhet. Beräkningsmässigt dyr.

Tabell 3-1: Den potentiella fältmetodens fördelar och nackdelar.

Wan Ismail m.fl. [31] föreslår en mer ergonomisk algoritm vid namn Virtual Force Algorithm (VFA). Algoritmen förutsätter att alla sensornoder har kontakt med ett klusterhuvud som har bättre prestanda och utför en simulering av de mobila nodernas förflyttning innan noderna fysiskt börjar röra på sig. De mobila nodernas förflyttning görs först på slutet av simuleringsprocessen. I övrigt utger varje sensor en repulsiv eller attraktiv kraft. Skulle noderna vara för tätt placerade, repellerar de varandra för att förbättra täckningen. Om noderna istället skulle vara placerade för långt ifrån varandra, fabriceras en attraktiv kraft för att uppnå en jämnare utspridning. Även hinder ger ifrån sig repulsiva krafter samtidigt som föredragna områden attraherar noderna till att täcka dessa ytor.

Täckningen utvärderas genom att inuti det specifika området (ROI – Region of Interest), jämföra antalet täckta punkter i det bildade virtuella rutnätet mot det totala antalet rutor. Algoritmen slutar antingen när täckningskravet är uppfyllt eller när den maximala iterationen uppnås.

3.2 Rutnätsbaserade strategier

Punkter i rutnätet kan utnyttjas på två olika vis; dels på samma sätt som VFA, eller för att avgöra sensorernas positioner. Det totala antalet täckta procent av ett visst ROI är som

(26)

tidigare nämnt, ett förhållande mellan antalet täckta punkter och det totala antalet punkter i området.

Det täckta området bildar många gånger oregelbundna former i rutnätet, vilket försvårar beräkningen. De ojämna formerna kan exempelvis bero på överlappande avkänningsytor . Forskare försöker lösa denna typ av problem genom samplingsmetoder. Den uppskattade täckta ytan inuti ett ROI, beräknas genom endast ett fåtal punkter inuti området. Uppskattningens noggrannhet beror på storleken av varje ruta. Kostnaden beror på antalet punkter i rutnätet (n×m) och antalet utplacerade noder (k) [31].

För att exemplifiera rutnätsbaserad uppskattning av täckningen, följer två figurer nedan:

Fig. 3-1: Rutstorlek: 2.5x2.5, uppskattad täckning: 100%.

Figur 1-1 visar nio stycken sensorer med avkänningsräckvidden 2.5, som är utspridda över ett ROI som är 10x10. I detta fall uppskattas täckningen över området till 100 %, då alla punkter i rutnätet har blivit täckta. Man kan dock se i figuren att uppskattningen uppenbart inte stämmer.

(27)

Fig. 3-2: Rutstorlek: 1x1, uppskattad täckning: ≈95%.

I figur 1-2 har storleken på rutorna i rutnätet ändrats till 1x1 och den uppskattade täckta ytan hamnar istället på cirka 95 %, då alla punkterna i rutnätet inte längre är täckta. Den nya uppskattningen av den täckta ytan ger en mer rättvisande bild av verkligheten.

Storleken av rutorna i rutnätet avgörs beroende på hur tättplacerade noderna ska vara i applikationen. I applikationer där noderna ligger tätt intill varandra, föredras mindre rutor för att enklare kunna förebygga täckningshål. I generellt större nätverk där noderna ligger utplacerade glesare ifrån varandra är det bättre att använda större rutor, för att de utplacerade sensornodernas räckvidder inte ska överlappa varandra.

Ytterligare två vanliga typer av rutnät som används i trådlösa nätverk är triangulärt galler (triangular lattice) och hexagonala rutnät.

(28)

Fig 3-3: a) triangulärt galler b) fyrkantigt rutnät c) hexagonalt rutnät.

I figur 1-3 visas exempel på de tre olika typerna av rutnät. Triangulärt galler anses vara den bästa typen, då den har minst överlappande täckningsyta och kräver minst antal sensorer. Fyrkantiga rutnät ger relativt bra resultat, men har större överlappande täckningsyta. Hexagonala rutnät anses sämst ur täckningssynvinkel, då de har den största överlappande täckningsytan. Däremot har hexagonala rutnät störst flexibilitet om noder skulle börja fela. Nedan försöker vi sammanställa och jämföra de olika rutnätsbaserade strategiernas för- och nackdelar i en tabell.

Typ Antal sensorer Overlappning Redundant data Flexibilitet vid fel

Triangulärt galler

Minst Liten Liten Liten

Fyrkantigt rutnät

Medel Medel Medel Medel

Hexagonalt rutnät

Störst Mycket Mycket Stor

Tabell 3-2: Jämförelse mellan rutnätsbaserade strategier.

(29)

Man kan sammanfatta tabell 1-2 på följande vis: triangulära galler har flest fördelar med avseende på antalet sensorer som behövs, överlappande yta och redundant data. Metoden har dock liten flexibilitet om noder felar. Det hexagonala rutnätets egenskaper är helt spegelvända emot triangulära gallers egenskaper, och fyrkantiga rutnät följer en mellanväg.

Dessa typer av rutnät garanterar att en viss procent av ROI täcks, men metoderna förutsätter att noderna omsorgsfullt placeras ut på bestämda punkter i rutnätet. Den garanterade täckningen kan äventyras vid förskjutningar eller om noder felplacerats.

3.3 Beräkningsgeometribaserade strategier

Denna strategi används till optimering av täckningen. Även beräkningsgeometribaserade strategier använder sig av punkter i rutnät, men rutnäten blir dock inte likformiga såsom i ovannämnda rutnätsbaserade strategier.

Ett av de vanligaste tillvägagångssätten att beräkna geometrin är med hjälp av Voronoi

diagram.

I det enklaste fallen sätter man ut ett antal punkter ◊ (Voronoi sites) över en yta. Varje site ◊ har en cell V(◊), som innehåller alla punkter närmare ◊ än någon annan site. Voronoi diagrammets segment är alla de punkter i ytan som har samma avstånd till de två närmaste sites. Voronoi noder är de punkter som har samma avstånd till tre eller flera sites.

(30)

Fig 3-4: Voronoi diagram.

I figur 1-4 kan man se hur en uppdelning av sites (betecknade med ◊) kan se ut. Punkterna inuti en månghörning är närmare siten i månghörningen än någon av de andra sites, alltså är polygonens alla hörn, de punkter som är palcerade på längst avstånd ifrån siten inuti.

Genom att låta sensornoder agera sites, kan Voronoi diagram användas som samplingsmetod för att fastställa täckningen. Om polygonens alla hörn är täckta innebär det att hela ROI täcks, annars existerar det täckningshål.

(31)

4 Slutsatser

Täckning är ett av de största forskningsintressena inom trådlösa sensornätverk och används för att avgöra nätverkets quality of service (QoS).

Anslutbarheten har ett omvänt förhållande till täckningen. Genom att inte placera sensornoderna för tätt intill varandra, ökar täckningen över området, samtidigt som anslutbarheten kräver att noder inte placeras ut med för långt avstånd mellan varandra.

Bland de täckningsstrategier som används i nätverk, ger helt klart de kraftbaserade metoderna bäst resultat. Däremot är kraftbaserade lösningar det dyraste tillvägagångssättet, då de kräver mobilitet. Vi föreslår en hybrid lösning där de flesta sensornoderna är stationära och endast en liten del av noderna är mobila och bara används vid behov. Det skulle exempelvis kunna vara för att temporärt täcka täckningshål som uppstått inom en Region of Interest (ROI), tills de ordinarie stationära noderna som orsakat täckningshålet reparerats eller ersatts av nya stationära noder. Därefter borde de mobila noderna ställas om till energisparläge tills vidare.

Förutom täckning, finns det andra faktorer som är avgörande för trådlösa sensornätverk. Bland dessa är nätverkets livslängd som är helt beroende av sensornodernas strömkälla och i många fall endast är ett par AA-batterier. Man har lyckats ta fram metoder som med hjälp av mobila relän, kan förlänga batteriernas livslängd. Dessa metoder har gett bra resultat i laborativ miljö, men vidare forskning borde tillägnas för att åstadkomma samma goda resultat i naturliga och realistiska miljöer, som exempelvis kan innehålla hinder m.m.

Trots vår omfattande litteraturlista, har vi inte lyckats finna någon referens som tar upp naturaspekter av trådlösa sensornätverk och vad man ska göra av ”döda” sensornoder. I militära sammanhang är det förståeligt att t.ex. odetonerade projektiler prioriteras högre än döda sensornoder. Däremot finns en rad projekt igång där man har tänkt övervaka

(32)

stora naturområden för bekämpning av t.ex. föroreningar och brand. Trots möjligheter att förlänga trådlösa nätverks livslängd, delar alla sensornoder samma öde – förr eller senare kommer de att ligga döda någonstans i naturen. Det är motsägande att försöka vara mån om naturen genom att övervaka den mot diverse faror, samtidigt som det kommer att sluta med kringliggande batterier överallt, bl.a. på ställen som beskrivs som svåråtkomliga för människor och därför har blivit nedsläppta från helikopter. Det vore lämpligt att lyfta fram frågan i ljuset och börja bedriva mer forskning inom naturaspekten av trådlösa sensornätverk och hur man i framtiden ska bära sig åt för att röja upp döda sensornoder på effektivt sätt.

(33)

5 Referenser

[1] A. Arora, A line in the sand: a wireless sensor network for target detection, classification and tracking, Computer Networks, vol. 46 (2004) 605-634.

[2] A. Woo, D. Culler, Evaluation of efficient link reliability estimators for lowpower wireless networks, Technical Report UCB//CSD-03-1270 (2003).

[3] A. Savvides, C-C. Han, M. Srivastava, Dynamic ne-grained localization in Ad-Hoc networks of sensors, Proceedings of the Seventh ACM Annual International Conference

on Mobile Computing and Networking (MobiCom) (2001) 166-179.

[4] B. Krishnamachari, D. Estrin, S. Wicker, Modeling data centric routing in wireless sensor networks, Proceedings of IEEE INFOCOM (2002).

[5] C. E. Perkins, P. Bhagwat, Highly dynamic destination-sequenced distancevector routing (dsdv) for mobile computers, Proceedings of the ACM SIGCOMM (1994) 234-244.

[6] C. Huang, Y. Tseng, The Coverage Problem in a Wireless Sensor Network, National

Chiao-Tung University (2005).

[7] C. K. Amos, Performance Evaluation of a Routing Protocol in Wireless Sensor Network, Master’s thesis, Naval Postgraduate School Monterey, CA (2005).

[8] Crossbow, Getting Started Guide PDF, In Presentation of Day one in Crossbow

Seminar, Towson (2005).

[9] Crossbow, Multihop-Mesh-Network, In Presentation of Day one in Crossbow

(34)

[10] Crossbow, XMesh User's Manual, In Presentation of Day one in Crossbow Seminar,

Towson (2005).

[11] D. Johnson, D. Maltz, Dynamic source routing in ad hoc wireless networks, Mobile

Computing, Kluwer Academic Publishers (1996) 153-181.

[12] D. Tian and N. D. Georganas, A coverage-preserving node scheduling scheme for large wireless sensor networks, ACM Int’l Workshop on Wireless Sensor Networks and

Applications (WSNA) (2002).

[13] F. Ye, A. Chen, S. Liu, L. Zhang, A scalable solution to minimum cost forwarding in large sensor networks, Proceedings of the tenth International Conference on Computer

Communications and Networks (ICCCN) (2001) 304-309.

[14] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, A Survey on Sensor Networks, IEEE Communications Magazine, vol.40 (2002) 102-114.

[15] J. Kulik, W. R. Heinzelman, and H. Balakrishnan, Negotiation-based protocols for disseminating information in wireless sensor networks, Wireless Networks, Volume: 8 (2002) 169-185.

[16] J. M. Hellerstein, W. Hong, S. R. Madden, The Sensor Spectrum: Technology, Trends, and Requirements, ACM SIGMOD Record, vol.32, issue.4 (2003) 22-27.

[17] J. N. Al-karaki, A. E. Kamal, Routing Techniques in Wireless Sensor Networks: A Survey, IEEE Wireless Communications (2004).

[18] J. Thorn, Deciphering TinyOS Serial Packets, Octave Tech Brief #5-01 (2005).

[19] K. Akkaya, M. Younis, A Survey on Routing Protocols for Wireless Sensor Networks, The Elsevier Ad Hoc Network Journal, vol. 3/3 (2005) 325-349.

(35)

[20] L. Subramanian, R.H. Katz, An architecture for building self configurable systems,

in: Proceedings of IEEE/ACM Workshop on Mobile Ad Hoc Networking and Computing

(2000).

[21] L. Wang, Topology-Based Routing for Xmesh in Dense Wireless Sensor Networks,

Stony Brook University (2007).

[22] M. Younis, M. Youssef, K. Arisha, Energy-aware routing in cluster-based sensor networks, Proceedings of the 10th IEEE/ACM International Symposium on Modeling,

Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS2002

(2002).

[23] N. Bulusu, J. Heidemann, D. Estrin, GPS-less low cost outdoor localization for very small devices, Technical report 00-729, Computer science department, University of

Southern California (2000).

[24] N. Vlajic, N. Moniz, Self-Healing Wireless Sensor Networks: Results That May Surprise, Globecom Workshops IEEE (2007) .

[25] S. Capkun, M. Hamdi, J. Hubaux, GPS-free positioning in mobile ad-hoc networks,

Proceedings of the 34th Annual Hawaii International Conference on System Sciences

(2001) 3481-3490.

[26] S. Kumar, F. Zhao, D. Shepherd, Collaborative signal and information processing in microsensor networks, IEEE Signal Processing Magazine, vol. 19 (2002) 13-14.

[27] S. Tian, X. Zhang, X. Wang, P. Sun, H. Zhang, A Selective Anchor Node Localization Algorithm for Wireless Sensor Networks, IEEE International Conference on

(36)

[28] S. Tilak, A taxonomy of wireless microsensor network models, Mobile Computing

and Communications Review 6 (2) (2002) 28–36.

[29] W. Heinzelman, A. Chandrakasan, H. Balakrishnan, Energy-efficient communication protocol for wireless sensor networks, Proceeding of the Hawaii

International Conference System Sciences (2000).

[30] W. Heinzelman, J. Kulik, and H. Balakrishnan, Adaptive Protocols for Information Dissemination in Wireless Sensor Networks, Proc. 5th ACM/IEEE Mobicom Conference

(MobiCom '99) (1999) 174-85.

[31] W. Z. Wan Ismail, N. A. Ab. Aziz, K. Ab. Aziz, Coverage Strategies for Wireless Sensor Networks, World Academy of Science - Engineering and Technology, vol. 50 (2009)

[32] Y. Yao and J. Gehrke, The cougar approach to in-network query processing in sensor networks, SIGMOD Record (2002).

[33] Y. Xu, J. Heidemann, D. Estrin, Geography-informed Energy Conservation for Ad-hoc Routing, Proc. of the Seventh Annual ACM/IEEE International Conference on Mobile Computing and Networking (2001) 70-84.

(37)

Bilaga 2

nesC- och TinyOS-översikt

nesC

nesC (network embedded systems C) är en utvidgning av programmeringsspråket C och är designat för att strukturera kommandon och utföranden i operativsystemet TinyOS. För att sammanställa applikationer skrina i nesC, används kompilatorn ncc.

Program skrivna i nesC består av komponent, gränssnitt (interface) och modul. Komponent har till uppgift att länka samman programmet till andra applikationer, samt att länka till de standardmoduler som styr hårdvaran. Gränssnitt beskriver vilka operationer som komponenterna erbjuder till andra komponenter och beskriver även vilka funktioner som dessa komponenter måste implementera. Inuti modulen byggs själva applikationen.

TinyOS

TinyOS är ett gratis operativsystem som körs inbäddat i trådlösa sensornätverk. Operativsystemet är komponentbaserat och är skrivet i programmeringsspråket nesC, med öppen källkod. TinyOS utvecklades på University of California, Berkeley, och har kommit till att bli en standard för trådlösa sensornätverk inom forskarvärlden.

I mjukvarustacken på TinyOS, är XMesh placerat över det Fysiska Lagret och Datalänklagret (MAC Lagret). För kommunikation med MAC Lagret, stöder XMesh 802.11b och ZigBee.

XMesh är implementerat i en TinyOS-applikation vid namn Surge. Surge använder sig av XMesh multihop routing från TinyOS och länkas i mjukvarukomponenten MultiHopRouter. MultiHopRouter komponenten i TinyOS sänder automatiskt

(38)

uppskattningar över länkkvalitén, publicerar distansuppskattningar, utför optimala val av rutt och vidarebefordrar multihop datatrafik. Komponenten består av tre huvudsakliga delar:

• MultiHopEngineM, modul som har hand om vidarebefordring av kärna (core) och har en val-funktion för sändning/routing av multihop.

• MultiHopLEPSM, uppdaterar fälten i multihop-paketet.

• QueueSend, har hand om de pågående transmissionerna. Surge använder sig av gränssnittet Send för att vara ansluten till denna komponent och uppnå XMesh:s multihop-funktionalitet.

(39)

Bilaga 3

XMesh översikt

1 XMesh översikt ... 40 2 Formation av multi-hop Mesh-nätverk ... 40 2.1 Länkuppskattning och val av förälder... 41 2.2 Anslutningsbaserade routingval... 43 2.3 XMesh mätmetoder... 44 3 Sändning och mottgagning av XMesh-meddelanden ... 45 4 Hälsopaket... 48 5 Referenser ... 50

(40)

1 XMesh översikt

XMesh heter det protokoll som Crossbow har utvecklat till trådlösa sensornätverk (WSN, Wireless Sensor Networks). Noderna i ett XMesh nätverk kallas för Motes. Genom inbyggda funktioner, kan protokollet automatiskt etablera multi-hop och mesh-nätverk.

Multi-hop nätverk innebär att det sker minst två stycken trådlösa hopp mellan sensornoder för att skicka ett meddelande med information mellan den ursprungliga noden och basstationen, för att sedan vidarebefordras till en PC eller en annan klient.

I ett mesh-nätverk kan varje enskild sensornod agera som självständig router. På så vis möjliggörs omkonfigurering i nätverket för att ta sig runt felande länkar.

Med hjälp av hoppning, kan energiförlusten reduceras avsevärt och resultera i att livslängden på batterierna kan nå flera år.

2 Formation av multi-hop Mesh-nätverk

Som standard i XMesh, uppstår formationen av ett mesh-nätverk direkt då noderna sätts igång. Formationsprocessen sker distribuerat och omfattar tre lokala processer [8]. Två processer (länkuppskattning och val av förälder) körs parallellt med varandra [5] och interagerar med den tredje processen (anslutningsbaserade routingval) som träder i kraft.

(41)

2.1 Länkuppskattning och val av förälder

Ett XMesh multihop-nätverk formas genom att alla noder i nätverket periodiskt sänder ut ruttuppdateringsmeddelanden (Route Update Messages). Ruttuppdateringsmeddelandet sänds ut varje ruttuppdateringsintervall (RUI, Route Update Interval). Som standard är parametern (som definieras i Multihop.h) satt till var 36:e sekund för high power mode och var 260:e sekund för low power mode.

Respektive nod avlyssnar (”sniffar”) slumpartat efter ruttuppdaterinsmeddelanden i dess omgivande radiotrafik och använder den uppfångade informationen till att fylla på en tabell över befintliga grannar. Noden uppskattar hur väl den kan höra en granne genom att övervaka sekvensnummer i multihop-huvudet. En EWMA-algoritm utförs för att uppskattningen ska bli jämn (se avsnitt 2.3 för detaljer).

Ett ruttuppdateringsmeddelande innehåller följande information:

1. Förälderns ID, om noden ännu inte har ingått i mesh-nätverket, är detta fält 0xFFFF.

2. Kostnad, talar om för noderna i grannskapet hur mycket routing kostnaden är för att skicka ett meddelandepaket uppströms till basstationen. Från början är noden deklarerad som ”föräldralös” och dess routing kostnad är satt som oändlig.

3. Hoppantal, hur många hopp det tar att skicka ett meddelande till basstationen.

4. Lista över kvalificerade grannar och deras kvalitetsuppskattning. Pga. TinyOs-paketets storlek, innehåller varje ruttuppdateringsmeddelande högst fem stycken grannar. Skulle det finnas fler än fem kvalificerade grannar, kommer noden att hantera det genom att skicka listan uppdelad i en sekvens av ruttuppdateringsmeddelanden. En granne anses kvalificerad om dess

(42)

mottagningsuppskattning (RE, Receive Estimate) är större än ett visst tröskelvärde (100 för high power och 10 för low power).

Som standard innehåller nodens tabell över grannar 16st platser. Om en nod kan höra fler än 16st grannar, kommer den att fördriva dem med lägst kvalité ur tabellen. Storleken på basstationens tabell över grannar är satt till 40st platser. Således kan basstationen hantera fler grannar. Då basstationen inte brukar köra applikationer, är den inte lika minnesbegränsad som de övriga noderna.

Noderna gör ett urval av förälder var åttonde RUI. Denna tid är till för att noden ska hinna samla upp information från sina grannar och beräkna goda beslut baserade på informationen. Respektive nod väljer den grannod som ådrar sig lägst energikostnad till att vara förälder. En grannod anses vara kandidat till förälder om den:

• redan har ingått i XMesh-nätverket.

• inte är en avkommande nod de senaste tre RUI. Detta för att undvika bildning av cykler.

• inte är en ELP (extenden low power) nod.

I vissa fall påskyndas mesh-formationen genom att XMesh låter noden gå över till ett snabbformationsläge. Det kan exempelvis ske i fall där noden just har uppstartats, eller har förlorat sin förälder. När snabbformationsalgoritmen körs, väljer sensornoden en suboptimal förälder, för att kunna förenas med nätverket. Noden kommer senare att byta till den lämpligaste föräldern.

En nod kan byta till ny förälder om den nya förälderns kostnad är en viss marginal mindre än den befintligas. Den kan även byta till ny förälder om länkkvalitén till den befintliga föräldern faller under ett visst tröskelvärde, om basstationen inte kan nås genom den befintliga föräldern, eller om en cykel upptäcks [8]. När anslutbarheten till befintlig förälder försämras, kommer dess länkuppskattning med tiden att degraderas i tabellen över befintliga grannar, vilket således ger möjlighet till val av ny förälder.

(43)

I XMesh är länkkvalitén ett nummer mellan 0 och 255 och i Crossbow Motes räknas länkkvalité under 125 som undermålig [4]. I Crossbow:s sensornätverk är länkkvalitén ett mått på framgångsrika leveranser av paket, som är ett förhållande mellan mottagna/förväntade paket.

Exempelvis, om nod A brukade ha nod B som förälder, men länken emellan nod A och B bryts p.g.a. att det trådlösa sensornätverket dynamiskt tagit skada, borde B ersättas med en av A:s övriga grannar, eftersom att den övergripande kostnaden mellan A och B blir relativt hög. Detta till skillnad från traditionella tekniker för länkdetektering [2, 6] som enbart räknar antalet transmissionsfel och på så vis inte klarar av att uppskatta den realistiska kommunikationskostnaden mer exakt. Ett system som håller översikt över grannar med avseende på länkkvalité är således att föredra, för att hantera länkar som kan brytas. Skulle det falla sig så att anslutningen till befintlig förälder försvinner och inte andra potentiella föräldrar är tillgängliga, deklarerar noden sig själv som föräldralös och avskiljer sig från trädet.

2.2 Anslutningsbaserade routingval

Länkuppskattningsprocessen formar tillsammans med processen som hanterar grannoder, en sannolik anslutningsgraf [1, 3]. Routingprocessen bygger topologier efter denna graf, baserade på den minsta transmissionskostnaden. Den resulterande topologin är en delgraf av den lokala anslutningsgrafen.

Processernas mål är att minimera totalkostnaden för transmissionerna och tillhandahålla tillförlitlig kommunikation.

(44)

2.3 XMesh mätmetoder

För att bättre kunna förstå hur XMesh-nätverket formas, följer några algoritmer som avgör nodernas val av förälder:

Mottagningsuppskattningen (RE), radiosignalens länkkvalité från en specifik granne

till den mottagande noden, beräknas genom att tillämpa en EWMA-algoritm (Exponentially Weighted Moving Average) på procenttalet av det mottagna paketet:

Ny Estimering = 255*mottagna paket / (mottagna + missade ) RE = (1-α) * RE + α * Ny Estimering

där α är EWMA-faktorn, som är ett värde mellan 0 och 1 och definierar tyngden av det nyuppskattade värdet.

Sändningsuppskattningen (SE) är radiosignalens länkkvalité från noden till en specifik

granne. När en nod sänder ut ett ruttuppdateringsmeddelande, stoppar den även in dess grannars mottagningsuppskattning (RE) i paketet, så att nodens grannar får reda på sändningsuppskattningen (SE) till den.

Länkkostnaden (LC) syftar på kostnaden till en specifik granne. Då mottagningsuppskattningen (RE) och sändningsuppskattningen (SE)till en specifik nod är känd, beräknas länkkostnaden genom:

(45)

Transmissionskostnaden (OC) är ett värde för kostnaden att skicka ett meddelande till

basstationen:

OC = LC + NC

där NC är kostnaden till grannen, som är ett värde som fås i ruttuppdateringsmeddelandet från en specifik granne.

Sensornoden kommer att välja den granne med lägst OC som granne.

3 Sändning och mottgagning av XMesh-meddelanden

XMesh kan överföra meddelandepaket uppströms (från noder till basstationen) och nedströms (från basstationen till noder). Kommunikationsvägarna ser likadana ut, men de bestäms av det meddelandepaket som går uppströms från en nod till basstationen. Kommunikation nedströms kan således endast ske efter minst ett uppströmsmeddelande från en sensornod till basstationen. Meddelandet kan exempelvis vara sensordata, hälsopaket, eller annan typ av uppströmsmeddelande.

Meddelandepaket kan skickas med två olika QoS nivåer (Quality of Service) [5]:

1. Länknivåbekräftelse: Denna QoS tillhandahåller omsändningar mellan den

sändande och den mottagande noden, om en bekräftelse (acknowledgement) inte har tagits emot av sändaren. Denna QOS kan inte garantera att ett multihop-meddelande blir överfört framgångsrikt. Länknivåbekräftelse är den lämpligaste QOS för system som kräver låg energiförbrukning och inte behöver 100% leverans av data.

2. Ändpunkt-till-ändpunkt bekräftelse: Denna QoS garanterar leverans och är en

(46)

bekräftelse till den ursprungliga avsändaren. För meddelanden nedströms, kommer basstationen att ta emot en bekräftelse från den avsedda källan. Gränssnittet för XMesh låter användaren själv bestämma om meddelandepaketet ska omsändas. Denna QoS förbrukar mer energi än länknivåbekräftelse och även större bandbredd.

XMesh meddelanden är TinyOS meddelanden med tilläggsinformation till routing [7]:

Komponent Beskrivning

Huvud Sammansättning av standard TOS huvud och XMesh multihop huvud. Payload Nyttolast, användardata.

CRC CRC checksumma

Tabell 4-1: XMesh meddelandestruktur.

Följande tabell visar XMesh paketstruktur i detalj och beskriver de olika parametrarnas funktioner:

Typ Namn Beskrivning Komponent

uint16_t addr Destinationsadress (nästa hopp). Det kan innehålla tre olika typer av värden:

• Utsändningsadressen (0xFFFF) – sänder till alla noder.

• UART adress (0x007E) – meddelande från en nod till den seriella porten. Alla inkommande meddelanden har denna adress. • Nodadress – det unika ID till den

nod som ska ta emot

meddelandet. TinyOS huvud

uint8_t type AM (Active Message) typ, för att unikt identifiera vilken typ av meddelande det är. Varje applikation brukar ha sin egen meddelandetyp.

(47)

uint8_t group Grupp-ID, för att unikt identifiera den grupp som sensornoderna i nätverket tillhör. Endast de noder som har samma grupp-ID kan kommunicera med varandra.

uint8_t length Antalet bytes i meddelandet. Dessa inkluderar inte CRC eller ramsynkronisering (frame synch).

uint16_t sourceaddr Adress på den nod som vidarebefordrade meddelandet.

uint16_t originaddr Adress på den nod som skickade det ursprungliga meddelandet.

uint16_t seqno Meddelandets sekvensnummer. Används vid bestämmandet av rutt samt vid beräkning av missade paket.

XMesh multihop huvud.

uint8_t socket Applikations-ID, för att unikt identifiera den applikation som ska behandla meddelandepaketet.

uint8_t data Användardata, det faktiska innehållet i meddelandepaketet. De användardata som sänds är rådata som är specifik för meddelandetypen och den applikation som körs inbäddad i sensornoden.

Storleken på

användardata är som standard 29 bytes och kan redigeras i TOSH_DATA_LENGTH. uint16_t crc CRC checksumma som försäkrar

meddelandets obrutenhet. CRC inkluderar hela pakettypen och hela TinyOS-meddelandet.

CRC

(48)

4 Hälsopaket

De för-kompilerade XMesh applikationerna som inkluderas i MoteView, genererar hälsopaket (health packets) vid regelbundna intervall. Hälsopaketen sammanfattar nätverkets tillstånd över tiden. Förutom respektive nods egna hälsopaket, sänder varje nod även ett hälsopaket över en granne. Grannens hälsopaket syns inte i MoteView, men det loggas i databasen som är installerad på PC:n.

Fig 4-1. Tabell över nodernas hälsa.

Fig. 4-1 visar exempel på tabell över nodernas hälsa. Hälsopaketet innehåller den respektive sensornods ID, tidsstämpel och följande fält:

Namn Förklaring

Hälsopaket Health_pkts är det totala antalet av hälsopaket (inkl. hälsopaket över granne) som har skapats sedan senaste omstart. Detta nummer visas i råa enheter (antalet paket) och % Paket (förhållandet mellan hälsopaket och nodpaket). Nodpaket Node_pkts är det totala antal paket som har skapats av noden sedan senaste

omstart. Detta nummer inkluderar all data, nodhälsa, grannes hälsa och ruttuppdateringspaket.

Vidarebefordrade paket

Forwarded är det totala antalet paket som noden har vidarebefordrat från andra noder. Detta nummer visas i råa enheter och i % Paket. Ett stort nummer indikerar överbelastning av nätverket vid denna nod.

Slopade paket Dropped är det totala antalet paket som noden har slopat. Paketet slopas när det har blivit återsänds åtta gånger, utan att ha tagit emot länknivåbekräftelse. Detta nummer visas i råa enheter och i % Paket.

Återförsåk Retries är det totala antalet omtransmissioner som noden har behövs utföra p.g.a. att den inte mottog någon länknivåbekräftelse.

Figure

Fig. 1-1: Nätverksstrukturer och routing-tekniker.
Fig. 2-1: XMesh ELP topologi. HP-nod
Fig. 2-2: Täckningshål.
Tabell 3-1: Den potentiella fältmetodens fördelar och nackdelar.
+7

References

Related documents

The nodes generate data to transmit according to an average message generation intensity L and the destination node of each transmission is randomly chosen out of

För att komma tillrätta med den här problematiken använder experter många olika metoder för att värdera risker, men samtidigt har olika grupper av människor, genom sina

(reliabel och valid) teknik för mätning av olika Vägegenskaper utgör förutsättningar för en snabb och objektiv väginventering vilket krävs för att tillgängliga begränsade

Fig.2 Measured Natural Frequencies of the Hangers on the West Side of the Bridge, [COWI, 2004] Figure 3 shows the hanger forces evaluated from the frequencies depicted in Figure

This derived model was used to create a two part control system, with an inner control loop to manage the speed of the motors using a PI controller and an outer control loop to

Notera att Umeå universitet har en overheadkostnad, så om ni vill behålla hårdvara efter kursen är det billigare att köpa själv från ex.. Om du studerar vid

The goal of the study was to simulate the behavior of OLSR and DSR for delay, throughput, routing overhead, and network load and energy consumption in the presence of node

It is known that the socbus network has quite a large overhead on small packets [1] and since the input modules share packet buer and route table they will from time to time block