IoT-ontwikkelbord werkt met Bluetooth LE-dataoverdracht

Ook Silicon Labs meldt zich nadrukkelijk in de markt voor IoT-toepassingen. De producent heeft diverse families sensoren, communicatiemodulen en processoren in het assortiment die zich hiervoor lenen en onderstreept dit met de introductie van de Thunderboard React. Bij deze ontwikkelkit draait het om een Bluetooth Low Energy-module met 32-bit processor die zowel de communicatie verzorgt als ondersteunende routines uitvoert. Hij wordt vergezeld door sensoren die beweging, snelheid en magneetvelden bepalen en omgevingscondities als temperatuur, lichtsterkte en UV-straling meten. Programmeurs kunnen aan de slag met de code van de demo-app en de bijbehorende ontwikkelomgeving.

Als het goed is, heeft de 2032-knoopcel in de Thunderboard React voldoende sap om het ontwikkelbordje lange tijd van energie te voorzien. Dat hangt er uiteraard van af hoe vaak de module uit zijn slaap wordt gehaald. Maar ook in actieve toestand zou het verbruik bescheiden moeten blijven als gevolg van zuinige componenten, een dito processor en vooral ook draadloze communicatie via Bluetooth Low Energy, kortweg BLE.

Het protocol, voortgekomen uit Nokia’s Wibree en uit marketingoverwegingen ook wel Bluetooth Smart genoemd, lijkt sterk op de reguliere standaard maar is daar bewust niet compatibel mee. Dat komt vooral door de eenvoudiger modulatietechniek met een kleiner aantal kanalen en door minder stringente reactietijden. Hierdoor ligt de datacapaciteit lager en is bijvoorbeeld real-time audio-overdracht niet mogelijk. Het bereik is echter minstens zo groot, 100 meter of meer. Bovendien kan de besparing op het energieverbruik, waar het natuurlijk om begonnen is, ten opzichte van de 1 W consumerende klassieke Bluetooth oplopen tot een factor honderd.

Processor

Centrale bouwsteen op de Thunderboard React – het is gissen waar Silicon Labs die merkwaardige naam vandaan haalt – is de BGM111. Deze Bluetooth 4.2-compatibele BLE-module integreert modulator, hoogfrequentcircuits en antenne met een 32-bit microcontroller. De zendtrap is te configureren tot +8 dBm terwijl de ontvanger een gevoeligheid van -93 dBm heeft. Op basis van die specs zouden afstanden tot 200 meter te overbruggen moeten zijn. Tijdens transmissie ligt het verbruik op 8,8 mA, althans op 0 dBm, in actieve rust daalt dat tot 63 µA terwijl in diepe slaap 2,5 µA wordt geconsumeerd. Kan ook de klokgenerator uit dan resteert 2,1 µA, waarbij de processortoestand en het interne werkgeheugen bewaard blijven.

De microcontroller is een variant van de Blue Gecko-serie van de producent. Hij is gebaseerd op een Cortex M4-kern en kan evenals de ingebouwde drijvende-kommaeenheid draaien op klokfrequenties tot 38,4 MHz, bij een gemiddeld gebruik van 150 µA/MHz. Voor programma en data zijn 32 Kbyte RAM en 256 Kbyte flashgeheugen ingebouwd. Energiebesparende kenmerken zijn onder andere een rust- en slaapstand van 900 nA respectievelijk 20 nA, een wektijd van 2 µs en autonoom werkende I/O-functies inclusief onderlinge communicatie. De perifere circuits kunnen tot zestien analoge sensoren bewaken zonder tussenkomst van de processor. Deze wordt alleen geactiveerd bij het overschrijden van ingestelde drempelwaarden, interrupts of bepaalde activiteiten.

Sensoren

Het ontwikkelbordje van 44 bij 25 mm wordt gedomineerd door de BLE-module en de knoopcel. Daarnaast vallen in eerste instantie de aan/uit-schakelaar en I/O-connector op plus enkele rudimentaire bedieningselementen in de vorm van twee momentschakelaars en een blauwe en een groene led. De functionaliteit moet vooral komen van de vier sensoren op de print, de meeste afkomstig uit het eigen assortiment van de producent. Daarmee kunnen omgevingscondities, licht, beweging en magnetische velden worden gemeten en gedetecteerd.

ledbediening

De demo-app leest de sensoren uit, toont de toestand van de schakelaars en bedient de leds maar kan ook afstand en snelheid meten en data uitwisselen met een centrale databank.

Het bepalen van de relatieve luchtvochtigheid en temperatuur gebeurt met de Si7021. Deze tijdens fabricage gekalibreerde chip heeft een tolerantie van 3% in het bereik tot 80% RH, daarboven neemt de nauwkeurigheid af. De thermometer loopt van -10 tot 85 °C bij een afwijking van 0,4 °C of minder. In actieve toestand verbruikt de opnemer 150 µA, in rust 60 nA.

Familielid Si1133 meet omgevingslicht en de UV-index met twee matrices van respectievelijk 16 en 4 fotodioden. Het zichtbare spectrum wordt waargenomen vanaf 0,1 lux en afhankelijk van de configuratie van de A/D-omzetter is een dynamisch bereik tot 128 klx mogelijk. De UV-sensor werkt in het gebied van 280 tot 400 nm en tot een indexwaarde van 20, op basis van de definitie van 1 eenheid per 25 mW/m2. Het verbruik is dan ongeveer 4,5 mA, afnemend tot zo’n 550 nA in rust en 125 nA in de slaapstand.

Beweging

Voor het detecteren van versnelling en rotatie is een bouwsteen van InvenSense toegepast, de MPU-6500. De Mems-gyroscoop meet draaiing over de X-, Y- en Z-as waarbij 16-bit A/D-convertoren het resultaat digitaliseren. Hun bereik is in vier stappen in te stellen op 250 tot 2000°/s terwijl een configureerbaar laagdoorlaatfilter de dempingskarakteristiek bepaalt. Ook de versnellingsopnemer is drieassig en produceert 16-bit waarden met een volle-schaalbereik van 2, 4, 8 of 16 g.

De uitkomsten worden naar buiten gevoerd via een 512-byte fifo zodat het mogelijk is om data in blokken uit te lezen. Eventueel kunnen de gegevens worden voorbewerkt met de op de chip geïntegreerde bewegingsprocessor. Deze DMP is programmeerbaar op het herkennen van gebaren, het bijhouden van een stappenteller en het berekenen van de absolute hoekpositie. Alle circuits samen consumeren in bedrijf zo’n 4 mA, in diepe rust daalt dat tot 6 µA.

Wel weer afkomstig uit eigen huis is de Hall-sensor Si7201. Veel informatie wordt er niet over gegeven, behalve dat hij omni-polair is en reageert op een fluxdichtheid vanaf 30 gauss. Bij 10 G of daaronder schakelt de uitgang weer af.

Ontwikkelomgeving

De MCU op het ontwikkelbord is voorgeprogrammeerd met het Bluetooth-protocol, gebaseerd op het GATT-profiel, en het interpreteren van de uitleescommando’s. Ook kan een bakenfunctie worden ingesteld waarmee de module zich zelfstandig op gezette tijden meldt bij apps die hierop zijn ingericht. Verder zorgt de processor ervoor dat alle circuits alleen actief zijn indien nodig en daarna in een zo diep mogelijke ruststand komen om zo het verbruik te minimaliseren.

De demo-app kent versies voor zowel iOS als Android en is beschikbaar via de gebruikelijke kanalen. Vanwege het afwijkende Bluetooth-protocol blijkt in de praktijk trouwens lang niet elke telefoon geschikt. Een lijst compatibele toestellen wordt niet gegeven dus dat moeten gebruikers zelf uitzoeken.

De app toont de waarden van de diverse sensoren, kan deze naar de webdatabank Firebase sturen en reageert op bakens. Om het visueel aantrekkelijk te maken, worden oriëntatie en hoek met een 3D-animatie weergegeven. Daarbij is de afbeelding naar keuze een print of een autootje. Die laatste is bedoeld voor de luxe uitvoering van de kit, waarin het sensorprintje vergezeld gaat van een eenvoudige modelauto. Met een magneetje in een van de wielen telt de demo dan via de Hall-opnemer snelheid en afgelegde afstand. Opvallend is wel dat het nogal retro-futuristische kunststof koetswerk, het houten plankje dat als onderstel fungeert, de wielen en het bevestigingsmateriaal de kit ruim twee maal zo duur maken. Overigens is het ook dan nog steeds tientjeswerk.

auto

Wie kiest voor de kit met modelauto betaalt een relatief forse meerprijs maar daarvoor krijg je dan ook een klassiek-futuristisch koetswerk met ambachtelijk onderstel.

De broncode van de BLE-module en de app is vrij beschikbaar. Programmeurs die ermee aan de slag willen, kunnen dat doen met de ontwikkelomgeving Simplicity Studio. Het pakket ondersteunt de realisatie van code en integratie ervan met communicatieprotocollen, standaardbibliotheken en API’s. Verder bevat het functies voor energieprofilering, het grafisch configureren van MCU’s en draadloze modulen en voor netwerkanalyse.

Theo van Gelder

Silicon Labs, tel.: (00) 1 512 416 8500, fax: (00) 1 512 416 9669, web: www.silabs.com , e-mail: info@silabs.com.

Mouser Electronics  tel.: (088) 1 300 700, web: www.nl.mouser.com, e-mail: netherlands@mouser.com