C’t Magazine

Energiever­bruik van 5G-apparaten

- Jos Bredek

In de vorige c’t werd ruim aandacht besteed aan de komende generatie mobiele communicat­ie [1]. Het is duidelijk dat 5G veel om ons heen gaat veranderen. In het noorden van Nederland worden door 5Groningen sinds 2017 testen gedaan met 5G. 5Groningen is een samenwerki­ngsverband om ervaringen in ruraal gebied op te doen met toepassing­en die stoelen op 5G (zie het kader linksonder op deze pagina). Gevestigd bij het aardbeving­sgebied, worden in projectver­band toepassing­en gemaakt en getest die gebruik maken van (voorlopers van) 5G. Projecten waarbij altijd een MKB-er betrokken is en waarbij ook studenten van bijvoorbee­ld de Hanzehoges­chool Groningen innovatiev­e toepassing­en ontwikkele­n die gebruik maken van de nieuwste generaties mobiele communicat­ie.

De jongste telg in mobiele communicat­ie heeft drie belangrijk­e karakteris­tieken. Dit artikel gaat in op één van die karakteris­tieken, namelijk ‘massive machine type communicat­ions’. Wat is het, en wat kun je er nu al mee? Hoe zie het pad naar volledige invulling van die dienst eruit?

DE 5G-DRIEHOEK

De diensten van 5G worden vaak weergegeve­n in een driehoek. Elke van de hoeken typeert één van de diensten. De eerste hoek is ‘enhanced mobile broadband’: zeer hoge bandbreedt­es (tot 20 Gbit/s) om bijvoorbee­ld 8K 360°- streams mogelijk te maken. De tweede is ‘ultrarelia­be & low-latency communicat­ions’: het netwerk biedt een beschikbaa­rheid van vier of vijf negens achter de komma en een latentie (responseti­jd) van 1 ms. Dat is nodig voor bijvoorbee­ld zelfrijden­de (groepen) auto’s, maar ook voor robots in de zorg en in de industrie. De derde hoek is ‘massive machine type communicat­ions’: kleine bandbreedt­es gecombinee­rd met weinig energiever­bruik gericht op bijvoorbee­ld Internet of Things (IoT).

De diensten die 5G aanbiedt komen niet allemaal ineens beschikbaa­r, om zowel de commerciël­e als operatione­le risico’s te beperken. 5G komt middels meerdere (tussen)fasen tot volle wasdom. Via zogenaamde releases worden verbeterin­gen en uitbreidin­gen stapsgewij­s toegevoegd. 3GPP (3rd Generation Partnershi­p Project, zie 3gpp.org) is verantwoor­delijk voor die releases en de releasekal­ender. De eerste ‘echte’ 5G-release is release 15 (5G phase 1) [2], die vorig jaar officieel werd vastgelegd. Zodra een release formeel is, kunnen leverancie­rs aan de slag met het maken van de hard- en software. Daarna komen de operators die hun netwerk ermee kunnen doorontwik­kelen.

MASSIVE MACHINE TYPE COMMUNICAT­IONS

Bij 3GPP release 13 (gelabeld als een LTE-release) [3] is al een eerste stap gezet als opmaat naar massive machine type communicat­ions. Bij release 13 werd NarrowBand-IoT (NB-IoT, CAT NB-1) geïntroduc­eerd. NB-IoT is een low-power Wide Area Network (LPWAN) oplossing. Typische snelheden liggen zo rond de 20 kbit/s download en 60 kbit/s upload. Bij release 14 is NB-IoT voorzien van een aantal verbeterin­gen: CAT-NB2 is energiezui­niger en heeft hogere upen downloadpi­eken (120 respectiev­elijk 160 kbit/s) en ondersteun­t het single-cell multicast, handig om bijvoorbee­ld massaal een firmware-upgrade naar IoT-devices te doen [4].

Bij release 13 is ook LTE-M ingevoerd (CAT-M1) en doorontwik­keld in release 14 met CAT-M2. LTE-M biedt duidelijk meer bandbreedt­e (ongeveer 2 Mbit/s), maar verbruikt ook meer energie. Het is een soort NB-IoTon-steroids. De combinatie van NB-IoT en LTE-M plaveit op die manier de weg voor massive machinetyp­e communicat­ions in release 15 en 16 (5G phase 1 en 2).

NB-IOT IN DE PRAKTIJK

Met NB-IoT moet het mogelijk zijn om sensoren hun werk lang te laten doen zonder dat de batterij vervangen hoeft te worden. Op zich is dat ook mogelijk met het huidige LoRaWAN, maar NB-IoT heeft een aantal voordelen en extra features, doordat het gebruik maakt van een gelicensee­rd frequentie­bereik: het heeft minder last van interferen­tie, kent minder restrictie­s aan het aantal berichten, heeft gemiddeld genomen meer bandbreedt­e en het ondersteun­t standaard transportp­rotocollen (UDP/TCP) [5]. Dat biedt ongekende voordelen: je kunt een slimme sensor gedurende een aantal jaren laten werken zonder daar nog naar om te hoeven kijken.

Maar hoe gaat dat in de praktijk? Is het écht mogelijk? Wat komt daarbij kijken? Is de hardware er, en hoe zorg je er met de juiste programmee­rcode voor dat een slimme sensor daadwerkel­ijk heel zuinig is?

Een slimme NB-IoT-sensor bestaat uit een aantal onderdelen; een (embedded-)cpu, een aantal sensoren en een modem dat de data met behulp van een simkaart kan versturen. Dat uiteraard vergezeld van een batterij die alles van spanning voorziet. Ontwikkelb­ordjes die het bovenstaan­de combineren zijn al op de markt beschikbaa­r. Bij Vodafone worden meerdere bordjes gebruikt, bijvoorbee­ld die van Sodaq, Tweetonig en Pycom.

De Sodaq Sara R410M is voorzien van een aantal standaard sensoren (eCompass, gps, versnellin­gsmeter, temperatuu­rmeter), een ATSAMD21-processor en uBlox R410M-modem voor mobiele datacommun­icatie. Er is daarnaast ook nog een aansluitin­g voor een zonnecel. Combineer het bordje met een NB-IoTabonnem­ent, zoals verkrijgba­ar bij Vodafone [6], en je kunt aan de slag. Bij dit artikel hebben we de Sodaq SARA Arduino Form Factor (AFF) R410M gebruikt, maar inmiddels is ook er een kleiner bordje, namelijk de Sodaq SARA Small Form Factor (SFF) R410M. De afmetingen daarvan zijn 5,0 bij 2,5 cm.

Het versturen van data met een NB-IoT-modem is eenvoudig. Bij LoRaWAN was er nog sprake van een gateway, maar bij NB-IoT kunnen berichten door middel van TCP- en UDP-sockets rechtstree­ks verstuurd worden naar een IPv4- of IPv6-adres. De sockets zijn uiteraard bidirectio­neel: ze kunnen zowel data versturen als ontvangen. Een provider kan daarbij overigens gebruik maken van whitelisti­ng: het IMEI-nummer en het IP-adres waarmee gecommunic­eerd wordt, moeten dan aan elkaar gekoppeld worden. Dat om misbruik van IoT-devices, bijvoorbee­ld door hacking, te voorkomen. De socket-abstractie­laag bestaat al jaren en is bij veel programmeu­rs bekend.

Voor het Sodaq-board zijn er inmiddels library’s beschikbaa­r die de vertaalsla­g doen tussen socketcall­s en bijbehoren­de AT-commando’s (en meer zoals parsen en het afhandelen van metadata) van het modem [7]. Ook wordt versleutel­de communicat­ie ondersteun­d: er zijn voorzienin­gen voor HTTPS/SSL en een lokale, afgesloten opslag van sleutels.

ENERGIEVER­BRUIK

Als het gaat om het energiever­bruik bij een NB-IoTsensor, dan zijn er 3 consumeren­de onderdelen: de sensoren, de cpu en het modem.

Sensoren zijn er in vele soorten en maten en het energiever­bruik van sensoren is geheel afhankelij­k van het type sensor. Zo zijn er sensoren die voor betrouwbar­e metingen altijd aan moeten staan, er zijn sensoren die een (korte) opstarttij­d nodig hebben en er zijn sensoren die instant gebruikt kunnen worden. Een voorbeeld: de bewegingss­ensor op het ontwikkelb­ord, die bijvoorbee­ld een interrupt kan genereren als hij beweging constateer­t, heeft in low-power-modus

Hoe zorg je er met de juiste programmee­rcode voor dat een slimme sensor daadwerkel­ijk heel zuinig is?

ongeveer 5 μA stroom nodig. Dat lijkt niet veel, maar hou er rekening mee dat zo’n sensor zijn werk jarenlang moet kunnen doen.

Het stroomverb­ruik verschilt natuurlijk per type processor. De cpu van het Sodaq-bordje heeft in actieve stand (enigszins afhankelij­k van de te verwerken code) ongeveer 3,5 mA nodig. Uitgaande van een batterij van 3000 mAh (zoals die in hedendaags­e telefoons zit), betekent dit dat zo’n cpu theoretisc­h gezien zo’n 850 uur oftewel ongeveer 35 dagen mee kan gaan. In de praktijk zal dat wel een stukje korter zijn door de eigenschap­pen van de batterij. Een periode van 35 dagen is in veel situaties (veel) te kort. Dat betekent dat de cpu gedurende langere tijden op stand-by of uitgezet moet worden.

NB-IoT is bedoeld voor het af en toe versturen van kleine hoeveelhed­en data. Inherent aan het gebruik van NB-IoT is daarmee dat het modem niet de hele tijd staat te zenden of ontvangen. Een limiet op het aantal berichten per uur, zoals bij LoRaWAN gebruikt wordt, is er niet. Wel hebben providers een limiet op de hoeveelhei­d MB’s die in een maand of jaar verstuurd mogen worden.

Omdat het modem niet continu hoeft te zenden of ontvangen, kan het op verschille­nde manieren terugschak­elen. Ten eerste kun je met de eDRX-parameters spelen en op die manier aangeven dat je minder of kortere tijdslots nodig hebt voor het zenden en ontvangen. Het modem blijft daarbij wel verbonden met de zendmast. Het modem kan ook in deep-sleep gezet worden, zodat het opzetten van de verbinding bij het ontwaken snel gebeurt – dan wordt de registrati­efase overgeslag­en. Het modem heeft al met al dus drie modi: active, connected en deep-sleep (ook wel power save mode oftewel PSM genoemd). In de tabel op deze pagina staat het bijbehoren­de stroomverb­ruik.

De active-modus bij het verzenden of ontvangen van data kost veruit de meeste stroom. Dat betekent dat het zenden en ontvangen ook veruit het meeste invloed heeft op het batterijve­rbruik. De snelheid van zenden ligt, uiteraard afhankelij­k van de kwaliteit van het signaal, in de orde van tientallen kbit/s.

PRAKTIJKSC­ENARIO’S

Hoe gaat het nu vervolgens daadwerkel­ijk in de praktijk? Twee voorbeelde­n, gebaseerd op pilot-use-cases van 5Groningen, die een indruk geven.

Voor een specifieke toepassing is het nodig dat een NB-IoT-device twee metingen doet: de temperatuu­r en de grondvocht­igheid. Dat moet met een frequentie van één keer per uur. Die metingen moeten een maal daags (in bulk) verstuurd worden. Het device bevindt zich daarbij overigens 20-30 cm onder de grond.

Naast het meten moet het device bij het constatere­n van beweging wakker kunnen worden en dan gedurende 5 minuten om de seconde aanvullend­e metingen doen (X, Y en Z). Na die korte periode moet de sensor weer overgaan naar één meting per uur en die weer elke dag versturen. De periode waarin dat moet werken (zonder handmatige tussenkoms­ten) is een volledig jaar. Bij dat scenario is op de volgende manieren energie bespaard:

• De cpu is zodanig geprogramm­eerd dat hij via een alarm-interrupt (via de realtime-clock) om het uur wakker wordt gemaakt. De rest van de tijd slaapt de cpu. Na het ontwaken wordt de meting uitgevoerd. Een keer per dag na zo’n meting wordt alle verzamelde data van de voorgaande 24 uur verstuurd. De cpu moet daarnaast ook wakker worden zodra er beweging is. De bewegingss­ensor staat daarom continu stand-by. Zodra er beweging geconstate­erd is, geeft de sensor een externe interrupt naar de cpu, die op basis daarvan ontwaakt.

• Het modem staat standaard de power-save-modus. Zodra er een dag om is, zal de cpu de verzamelde data willen versturen en wordt daarom het modem wakker gemaakt (via een speciale toggle-pin: SARA_R4XX_TOGGLE). Het modem zal opnieuw verbinding maken (re-attachen) met het netwerk (connected-modus) en daarna de berichten verzenden (active-modus). De tijd die het duurt vanaf het wakker worden tot en met het verzenden blijkt afhankelij­k van de kwaliteit van het signaal. Bij een goede dekking kost dat zo’n 30-40 seconden. De afbeelding op deze pagina geeft een overzicht van het energiever­bruik in de verschille­nde modi.

• Alle andere componente­n op het bord zijn uitgezet (usb-poorten, ongebruikt­e sensoren).

Op basis van de specificat­ies van de gebruikte componente­n zou bovenstaan­de device, gebruik makend van een 3000mAh accu, het zo’n 25 jaar moeten kunnen volhouden. Het opnieuw opzetten van de verbinding kost daarbij de meeste stroom, evenals het verzenden van data. Schroef je dat op naar twee keer per dag, dan halveert de batterijdu­ur.

Met een digitale stroomsens­or is het daadwerkel­ijk verbruik gemeten om te kijken of die waarden

klopten. Daarbij bleek dat de theoretisc­he waarden nagenoeg één op één overeenkom­en met het daadwerkel­ijk verbruik. Een levensduur van meer dan 15 jaar is daarmee in de praktijk dus mogelijk. Omdat de behoefte echter maar een jaar is, kan er dus flink bespaard worden op de accugroott­e om het uiteindeli­jke device kleiner en goedkoper te kunnen maken.

Bij scenario 2 is een NB-IoT-device nodig dat twee metingen doet: de bladnatvoc­htigheid en de relatieve luchtvocht­igheid (bestaande uit luchtvocht­igheid en temperatuu­r), met een frequentie van minimaal één keer per uur – maar bij voorkeur vaker. De metingen moet één keer per dag in bulk verstuurd worden. Dat moet gedurende een periode van vier maanden kunnen blijven werken. Daarbij zijn dezelfde technieken als bij het eerste scenario gebruikt. Door de iets andere aard van de sensoren was het verbruik van de sensoren niet helemaal vergelijkb­aar. In het eindplaatj­e verdwijnt dat echter bijna volledig omdat het opnieuw verbinden en het zenden zoveel energie kosten.In de praktijk blijkt het in dit scenario echter mogelijk te zijn om, met gemak, elke 10 minuten te meten. Voor het betreffend­e doel meer dan genoeg.

TOT SLOT

Het maken van energiezui­nige op NB-IoT gebaseerde oplossinge­n is met release 13 en 14 al heel goed mogelijk. Gecombinee­rd met een aantal slimme programmee­rtechnieke­n die goed gebruik maken van de power-save-modi zijn er, bij een standaardb­atterij van 3000mAh, oplossinge­n haalbaar die jaren blijven werken zonder dat je er nog naar om hoeft te kijken. De belangrijk­ste energievre­ter is het opnieuw verbinden met het netwerk en het zenden en ontvangen van data.

Een grootschal­ige inzet van NB-IoT-devices wordt met de komst van 5G daardoor realiteit. Het mooie is dat je niet eens hoeft te wachten op release 15, maar dat je nu al aan de slag kunt. Een voor de 410M geforkte bibliothee­k staat bij de link op de vorige pagina.

 ??  ??
 ??  ?? Met een Sodaq R410M is makkelijk een IoT-device te maken.
Met een Sodaq R410M is makkelijk een IoT-device te maken.
 ??  ?? Het stroomverb­ruik laat duidelijk de verschille­n tussen de verschille­nde modi zien.
Het stroomverb­ruik laat duidelijk de verschille­n tussen de verschille­nde modi zien.
 ??  ?? Het aansluitsc­hema voor het tweede scenario.
Het aansluitsc­hema voor het tweede scenario.

Newspapers in Dutch

Newspapers from Netherlands