LoRa, the Internet of Things

‘Dingen’ die online zijn

We hebben overal dingen om ons heen; van mij hoeven die niet altijd online te zijn – al had het best gekund dat m’n koelkast mij vertelde dat er nog oud brood in de vriezer zit. Als ik er zo eens over doordenk, zijn er tal van toepassingen waarvoor het ‘online zijn’ handig kan zijn: loop door de stad en je ziet volle containers, ondergelopen bootjes, parkeerplaatsen, fietsen, lantaarnpalen en ik vraag mij op sommige plekken ook wel eens af of de lucht kwaliteit nou zo goed is en niet eens gemeten zou moeten worden. Ook kom ik steeds vaker leuke en nuttige ‘Internet-of-things’-toepassingen tegen van mensen die met LoRa bezig zijn, zoals het in de gaten houden van bijenkorven.

Standaarden

Mijn eerste gedachte is dat we voor vaste netwerken een mooie standaard hebben: IP. Bij veel machine-to-machine (m2m) communicatie die via 2G of 3G loopt (de pin-automaat, snoep-automaat, …) is die standaard ook in gebruik. De “vending machines” waren zelfs een van de eerste use-cases voor een m2m-verbinding, zodat er niet iemand onnodig langs hoefde te komen om een volle automaat te vullen. Mijzelf inlezend in nieuwere technieken voor Internet of Things (IoT) verbaasde het mij daarom dat de netwerk-architectuur anders in elkaar zit.

Low Power, Low Range?

Elk netwerk heeft z’n eigen karakteristiek: ‘things’/dingetjes kunnen overal en nergens zijn, en dan is het handig als die met een batterijtje gevoed kunnen worden en ze daar heel lang mee door kunnen gaan. Misschien zijn de protocollen waarmee we dagelijks op internet werken, dan toch niet zo logisch en efficiënt.

Bluetooth en Zigbee zijn misschien wel bekend als low-power netwerken, maar die zijn ook low-range. Als je daar een groter netwerk van wil maken zal dat in een mesh moeten: devices die allemaal met elkaar praten en een doorgeefspelletje doen van data.

Wi-Fi, 3G en 4G standaarden, daar zijn we vertrouwd mee. Daarom we weten we ook dat Wi-Fi vaak niet eens tot je eigen zolder komt en dat Wi-Fi werkend krijgen en houden best wat energie vraagt. Hoe ver een netwerk draagt, heeft onder andere te maken met de hoeveelheid energie, encoding technieken en de frequentie waarop data verzonden en ontvangen kan worden. Netwerken die ver komen, vinden we in de frequentie-banden onder de 1 GHz. (Denk maar aan de walky-talkies van de speelgoed-winkel met “enkele kilometers”: die zitten in de 433 MHz. Alleen is de “signaal ruis verhouding” soms niet goed genoeg om als mens elkaar te kunnen verstaan: computers kunnen dat slimmer.)

LoRa-netwerk

De categorie netwerken voor low-power en long-range netwerken heet LPWAN: low power wide area networks. Dit zijn net als Wi-Fi en Ethernet, netwerken met een ster-topologie en dat draagt bij aan een laag stroomverbruik. Geen power-sipping device hoeft dan in een mesh een energie kostend doorgeef-spelletje te spelen van data, maar de data kan direct via een centraal punt ‘het netwerk op’. Er zijn ook nog wel wat andere LPWAN-technieken maar recent is met name LoRa in het nieuws.

Foto van meetapparatuur
Meten van temperatuur, luchtvochtigheid en luchtdruk en via LoRa verzenden via eenvoudige hardware.

Long Range, radiotechniek

In Europa is de bruikbare frequentie voor LoRa in de 868 MHz. (Officieel ook 433 MHz, maar het toegestane zend-vermogen is lager en de band kleiner. Ik had het ook al over die walky-talkies als directe concurrent: deze band is erg vervuild. Als kind vond ik walky-talkies prachtig, niets slechts over.) Deze frequentiebanden zijn niet gelicenseerd, maar wél gereguleerd: je mag dus niet ongestraft veel zenden, maar per frequentie band mag er 1% van de tijd verzonden worden. Met die duty-cycle moet apparatuur rekening houden.

LoRa staat voor Long-Range, en is voornamelijk de radiotechniek: die gebruikt een slimme manier van met spread spectrum data versturen in chirps (denk aan het tsjirpen van een vogel!) waardoor het signaal ook als het heel zwak is, toch gedetecteerd kan worden. Een goed opstelpunt haalt gerust meerdere kilometers (bebouwing is lastig) in het vrije veld kunnen het er tientallen zijn. Minstens zo krachtig is dat er met 6 verschillende snelheden (de spreading factor, SF) van LoRa gewerkt kan worden, in wel 8 (sub)frequenties (met 125 kHz breedte) en dat apparatuur zelfs overlappende signalen nog uit elkaar kan trekken.

LoRaWAN

De specificatie om dit mogelijk te maken is LoRaWAN, gemaakt door de LoRa Alliance. (LoRa is een trademark van Semtech, die maken de chips). Hierin is opgenomen; hoe devices het netwerk op komen en echt data uitwisselen, hoeveel data je kunt zenden of ontvangen, de adressen die ze gebruiken, encryptie, etc. Je zou LoRaWAN kunnen vergelijken met het IP-protocol, en LoRa met Ethernet als fysieke laag.

In LoRaWAN zijn er nodes (ook “motes” genoemd), gateways die zoals Wi-Fi accesspoints de signalen uit de lucht opvangen en omzetten, een network server (soms een hele gedistribueerde infrastructuur) die de brug vormt voor de data naar de applicatie. De data die een node stuurt kan door meerdere gateways tegelijk worden opgevangen, encryptie-sleutels zorgen er uiteindelijk voor dat het netwerk het bericht zal aannemen en de applicatie ontsleutelde data kan verwerken. Bijzonder aan LoRaWAN is dat het ook mogelijk is data te ontvangen op een sensor.

Schema diagram van LoRaWAN architectuur
LoRaWAN architectuur. Bron: LoRaWAN Alliance

Wisselen van snelheid, de spreading factor (SF)

Een van de slimmigheden van LoRaWAN is het kunnen wisselen van snelheid, de spreading factor (SF). Devices met een lage spreading factor communiceren sneller, verbruiken minder air-time, maar komen minder ver. Een hogere spreading factor maakt dat je boodschap trager, maar over grotere afstand zekerder door komt. In de LoRaWAN specificatie zit ADR: adaptive data-rate, waarbij het netwerk jouw apparaat kan adviseren een lagere spreading-factor te gebruiken als het signaal sterk genoeg is: dat spaart air-time, stelt je in staat sneller meer data te versturen en dus energie te besparen. Met minder air-time per node kunnen er ook meer nodes actief zijn in het netwerk. (In Wi-Fi kennen we ook een techniek om van snelheid te wisselen.)

Grafiek met energie / airtime afgezet tegen bitrate.
Dichter bij de gateway kan een sensor met minder airtime en energie zenden. Door de SF te veranderen komen berichten verder.

Een mooie feature van LoRa is localisatie: doordat bij meerdere antennes het signaal van een sensor aan komt, is het mogelijk de plaats te bepalen. Dit is een super feature voor bijvoorbeeld asset-management, maar het vraagt nog wel wat van de infrastructuur om dit mogelijk te maken.

LoRaWAN klasses op basis van stroomvebruik

Er zijn een aantal LoRaWAN klasse’s: klasse A, B en C. Voor sensoren die weinig stroom willen verbruiken en op gezette tijden wat data willen versturen of ontvangen is klasse A: de radio doet het grootste gedeelte van de tijd niets en verbruikt geen stroom. Pas als je iets wil versturen doet deze wat: je kunt een aantal tientallen bytes versturen (hangt ook een beetje van de SF af), en als de radio weer een seconde uit staat gaat deze luisteren of er nog data binnen komt (op dezelfde frequentie waarop de data is verzonden). Na 2 seconden zal het device nog eens luisteren op een algemene frequentie, als er nog niets is ontvangen. Prima klasse voor sensoren die willen doorgeven of er iemand op een parkeerplek staat, de container vol is, de koffieautomaat stuk is. Maar als je een bericht wilt versturen naar een sensor, is het bericht er niet per direct.

Klasse B en C verbruiken beide meer energie, waarbij B nog niet helemaal is geïmplementeerd. Met B zijn er beacons en tijd-intervallen om mee te werken, er is synchronisatie nodig met de gateways (de “accesspoints” van LoRaWAN) en de sensoren (motes in LoRa-slang). Klasse C is continue aan het luisteren naar data, dus de latency is erg laag. Je kunt prima de hele tijd luisteren als je een lantaarnpaal bent en toch genoeg stroom hebt. (Maar of het nuttig is…)

The Things Network, je kan er zelf mee aan de slag

Het leuke aan de techniek is dat het vrij beschikbaar is en je er zelf mee aan de slag kunt: je krijgt er dan direct meer gevoel voor. Je kunt ook bijdragen aan een netwerk: The Things Network is een community-initiatief om gateways voor LoRaWAN aan elkaar te knopen en zo een groot wereldwijd netwerk te maken. Het concept lijkt een beetje op dat van eduroam. Doel is zo min mogelijk centrale componenten, en alle mogelijkheden bieden aan gebruikers.

Gateways kunnen data doorsturen naar meerdere “network servers”, dus het is ook mogelijk om zowel een private netwerk te hebben (op de campus of met SURFnet-instellingen onderling) naast het uitwisselen van data met The Things Network.

Het is ook prima mogelijk om commercieel een LoRaWAN netwerk af te nemen: KPN rolt in Nederland ook een netwerk uit en belooft beschikbaarheid en dekking zoals we dat ook bij 2G gewend zijn. Ze bieden in de toekomst ook lokalisatie als extra mogelijkheid. In het buitenland zijn ook tal van providers bezig met de techniek: de kracht zit misschien wel in het combineren.

Maart: Hand-On workshop LoRaWAN

De beste manier om vertrouwd te raken met de techniek is om er mee te werken: spelen met apparaatjes, de netwerk-componenten, … Bij SURFnet hebben we inmiddels aardig wat kennis opgebouwd en een interne hands-on workshop georganiseerd. Op dit moment kijken we naar monitoringsensoren voor eduroam en starten we daar een proef mee.

Er zijn tal van toepassingen te bedenken binnen de SURF-doelgroep, maar de echte gebruikers komen natuurlijk met de mooiste use-cases (die verder gaan dan een bewegingsmelder in een vogelhuisje). Het kan op verschillende manieren ingezet worden in onderzoek en onderwijs. In maart houden we twee hands-on workshops. We gaan dan in op de technische details van LoRaWAN en bij de workshop kun je zelf aan de slag met de hardware.

Meer informatie

    Meer over het Innovatieproject Internet of things

 

Auteur

Reacties

Dit artikel heeft 0 reacties