Skriv ut

I dagens uppkopplade hem används ett antal olika standarder för trådlös kommunikation för att koppla samman utrustningar som datorer, mobila enheter, mediaspelare och skrivare. Hittills har Wi-Fi varit arbetshästen för hemmanätverk, särskilt när det handlat om att flytta digitalt mediainnehåll.

embex Ladda ner artikeln på 500 kbyte här (länk, pdf).
Fler tekniska rapporter finns på etn.se/expert

Nu tar egnahemsägarna nästa steg. För att ytterligare förbättra sin komfort, livskvalitet och energieffektivitet börjar de ansluta apparater som värmeregulatorer, ljussensorer, omkopplare och säkerhetsdetektorer runt om i hemmet till Internet. Tingens Internet (IoT – Internet of Things) är på väg in i det uppkopplade hemmet.

I likhet med många andra IoT-enheter är de nätverksanslutna sensorer och aktuatorer som nu föreslås för användning i uppkopplade hem, ytterst energikänsliga. Ofta måste de kunna fungera under flera år på ett enda litet batteri, och det finns snäva begränsningar för beräkningskraft, minne och fysisk storlek. Valet av kommunikationsstandard kan avgöra om alla dessa krav på prestanda och konnektivitet kommer att kunna uppfyllas.


Dagens etablerade teknologier för trådlös kommunikation tvingar fram ett antal kompromisser när de används för att ansluta ting i hemmet med varandra eller till Internet. Även om Wi-Fi stöder mycket hög genomströmning för transport av audio, video och data runt om i hemmet, så är effektförbrukningen vanligen för hög för användning i små, batteridrivna enheter. Å andra sidan betyder det inbyggda stödet för Internetprotokollet (IP) att anslutningen till Internet är enkel och rättfram.

Bluetooth Smart har å sin sida mycket låga effektkrav, men standarden togs fram för punkt-till-punkt-kommunikation och bulköverföring av data mellan smarta telefoner och tillbehör. Den senaste Bluetooth Core Specification 4.2 lägger en grund för inbyggd IP-konnektivitet i framtiden genom att lägga till stöd för IPv6 och 6LoWPAN.

Lågeffektsteknologier för mesh-networking som använder radioplattformen IEEE 802.15.4 har konstruerats för tillämpningar med låg bandbredd, avsedda för styrning och automation. ZigBee PRO har varit det dominerande protokollet i mer ett decennium, och det passar mycket bra för att ansluta hundratals sensorer och aktuatorer runt om i hemmet. ZigBee PRO-nätverk kan kommunicera med datahastigheter på upp till 250 kbit/s, och effektbehovet är tillräckligt lågt för att möjliggöra batterilivslängder på flera år. Dock har ZigBee PRO inte inbyggt stöd för IP.

Ett ny möjlighet för IP-baserat mesh-nätverkande finns nu tillgänglig: Protokollet Thread har utvecklats för att uppfylla de speciella kraven hos uppkopplade hemapparater och komma förbi begränsningarna hos dagens standarder för trådlösa nätverk. Specifikationen publicerades i april 2015 av Thread Group, där ledande globala namn inom halvledare, konsumentvaror och uppkopplade hem ingår.

Liksom ZigBee Pro använder Thread radioplattformen IEEE 802.15.4. Men till skillnad mot ZigBee Pro är IP-adresserbarhet inbyggd. Dessutom är Thread-protokollets låga effektförbrukning och stöd för robusta, självläkande konfigurationer för meshnät egenskaper som varken Wi-Fi eller Bluetooth Smart kan konkurrera med. Tabell 1 jämför de viktigaste egenskaperna hos Wi-Fi, Bluetooth Smart, ZigBee PRO och Thread.

Inbyggd IP-adresserbarhet är en värdefull egenskap för uppkopplade tillämpningar i hemmet. IP utgör kärnmekanismen vid vidaresändning av datagram över IP-nät, och dess routingfunktioner möjliggör kommunikation mellan nät.

Nätverksteknologier som inte har IP-stöd inbyggt måste anslutas till IP via en gateway som översätter mellan lokala nätverksadresser och IP, och ompackar nyttolasten på nätverksnivå till IP-datagram. Lokalnätsteknik med inbyggt stöd för IP, som Thread och Wi-Fi, kan istället direkt vidaresända och routa tillämpningarnas nyttolast utan ingrepp utifrån. Paket som krypteras i det lokala nätverket förblir säkra hela vägen mellan sändande och mottagande nod.

Threads kombination av låg effektförbrukning och inbyggt stöd för IP ger protokollet unika kvaliteter som möjliggör sömlös konnektivitet mellan ”tingen” och Internet.

Thread drar fördel av funktioner som stöds i 6LoWPAN (IPv6 over Low Power Wireless Personal Area Networks) och som gör det möjligt att effektivt överföra IPv6-datagram över IEEE 802.15.4-länkar. Bland dessa funktioner finns anpassning av paketstorlekar, komprimering av huvuden samt vidaresändning i skikt två som gör det möjligt att använda IP-routning för att vidaresända paket.

Thread förenklar konfigureringen och provisioneringen av enheter genom att bara stödja två olika nodtyper: Router Eligible (ungefär ”routerkandidat”) och End Device.

Router Eligible-noder omvandlas till routrar om de behövs för att stödja mesh-nätverket. Den Router Eligible-nod som är först med att skapa nätverket kommer att autonomt utses till router, liksom till Leader. En Leader utför ett antal extra uppgifter för styrning av nätet och fattar beslut å nätets vägnar. Andra Router Eligible-noder i nätverket kan överta rollen som Leader, men det kan bara finnas en enda Leader per nätverk vid en given tidpunkt.

Noder som ansluts som End Devices stöder inte några routingfunktioner. Istället sänder de meddelanden till en router som tilldelats rollen som dess ”förälder”, och denna förälder utför routingoperationer å sitt barns vägnar. End Devices routar kommunikation via föräldrar, och de kan programmeras att vara ”sömniga” för att minska effektförbrukningen. End Devices som inte kan kommunicera via sina föräldrar kommer efter ett antal försök att autonomt söka efter och ansluta sig till en ny förälder.

Figur 1 visar ett Thread-nätverk med ett antal Router Eligible End Devices (REED), Thread Routers samt en Leader.

Alla enheter i ett Thread-nätverk har en IPv6-adress. De kan direkt anropas av lokala enheter på ett Home Area Network (HAN), eller utanför nätverket med hjälp av Thread-kompetenta IP-routrar som kallas Border Routers.  Figur 2 visar ett typiskt Thread-nätverk.

För meddelandehantering använder Thread protokollet User Datagram Protocol (UDP) istället för Transport Control Protocol (TCP). UDP saknar stöd för ett antal TCP-funktioner som felkontroll, paketsekvensering och återsändningar. Denna nedbantade lösning möjliggör snabbare och mer effektiv överföring, vilket gör UDP bättre lämpat för resursbegränsade enheter med batteribackup.

För att komma förbi några av begränsningarna i UDP använder Thread protokollet Constrained Application Protocol (CoAP). Denna kombination av lättviktiga protokoll gör det enkelt att översätta mellan Thread och HTTP, vilket gör det möjligt att kontakta IoT-enheter direkt från en webbläsare.

Liksom Wi-Fi fokuserar Thread på säker och tillförlitlig transport av information och specificerar inte något tillämpningsskikt. Istället ger Thread tillgång till grundläggande unicast- och multicast-meddelandetjänster som möjliggör stöd för ett stort antal olika IP-tillämpningsskikt.

För att förenkla användandet av dessa tjänster och strömlinjeforma kodutvecklandet har Silicon Labs utvecklat verktyget AppBuilder, som gömmer undan detaljer på stacknivå och ger användaren tillgång till ett enkelt grafiskt användargränssnitt för konfigurering av enheter och nätverksparametrar.


Thread ger omfattande stöd för lågeffektsdrift genom att använda vilande slutnoder som tillbringar merparten av sin tid i låg­effektslägen. Meddelanden till en sådan nod buffras av dess föräldranod medan den är i vila, och de sänds först när noden har vaknat och pollat sin förälder.

Thread kan stödja nätverk som innehåller mer än 250 noder. Maximala antalet aktiva noder är 32, vilket gör att routing­information effektivt kan distribueras över nätverket och att alla routrar kan bibehålla synlighet över alla routrar i nätverket.

När nya noder läggs till i nätet anpassar det sig genom att utbyta MLE-meddelanden (Mesh Link Establishment), och topologin kan också komma att ändras. Slut­enheter som är Router Eligible kan anhålla hos nätverkets Leader om att bli routrar, om detta bedöms vara nödvändigt för att förbättra nätverkets totala prestanda.

Som mesh-nätverk är Thread självläkande och har ingen single point of failure. Om ett fel uppstår i en router kommer nätverket att dynamiskt omrouta trafiken kring den felande noden. Om det blir fel på en Leader utses automatiskt någon annan router i nätet till ny Leader. Genom att använda flera Border Routers går det att uppnå felsäker redundans för kommunikation utanför nätverket.

En konnektivitetsstandard som positioneras för IoT-användning måste kunna erbjuda robust säkerhet. Thread använder AES-128 för att skydda alla nätverkstransaktioner på MAC-nivå (Media Access Control). Dessutom kan standardbaserade IP-säkerhetsprotokoll som DTLS användas på applikationsnivå för att ytterligare säkra nyttolaster. En kombination av algoritmerna ECC och J-PAKE gör att nya enheter på ett säkert sätt kan läggas till i nätverket.

För att en ny enhet ska kunna läggas till i nätet krävs att det finns en enhet som kan utföra driftsättning. En sådan kan antingen vara en enhet utanför nätverket, som en smartphone eller dator, eller en Thread-enhet på nätverket. Enheter utanför nätverket måste först autentiseras med en säker DTLS-handskakning. Väl auktoriserad kommer den aktiva driftsättningsenheten att göras känd i hela Thread-nätverket.

När en ny enhet läggs till instruerar en användare driftsättningsenheten och ­matar in ett unikt lösenord som associeras till den anslutande enheten och används för att upprätta en säker DTLS-session för ­autentisering och auktorisering. Den nya enheten ges access till Thread-nätverket, och driftsättningsenheten görs sedan inaktiv.

Konsumenterna har upplevt fördelarna med hemmanätverk för att enkelt få internetaccess och möjlighet att dela på innehåll mellan olika enheter. Nu vill de kunna utnyttja fördelarna med uppkopplade hem som innehåller ett stort antal internetanslutna sensorer och aktuatorer. Dessa Internet-of-Things-enheter har stränga begränsningar vad gäller effektförbrukning och storlek, och de kräver ett nytt protokoll för trådlös kommunikation som kombinerar effektiv, nativ IP-adresserbarhet för robust mesh-networking med låg effektförbrukning. Thread har tagits fram för att uppfylla dessa krav.