IoT series – deel 1 – Embedded meets the Cloud

De populariteit van IoT blijft groeien en de verwachting is niet dat op korte termijn deze groei zal stoppen. Steeds meer bedrijven ontdekken dat het verbinden van apparaten met het internet hen en hoop interessante informatie (data) oplevert. Data die, door het leveren van meer inzicht gebruikt kan worden om producten te verbeteren en processen te optimaliseren.

IoT zien we in het dagelijks leven terug binnen de concepten zoals Smart Cities, Smart Buildings, Smart Homes, Smart Industries en binnen bijvoorbeeld de verzorging en de transport sector. Het ‘Smart’ component heeft betrekking op het vergaren van data over situaties om daar op slimme manier en op tijd op te acteren.

Denk hierbij bijvoorbeeld aan het uitschakelen van verlichting in een ruimte als de inbraakbeveiliging van de ruimte wordt ingeschakeld (Smart Buildings/Smart Homes). Een ander voorbeeld is het kunnen traceren van een wagon op een rangeerterrein, een duwbak in een haven (transport sector) of een medisch apparaat binnen een ziekenhuis omgeving (verzorging).

Gebruiks- en verbruiksgegevens kunnen bijvoorbeeld als afgeleide gebruikt worden om preventief onderhoud in te plannen (calibratie, slijtage) zodat we het standaard ritme van periodiek onderhoud slimmer in kunnen regelen.

Bij de transport van zowel mensen als goederen, wat allemaal geelectrificeerd moeten worden in de komende jaren, en daarbij het transport van electriciteit naar de verbruikers op het juiste moment zal IoT een grote rol gaan spelen om dit op een slimme, efficiente en haalbare manier in banen te gaan leiden.

De mogelijkheden zijn eindeloos, wij zijn enthousiast.

IoT en Cloud

Door de verschillende public-Cloud platformen worden naast de generieke diensten voor bijvoorbeeld het opslaan en (al dan niet serverless) verwerken (analyseren) van data meer specifieke diensten aangeboden. Voor het IoT-domein leveren de 3 grootste public-Cloud leveranciers op dit gebied allen een Cloud-native oplossing. Deze oplossingen zorgen ervoor dat er op een schaalbare manier, beheersbaar en veilig via het internet apparaten gekoppeld kunnen worden.

Een IoT-oplossing bestaat uit de volgende componenten:

  1. De ‘Edge’: dit is de link tussen het fysieke apparaat (verbonden met het internet) en het Cloud-platform. Het verbindt operationele componenten, maakt communicatie en interactie mogelijk tussen de apparaten onderling en het platform.
  2. Cloud-platform: Een door de Cloud leverancier beheerd (vanuit de eindgebruiker bezien serverless) platform waar verschillende applicaties en componenten samenkomen om IoT-services mogelijk te maken. Denk hierbij aan data analytics, provisioning, integratie van services en monitoring.
  3. Fysiek apparaat: het ‘Thing’ in IoT. Steeds meer apparaten bieden de mogelijkheid om aan de Cloud gekoppeld te kunnen worden.

D2C en C2D

Zonder enige voorkennis en na het lezen van bovenstaande zou men kunnen denken dat IoT een eenrichtingsweg voorziet van het apparaat naar de Cloud. Niets is minder waar. Naast Device-to-Cloud communicatie bestaat ook de mogelijkheid om via Cloud-to-Device voorzieningen informatie vanuit de Cloud over te zetten naar een apparaat. Zo kan men dus naast het overdragen van informatie, gerelateerd aan bijvoorbeeld een gebeurtenis op het apparaat, vanaf het apparaat naar de Cloud ook vanaf de Cloud opdrachten en informatie aanbieden aan het apparaat. De eerste optie ondersteunt ‘eventing’ (ook wel publish-subscribe patroon), de tweede optie ondersteunt het caller-callee (RPC) patroon.

Functionaliteit binnen de Cloud kan dan als ‘regelaar’ dienen. Een event op een apparaat kan dan, op basis van eerder vastgestelde regels leiden tot een actie op hetzelfde of een ander apparaat. Daarnaast bestaat de mogelijkheid om middels web-applicaties informatie van apparaten weer te geven en via deze web-frontends apparaten te besturen. De vastgestelde regels kunnen aangevuld worden met Machine Learning en Analysis Services in de Cloud. Hiermee kunnen patronen herkend worden waarop gerapporteerd en/of geacteerd kan worden. Een rigide regelaar maken we hiermee flexibel en ‘slim’.

Technologie == Beleven; ‘The Thing’

Bij Profit4Cloud verdiepen we ons dagdagelijks in de nieuwste Cloud technologieen van de verschillende aanbieders, waarbij we AWS en Microsoft Azure in het bijzonder goed volgen. Om binnen het IoT-domein ervaring op te doen met de verschillende IoT-stacks kan men ervoor kiezen om de online voorbeelden te hergebruiken. Deze voorbeelden bieden typisch apparaat emulatoren aan zodat ook zonder fysiek IoT-enabled apparaat een demo omgeving opgetuigd kan worden.

Binnen Profit4Cloud gaan wij graag voor ‘the full experience’. We willen de uitdaging die gepaard gaat met het ontwikkelen van IoT zo waarheidsgetrouw mogelijk ervaren. Om de runtime dynamiek zo goed mogelijk te kunnen beleven hebben we daarom gekozen om zelf een ‘IoT-apparaat’ te ontwikkelen, ons eigen ‘Thing’. En omdat we ook verstand hebben van ‘embedded’ technologie komt embedded en de Cloud  in dit geval heel mooi samen.

Onderstaande plaatjes geven de PCB-designs (voor- en achterkant) weer. Deze is ontstaan op basis van de gewenste functionaliteiten, de gekozen onderdelen en het daarbij behorende electrisch ontwerp (schema capture).

P4CIoTNode versie 1.0 – PCB voorkant

 

P4CIoTNode versie 1.0 – PCB achterkant

 

De bestukte versie met alle onderdelen voorzien en operationeel ziet er als volgt uit.

P4CIoTNode versie 1.0

Deze via USB-gevoede demo-kit bevat de volgende onderdelen:

  • OLED-display;
  • Temperatuursensor;
  • Relatieve luchtvochtigheidssensor;
  • Lichtsterkte sensor;
  • 4x multicolor LED;
  • drukknop;
  • 433Mhz zender en ontvanger;
  • mogelijkheid tot aansluiten extra temperatuursensoren;
  • mogelijkheid tot toekomstige hardware uitbreidingen.

De firmware van de P4CIoTNode bevat de functionaliteit voor het electrisch aansturen van bovenstaande onderdelen en de communicatie met de Cloud. Deze communicatie verloopt via wifi en het internet. Het doel is om de verantwoordelijkheden van de P4CIoTNode zo beperkt mogelijk te houden, de functionele aansturing verloopt namelijk vanuit de Cloud.

Nu ’the Thing’, P4CIoTNode versie 1.0 onlangs het levenslicht heeft gezien, gaan we binnen Prodit4Cloud aan de slag om binnen de Microsoft Azure Cloud functionaliteiten te bouwen om de mogelijkheden van de P4CIoTNodes te kunnen benutten. Hierbij komt onze Cloud-expertise weer goed van pas. De technieken/concepten die wij in onze Cloud projecten dagelijkse toepassen, zoals IaC (ARM-templates) en CI/CD komen hier uiteraard terug. Daarnaast maken we gebruik van Azure IoT-hub die de ‘edge functie’ (zoals hierboven beschreven) in zal vullen.

Dit artikel is de eerste uit een serie waarbij we de voortgang van de ontwikkeling van de P4CioTNode zullen delen. Waar het precies naartoe gaat, dat gaan we zien, maar wij zijn enthousiast. Het is een mooie mix van embedded en Cloud technologie.