1.4. Functionele bouwstenen

We hebben bij het voorbeeld van de watersproeier-voorbeeld kennis gemaakt met de functionele IoT-keten:

../_images/IoT-node-controller-controller.png

Functionele IoT-keten

In deze functionele IoT-keten:

We gaan hier in op de verschillende bouwstenen van deze IoT-keten. In de volgende hoofdstukken behandelen we de communicatie tussen deze functionele bouwstenen.

1.4.1. IoT-knoop

Een IoT-knoop koppelt de fysieke wereld aan de virtuele wereld. Zo’n knoop omvat gewoonlijk:

  • sensoren, om in de fysieke wereld te meten;

  • actuatoren, om in de fysieke wereld te sturen;

  • een microcontroller (“computer op een chip”) als controller, voor de besturing van de IoT-knoop;

  • communicatie, vaak draadloos (radioverbinding);

  • energie, voor draadloze knopen in de vorm van een batterij, soms aangevuld met energy harvesting.

../_images/IoT-knoop-0.png

Een IoT-knoop

In de voorbeelden gebruiken we een IoT-knoop met de volgende sensoren/actuatoren:

  • een of twee LEDs - als actuatoren

  • twee drukknoppen - als “event” sensoren

  • sensoren voor: temperatuur, luchtdruk en lichtniveau

Voor de draadloze communicatie hebben we de keuze uit verschillende radio’s (WiFi, RFM69, LoRa). De eisen die het “ding” en de omgeving daarvan stellen aan bitrate, bereik, mobiliteit en energieverbruik bepalen de keuze voor de radio.

Voor de microcontroller voor de besturing hebben we ook meerdere alternatieven, zoals Atmega AVR (Arduino), ESP8266, ESP32, ARM. De keuze voor de microcontroller hangt meer af van de eigen voorkeur en omstandigheden dan van de eisen van de toepassing. We gaan hier niet verder in op deze keuzemogelijkheden.

../_images/swing-m0-rfm69-accu-1.jpg

IoT-knoop: sensoren, microcontroller, radio, batterij

De figuur hierboven geeft de verschillende onderdelen weer van een IoT-knoop “kit”: sensoren/actuatoren, controller, radio, batterij. In de praktijk worden deze onderdelen meestal geïntegreerd tot een kleiner systeem.

1.4.2. Controller: NodeRed

../_images/Nodered-chat-flow.png

NodeRed Chat flow

De controllers coördineren de monitoring en sturing in de fysieke omgeving, de gebruikersinterface en de cloud-diensten.

Als software voor de lokale of globale controller gebruiken we NodeRed. IoT-toepassingen combineren vaak data uit verschillende bronnen: vanuit IoT-knopen, maar ook uit databases of andere datastromen. Om deze ruwe data bruikbaar te maken voor de gebruikerstoepassing, kun je deze eerst door externe diensten (Data Science, Artificial Intelligence, enz.) laten bewerken. Deze databronnen, diensten en gebruikerstoepassingen gebruiken verschillende protocollen en formaten. Met NodeRed knoop je deze verschillende onderdelen samen op een grafische manier. Daar voeg je je eigen besturing aan toe. Een NodeRed-server is in onze voorbeelden vrijwel altijd onderdeel van de IoT-keten.

1.4.3. Diensten

Een IoT-toepassing wordt “slim” door het combineren van de IoT-data van de IoT-knopen in combinatie met de diensten “in the cloud”. Via deze diensten komen allerlei andere gegevens beschikbaar voor de IoT-knopen. In het voorbeeld van de watersproeier kun je met behulp van de weersverwachting beter sproeien. Deze diensten verwerken ook de IoT-data en combineren deze met externe gegevens: daarmee worden deze diensten ook steeds slimmer.

1.4.4. App: dashboard

../_images/Nodered-dashboard-display-0.png

Web-app voorbeeld: dashboard

Uiteindelijk komen de IoT-data terecht bij een webtoepassing (web-app), als gebruikersinterface in de IoT-keten. Een voorbeeld van een eenvoudige toepassing is een dashboard, met een samenvatting van de gegevens van de IoT-knopen.

In onze voorbeeld-toepassing werken we met een eenvoudig dashboard met de gegevens van één IoT-knoop. Dit dashboard maken we met NodeRed: we gebruiken deze dan (ook) als webserver. Via dit dashboard kunnen we ook de actuators van de IoT-knoop bedienen.

1.4.5. Toetsvragen

../_images/IoT-node-controller-controller-quiz.png

Functionele IoT-keten

You have attempted of activities on this page