Het Internet of (Linux) Things – Linux in je hockeystick, sok en paraplu
- March 1, 2014
- 0
Het Internet of Things (IoT) is hét hot topic voor de komende vijf jaar. De reden? IoT is leuk, er valt geld mee te verdienen en heeft een potentieel hoog Linux-gehalte. De ontwikkelingen sluiten goed aan bij de balans van werk&leven, lifestyle en gamification. Thuis is het al begonnen!
Het Internet of Things is een containerbegrip dat al sinds het begin van deze eeuw bestaat, maar sinds 2009 wordt het meer en meer gebruikt. Het heeft te maken met het idee dat alle devices en alle objecten zijn aangesloten op internet (de cloud), evenals alle mensen en dieren en dat alle deze ‘dingen’ met elkaar communiceren. IoT gaat uiteindelijk over in het IoE: the Internet of Everything.
Fascinerende ontwikkelingen
Volgens Cisco groeien we in 2020 toe naar de situatie dat 3,6 % van alle dingen in de wereld op internet zijn aangesloten: dat zijn in totaal 50 miljard aansluitingen. Niet alleen devices zijn verbonden met internet, ook machines communiceren met internet en rechtstreeks met andere machines zonder tussenkomst van de mens (ook wel M2M-communicatie). Sensoren in allerlei apparaten nemen een relevant deel van de connectiviteit voor hun rekening, doordat ze informatie monitoren en indien nodig doorsturen. De dingen die direct zijn aangesloten op het internet hebben een netwerkadres nodig. De extra adressen die hiervoor nodig zijn, worden geboden door IPv6. Dit kan wel 100 adressen toekennen aan elke atoom op deze aardbol.
Stroomverbruik
Niet alle dingen communiceren zelf rechtstreeks met het internet. Veel producten zijn zo gemaakt dat het ding communiceert met een gateway en een speciaal ontwikkeld protocol. De gateway is vervolgens aangesloten op internet voor verdere communicatie. De dingen die indirect communiceren behoeven geen uniek IP-adres te hebben, maar moeten wel als een uniek exemplaar herkenbaar zijn. Hier kan bijvoorbeeld worden gewerkt met een serienummer in een chip of een RFID-tag. Puristen vinden dat ook een object met bijvoorbeeld een passieve RFID-chip herkenbaar is en daarom een internet-connected device is. Dit gaat wellicht wat ver, want als straks alle producten in de supermarkt een dergelijke RFID-tag hebben, communiceren deze toch niet met internet? Ze kunnen alleen wel gedetecteerd worden. De koelkast zou zelf kunnen detecteren dat de appels op zijn om daarna automatisch een bestelling te plaatsen bij de plaatselijke supermarkt. Voor IoT is het handiger om uit te gaan van een definitie met stroomverbruik. Indien een ding is aangesloten op netspanning (of voorzien is van een accu, batterij, zonnecel of andere energiebron), dan is het een potentieel internetding.
RFID-reader
De IoT-componenten
Bij de meeste dingen is sprake van minimaal drie componenten: het actieve ding zelf (met een accu/batterij), middleware-oplossingen (een reader, een App, een gateway) en een backoffice-oplossing (veelal een database of webinterface ergens in de cloud). Het is dankzij deze backoffice-componenten dat dingen op afstand bestuurd kunnen worden en dat sprake is van IoT. Om de dingen in het bedrijf of thuis aan te sturen, moet gecommuniceerd worden via de firewall. In de meeste gevallen is dit zelfs zonder enige configuratie-aanpassing mogelijk. De truc is dat binnenin het netwerk ‘polling’ plaats vindt. Dit betekent dat het middleware-product periodiek via een standaard netwerkpoort (poort 80 staat bijna altijd open) verbinding maakt met de externe servers, die na het maken van het contact ook de andere kant op kunnen communiceren. Soms bevindt de component voor de grafische bediening zich tevens gedeeltelijk op een smartphone of tablet.
Standaarden nog ver gezocht
De dingen communiceren met middleware en een backoffice in de cloud. Maar al die dingen communiceren nu nog niet met elkaar. Daarvoor ontbreekt het aan één standaard. Er ontstaan momenteel allerlei initiatieven om onderling communiceren mogelijk te maken. Een bekende en toegankelijke gratis cloud-dienst is bijvoorbeeld IFTTT. Deze dienst is voor jou als eindgebruiker. Je koppelt hier bijvoorbeeld social media met ondersteunde apparaten met elkaar. Een andere insteek om het iets simpeler te maken, is een universele gateway. De Staples Connect is één gateway die in staat is om meerdere (huis-) gateways van andere merken te vervangen. Je kan het zien als de universele afstandsbediening van IoT. Ook zijn diverse bedrijven bezig om specifieke elektronica te ontwikkelen om in een Internet of Things-wereld allerlei apparaten aan te sturen. Kijk bijvoorbeeld eens naar de WiBird Wifi-module of de xPICO van Lantronix. De elektronicazijde van IoT is een bijzondere tak van sport. De computertjes – want dat zijn het eigenlijk – en de gebruikte chips moeten zeer klein, energiezuinig, temperatuurbestendig en betrouwbaar zijn. En het liefst moeten ze gebruikmaken van zonne-energie of andere niet-batterij, gebaseerde bronnen. Want het is natuurlijk onmogelijk om periodiek miljoenen batterijen te vervangen die zijn ingebouwd in de devices. Als ontwikkeltaal voor middleware, communicatie en data-uitwisseling en voor snelle UI-ontwikkeling wordt vaak Java gebruikt.
Lantronix heeft diverse Linux-dingen
Domotica
Bij IoT ligt het voor de hand om eerst te denken aan Home Automation/Domotica en HVAC-systemen (Heating, Ventilation, AirConditioning). Deze technologie bevat namelijk allerlei ‘dingen’ in huis die op afstand bediend en geprogrammeerd worden. Soms zijn ze al op afstand te benaderen. Zo zijn alarminstallaties in huizen al vele jaren op afstand te benaderen. Nu is dat bij een alarmcentrale altijd al relatief simpel geweest, deze hangt namelijk aan de telefoonlijn. Echter, tot voor kort werden in de domotica veel proprietary, dure oplossingen en protocollen gebruikt en is geen sprake van een internetkoppeling. Maar de trend is hier dat inmiddels alles internet-enabled wordt, waardoor vele extra ‘dingen’ op het internet ontstaan. Een eenvoudig voorbeeld is KlikAanKlikUit. Deze eenvoudige oplossing om lampen met een afstandsbediening (en volgens een programma) in- en uit te schakelen bestaat al jaren en is te koop bij bijvoorbeeld bouwmarkten. Inmiddels is dit uitgebreid met een gateway: de ICS-1000 Internet Control Station. Je koppelt dit apparaatje met het netwerk, waarna de lampen via internet en een App te besturen en programmeren zijn. Philips Hue heeft dit concept al vanaf de introductie. Je schakelt lampen aan en uit en laat de kleuren veranderen via een App. De ICS-1000 en de Philips Hue draaien overigens geen Linux.
Smart
In de marketingwereld worden de termen ‘smart’ of ‘intelligent’ gebruikt voor allerlei oplossingen en producten. De toevoeging van dit bijvoeglijke naamwoord staat synoniem voor IoT: er worden slimme sensoren, sensornetwerken, slimme apparaten en slimme dingen ontwikkeld. En zo krijg je smart meters, intelligente productieprocessen, smart homes, smart buildings, smart lightning, intelligente bruggen en ga zo maar door. ‘Smart’ wil ook zeggen dat de sensornetwerken zelf beslissingen mogen nemen. In smart buildings kan door middel van sensoren de temperatuur en luchtvochtigheid worden gemeten. Zo kan geconstateerd worden dat ergens een raam open staat. De verwarming past zich dan automatisch aan en automatische deuren sluiten zich waar mogelijk. Zo wordt niet alleen op energie bespaard, het comfort in het gebouw wordt tevens verbeterd.
Linux-gebaseerde slimme meter Smappee
Thuis gaat het snel
Op dit moment zien we IoT vooral bij domoticasystemen (bijvoorbeeld verlichting en slimme energiemeters) en in lifestyle, gezondheid & sport, met als voorbeelden Nike’s Fuelband of de Jawbone Up. Persoonlijke sensoren worden steeds slimmer en meten beweging, hartslag, bloeddruk, temperatuur, zuurstofgehalte in het bloed, slaappatronen en nog veel meer. In de sport zien we dat kleding, ballen en sticks ‘smart’ worden. Er is een golfbal in ontwikkeling met sensoren en GPS. Dit maakt niet alleen tracking van de bal mogelijk, maar je kan ook aflezen hoe hard geslagen is. Door het te koppelen met een sensor in de golfstick is per golfer bij te houden wie, welke bal, hoe hard, hoe vaak, hoe snel en hoe ver slaat. Tennisrackets met sensoren? Ze houden bij hoe hard je slaat, welke richting je slaat enzovoort. Sensoren bij tennis, voetbal, schaatsen maken hierdoor nauwkeurige persoonlijke analyse mogelijk.
Stofzuigen, dweilen en zelfs de goten schoonmaken kan met de Roomba, de Scooba en de Looj. Je kan tegenwoordig een slimme wc of een slimme kraan aanschaffen, maar ook de eerste sensorgestuurde wasmachines doen hun intrede, evenals het scheerapparaat met wifi en social medial koppeling. En ja, Vibease heeft zelfs een vibrator die met bluetooth in verbinding staat met de smartphone. Omdat een huis honderden elektrische apparaten heeft, slaat IoT hier snel om zich heen.
Samsung NX-300M Camera met Linux
Veel van deze devices zijn gebouwd als bedrijfseigen oplossing. De verwachting is dan ook dat IoT zinvol is op die plekken waar ‘supplies’ nodig zijn. Printers die zelf inkt bestellen, Nespresso-apparaten die zelf cups bestellen, stofzuigers die via een tweet melden dat de zak vol is, keukenweegschalen die via een email melden dat de batterij aan vervanging toe is, elektrische tandenborstels die melden dat de borstel versleten raakt, enzovoort. En misschien meldt het toilet wel wanneer de wc-papiervoorraad bijna op is en ontvang je een sms van je stoomoven als deze ontkalkt moet worden.
Linux devices op het werk
Laten we eerlijk zijn: Linux op de desktop is geen succes. Het lukt maar niet om het marktaandeel hoger te krijgen dan zo’n 1,5 procent. Maar de desktop als device is de laatste twee jaren in populariteit aan het inboeten. Er worden meer laptops dan desktops verkocht, waarbij we voor het gemak Chromebooks ook maar even meetellen. Men werkt steeds meer op een smartphone en vergeet ook de tablet niet, die inmiddels de laptop al heeft ingehaald. Daarop is Linux wel goed vertegenwoordigd. Dus als je het marktaandeel over alle computer devices samen bekijkt, doen Linux en BSD het erg goed. Linux/BSD-apparaten die we bij veel organisaties tegen komen, zijn bijvoorbeeld:
– Thin clients: dit zijn speciale, zakelijke desktops die vaak Linux draaien, maar niet als dusdanig in de desktoptellingen worden meegenomen. Dit komt omdat ze na het booten verbinding maken met een gehoste of virtuele Windows desktop. Op die virtuele desktop wordt dan met een Windows-browser het internet gebruikt.
– Appliances: erg dicht bij computers liggen de vele appliances met Linux of BSD van bekende fabrikanten als F5, CheckPoint, Juniper en Citrix. Ook de service console van VMware’s ESX server draait Linux.
– NAS: ook veel NAS-systemen -wat eigenlijk geavanceerde file servers zijn- maken soms gebruik van Linux of BSD. Een van de eerste opslagsystemen ter wereld van Network Appliance (nu NetApp) draaide bijvoorbeeld al een aangepaste versie van de BSD-kernel.
Linux-dingen
Maar Linux en BSD worden meer en meer gebruikt op en in allerlei ‘dingen’ die we niet direct een computer, telefoon of tablet kunnen noemen. Populair in allerlei devices zijn speciaal voor embedded systemen samengestelde Linux-distro’s als OpenWRT en Yocto. Laten we eens enkele van die devices bekijken…
– Ontvangers en tuners: het zijn eigenlijk computers, de mediasystemen met Linux. Satelliet ontvangers kunnen Linux draaien, zoals de Amiko Optibox EVO, Tuners en harde schijf recorders als de systemen van Humax (door onder meer Ziggo geleverd) draaien Linux.
– Draadloze routers: routers, access point, kabelmodem en dergelijke maken vaak gebruik van Linux of BSD, denk aan de populaire Linksys WRT54G en zijn opvolger WRT1900ac.
– Game consoles: game consoles kunnen Linux of BSD draaien (zo schijnt de PS4 gebruik te maken van een FreeBSD-versie en gaat de Valve Steam Box Linux draaien.
– Home automation en bewakingssystemen: apparaten die in domotica gebruikt worden, draaien veelal nog een bedrijfseigen ingebed besturingssysteem. Maar Linux komt eraan, bijvoorbeeld op de Belkin WeMo systemen (Belkin komt met een slimme stoompan, een slim koffiezetapparaat, een slimme verwarming en meer) of de Z-Wave van Fibaro.
– Camera’s: de eerste slimme fotocamera’s die Linux draaien zijn gesignaleerd, zoals de Samsung NX-300M Camera
– Navigatiesystemen: navigatiesystemen en IVI-systemen (In-Vehicle-Infotainment) draaien soms Linux. Diverse TomTom-systemen werken al jaren op Linux, zoals de TomTom GO.
– Micro’s: de vele (vaak) ARM-processor of Atom-gebaseerde micro- en minicomputers worden geleverd met Linux of geadviseerd wordt om Linux erop te gebruiken. Je kunt ze inzetten voor vele toepassingen en dat wordt dan ook gedaan. Vooral de Raspberry Pi van een paar tientjes is een dankbaar IoT-object. Als je de projectjes bekijkt die er allemaal mee gedaan worden, dan zie je direct wat het IoT en ook de RPi voor een potentie heeft. Intel komt met een wearable Linux computer Edison ter grootte van een SD-kaartje voor IoT-projecten waar we op dit moment alleen nog maar van kunnen dromen.
– Slimme devices: flink wat smart devices maken gebruik van Linux. Daarbij denk je in eerste instantie aan wearable electronics zoals de slimme brillen van Google, Qualcomm en Samsung of zoals de Android-gebaseerde M100 van Vuzix en slimme horloges zoals de Steel van Pebbles. Maar ook Smart TV’s of devices zoals de xPrintServer van Lantronix behoren tot deze categorie, evenals slimmer energiemeters zoals de Smappee die op Linux draait.
Pebbles Steel smartwatch met Linux
Meer Linux
IoT is een aanjager voor nieuwe fascinerende ontwikkelingen en ideeën. Het staat nu nog in de kinderschoenen en de boeiende mogelijkheden worden pas net ontgonnen. Het totale aantal ‘dingen’ dat Linux en BSD gebruikt, is op dit moment niet bekend. Het wordt ook vaak geheim gehouden of op zijn minst niet aan de grote klok gehangen. Ook nemen niet alle fabrikanten het altijd even nauw met de open source licenties. Maar eigenlijk is het ook helemaal niet belangrijk om te weten of ergens Linux of BSD in zit. Het gaat tenslotte om de functionaliteit van- en service op het product. Maar wij als Linux-fans willen het natuurlijk diep van binnen wel weten. Het Internet of Things raakt namelijk voller en voller met Linux-things.
Links
Amiko – www.amikostb.com
Belkin WeMo – www.belkin.com/us/Products/home-automation/c/wemo-home-automation
Fibaro Z-Wave – www.fibaro.com
Humax – www.humaxdigital.com/nl/opensource.php
IFTTT – www.ifttt.com
Intel Edison – www.intel.com/content/www/us/en/do-it-yourself/edison.html
Lantronix xPICO – www.lantronix.com/device-networking/embedded-device-servers/xpico.html
Lantronix xPrintserver – www.lantronix.com/it-management/xprintserver/xprintserver.html
Linksys WRT1900ac – http://linuxgizmos.com/linksys-creates-successor-to-wrt54g
PS4 met FreeBSD – http://www.freebsdnews.net/2013/06/24/freebsd-based-orbis-os-powering-sony-ps4
Valve Steam Box – http://store.steampowered.com/livingroom/SteamOS
OpenWRT – www.openwrt.org
Pebbles Steel – https://getpebble.com/steel
Raspberry Pi – www.raspberrypi.org
Roomba, Scooba, Looj – www.irobot.com
Samsung NX300M camera – www.samsung.com/global/nx/nx300m/index.html
Smappee – www.smappee.com
Staples Connect – www.staples.com/sbd/cre/marketing/staples-connect
Tom Tom – http://nl.support.tomtom.com/app/answers/detail/a_id/2381
Vuzix M100 – www.vuzix.com/consumer/products_m100
Yocto – www.yoctoproject.org