Als we toe willen naar internet-of-thingsapparaten zonder vervuilende batterijen, moeten we de communicatie bestand maken tegen tussenpozen zonder stroom. Onderzoekers van de TU Delft zetten een belangrijke stap met FreeBie: intermittently-powered bluetooth.
Beperkingen in de energieaanvoer zijn iets waar we momenteel allemaal hinder van ondervinden, maar voor elektronica zonder batterijen zijn ze vaak funest. De werking wordt dan onderbroken en dat heeft gevolgen voor het oppakken van het werk zodra er weer energie is. Waar was het ook alweer mee bezig toen de stroom abrupt uitviel? Om te kunnen functioneren met tussenpozen zonder energie, moeten apparaten zonder batterij eigenlijk hun staat met grote regelmaat opslaan. Is er weer even stroom, dan pakt de elektronica het werk weer op vanaf het laatst opgeslagen controlepunt. Probleem: daar is standaard een klok voor nodig en die vereist weer een batterij.
Vorig jaar schreven we al hoe de Embedded and Networked Systems Group van de TU Delft onderzoek doet naar intermittent computing. De wetenschappers ontwikkelen rekensystemen die kunnen omgaan met stroomonderbrekingen. Dit is belangrijk om te komen tot rekenapparaten die functioneren op zonne-energie of andere vormen van ambient energy, zoals wind- of kinetische energie, en geen batterijen hebben. Die energietoevoer wil namelijk weleens grillig zijn. Dat zulke apparaten er komen, is op zijn beurt belangrijk omdat wordt voorspeld dat er miljarden internet-of-thingsapparaten komen, ook op afgelegen plekken in de wereld, met allerlei toepassingen. Denk aan weerstations of bordjes met sensors om de samenstelling van de lucht te meten. Als die allemaal van een batterij worden voorzien, zijn de gevolgen voor het milieu niet te overzien.
De ontwikkeling van rekenbordjes zonder batterij is inmiddels aardig gevorderd. De energieopslag vindt dan plaats in condensators en de opslag van data in ferro-elektrisch geheugen, of fram, dat de staat ook bewaart als de stroom uitvalt. Er kan gebruik worden gemaakt van een realtime klok zonder batterij en de software voor het snel en efficiënt opslaan en rebooten wordt steeds beter. Vorig jaar introduceerde de Embedded and Networked Systems Group al BFree. Dit is een computingbord met zonnepaneeltje en speciaal geschreven software waarmee hobbyisten aan de slag kunnen voor batterijloze internet-of-thingstoepassingen.
:strip_exif()/i/2004620486.jpeg?f=imagenormal)
Internet-of-things bestaat echter niet alleen uit things, hardware, maar ook uit internet, oftewel connectiviteit. Ook de verbinding moet kunnen omgaan met het tussentijds uitvallen van stroom. Voor communicatie in één richting is dit niet zo moeilijk en dit is dan ook al eerder gerealiseerd. Hierbij verkrijgt een systeem voldoende energie om de datapakketjes uit te sturen, ongeacht of ze opgepikt worden. Bij over-en-weercommunicatie wordt het al een stuk lastiger. Toch zijn promovendus Jasper de Winkel en universitair hoofddocent Przemysław Pawełczak van de Embedded and Networked Systems Group hier nu in geslaagd.
Ze ontwikkelden FreeBie, bestaande uit software en een hardware-mote, een draadloze receiver/transmitter met een sensor. Het gaat bij FreeBie om intermittently-powered bluetooth, communicatie in twee richtingen via Bluetooth Low Energy waarbij verbindingen snel en energiezuinig hersteld worden naar het moment van voor het energieverlies. Ze doen dit binnen de specificaties van het bluetoothprotocol en dat bleek geen sinecure. "Het lijkt zo makkelijk, maar de bluetoothstack omvat honderdduizenden regels code. Als we de specificatie zouden loslaten, zouden we veel meer kunnen, maar we wilden de compatibiliteit behouden", zegt Jasper de Winkel, auteur van het onderzoek. "Bluetooth is heel tijdgebonden. Het gaat om microseconden of pakketjes wel of niet worden ontvangen. Ook is er een limiet van 32 seconden waarbinnen gereageerd moet worden, anders wordt de verbinding verbroken."
:strip_exif()/i/2005182590.jpeg?f=imagenormal)
Om te laten zien dat hun architectuur echt werkt, hebben De Winkel en zijn medeonderzoekers twee toepassingen uitgewerkt. De eerste is een batterijloze smartwatch die werkt op zonne-energie en bluetoothondersteuning heeft. Ondanks tussenpozen waarin geen energie beschikbaar was, slaagden ze erin om de smartwatch draadloos de tijd gelijk te laten zetten en notificaties te laten synchroniseren met een smartphone.
Belangrijk was ook het tweede scenario. Daarbij wisten ze firmware te updaten via hun bluetoothimplementatie. De Winkel: "Het kunnen updaten van firmware van batterijloze apparaten is belangrijk voor onder andere de beveiliging. Daarnaast leert de ervaring dat de levensduur van apparaten waarvan de firmware wordt bijgewerkt, langer is. Ze worden minder snel afgedankt."
Voor een evaluatie zetten de onderzoekers beide FreeBie-implementaties in een afgesloten doos, voorzien van een ledlamp die ze op afstand konden bedienen. Zo konden ze de energietoevoer voor het zonnepaneel controleren. Met een lichtmeter detecteerden ze de lichtsterkte. Ze deden dit bij lichtsterkten van 200lx, 300lx, 600lx en 10klx. De bluetoothpakketjes onderschepten ze met een RF-sniffer, waarbij ze Wireshark gebruikten voor de analyse en een logic analyzer voor de opslag van de signalen. Hoewel het diverse pakketjes miste, wist FreeBie de verbinding binnen 32 seconden te herstellen.
:strip_exif()/i/2005182586.jpeg?f=imagenormal)
Volgens De Winkel is het moeilijk om ondanks de beperkte hoeveelheid energie de verbinding te herstellen. "Je moet je voorstellen, de connectie start normaal gesproken op, daarna volgen de onderhandelingen tussen apparaten, met communicatie over wat ondersteund wordt. Dit kan voor energiegelimiteerde apparaten oplopen tot meer dan 60 seconden, afhankelijk van de applicatie. Bij elke keer opzetten van de verbinding verbruiken ze energie, elke keer die procedure, uitwisselen welk apparaat het is enzovoort. Dit kost tijd, energie en moeite. Je hebt mogelijk niet de energie om de hele staat van het systeem op te slaan en om dit continu te doen. Daarom wordt bijvoorbeeld alleen wat noodzakelijk is, hersteld en opgeslagen. Als een apparaat wakker wordt om een sensormeting te doen, is het niet nodig om de netwerkstack te herstellen, tenzij de meting verzonden wordt."
:strip_exif()/i/2005184322.jpeg?f=imagenormal)
Nog een slimmigheid, FreeBie verkleint de connectie-interval als er voldoende energie beschikbaar is, en vergroot deze bij weinig energie. Deze methode stelt het systeem in staat om zich aan te passen aan veranderende energieomstandigheden en toch de verbinding in stand te houden. Bij voldoende energie neemt de responsiviteit toe. Omdat de netwerkstatus van het deel dat nodig is, opgeslagen wordt in non-volatiel geheugen, kan een chip volledig uit. Dat levert flinke energiebesparingen op. FreeBie verbruikte 9,5 keer minder energie gedurende inactiviteit dan een vergelijkbaar BLE-apparaat in slaapstand zou doen. De Winkel: "De mogelijkheden om te besparen, maken onze architectuur ook interessant voor batterijgebaseerde apparaten."
FreeBie heeft dan ook al de interesse van de industrie gewekt. "We zijn in gesprek met een aantal fabrikanten", meldt Przemysław Pawełczak, die geen namen kan noemen vanwege afspraken met die bedrijven. Volgens de associate professor zouden voor de FreeBie-architectuur geoptimaliseerde socs de energiezuinigste bluetoothimplementatie tot nu toe opleveren. Dat levert de vraag op waarom bedrijven niet zelf vergelijkbare implementaties hebben ontwikkeld. Pawełczak: "We hebben heel veel expertise in batterijloze systemen en in de software voor dergelijke systemen. Deze expertise is alleen bij een paar groepen wereldwijd aanwezig." Nadelen heeft het systeem ook: de gebruikte realtime klok en het fram moeten op het systeem aanwezig zijn, wat extra kosten met zich meebrengt. Bovendien is FreeBie met een specifiek doel ontwikkeld: toewerken naar een toekomst zonder batterijen op elektronica. De connectie-interval van bluetooth past zich aan aan de beschikbaarheid van energie en zet de chip uit. Dat beperkt het aantal toepassingen tegenover het ontwaken van bluetoothapparaten uit een slaapmodus.
De onderzoekers richten zich voor de toekomst op het verbeteren van de hardware en het demonstreren van de architectuur met een host die geen batterij heeft. Ze demonsteren FreeBie in de komende week tijdens de MobiSys 2022-conferentie die in Portland plaatsvindt. Dan moet ook de paper met de titel Intermittently-powered bluetooth that works verschijnen, geschreven door De Winkel, Pawełczak en Haozhe Tang. De hardwarespecificaties en software zijn als open source beschikbaar op Github.