IoT-0/Praktische opdrachten

Uit Inf2019
Naar navigatie springen Naar zoeken springen

Praktische opdrachten

De meeste hoofdstukken/lessen van deze module bevatten praktische opdrachten. Het doel van deze opdrachten is om de concepten te gebruiken in een praktische context - en om voor te bereiden op het IoT-project. Deze opdrachten zijn op verschillende manieren uit te voeren - afhankelijk van de lokale mogelijkheden en ambities.

IoT-knopen: verschillende radio's

Het Internet of Things heeft veel verschillende vormen. Afhankelijk van de toepassing en de context maak je andere keuze voor de radio-communicatie. In deze module geven we hiervan 3 voorbeelden:

  • WiFi - voor gebruik in een lokaal WiFi-netwerk; voor knopen die niet heel energiezuinig hoeven te zijn;
  • LoRa - voor energiezuinige IoT-knopen in een groot gebied (radiobereik enkele km's);
  • RFM69 - voor energiezuinige IoT-knopen in kleiner gebied (radiobereik 50-200m).

Je kunt deze voorbeelden uitwerken met de Arduino-IDE, met Arduino's en verwante hardware. We geven hier enkele voorbeelden; er zijn (en komen) meer alternatieven beschikbaar.

platform WiFi LoRa RFM69
Arduino https://arduino.cc Uno WiFi, MKR 1010 WiFi Arduino mini met RFM95 (LoRa); MKR WAN 1300 Arduino met RFM69-module
Adafruit Feather https://www.adafruit.com HUZZAH ESP8266/ESP32, MO with WiFi M0 with RFM95 (LoRa) M0 with RFM69
WeMos LoLin https://www.wemos.cc D1 mini (pro), D32 idem, met RFM95-module (LoRa) idem, met RFM69-module

Al deze 3 families hebben ook de nodige opsteekbordjes (shields, wings, enz.) met sensoren, displays, radio's, enz. Je kunt dan kant-en-klare oplossingen eenvoudig in elkaar steken, of je eigen uitbreidingen maken via een breadboard.

Gesimuleerde IoT-knopen en IoT-knopen elders

Je kunt de meeste opdrachten uitvoeren zonder lokale IoT-hardware: je gebruikt dan gesimuleerde IoT-knopen en IoT-knopen die elders (op andere scholen?) geïnstalleerd zijn.

Hiermee kun je geen lokale "dingen" waarnemen of besturen; maar je kunt in elk geval de opdrachten uitvoeren. Het kan een opstapje zijn naar het gebruik van lokale IoT-knopen.

Brokers en servers

Naast deze hardware voor de IoT-knopen heb je nog andere onderdelen nodig:

  • Raspberry Pi - voor lokale MQTT-broker, NodeRed-server
  • MQTT-broker in het publieke internet
  • NodeRed-server in het publieke internet

Deze onderdelen kun je met de handleidingen (IoT voor makers) zelf installeren en configureren. Voor-geinstalleerde/geconfigureerde oplossingen zijn ook mogelijk.

WiFi en het schoolnetwerk

Voor sommige opdrachten heb je IoT-knopen nodig met WiFi-toegang. Dit kan een probleem zijn in de schoolomgeving: het schoolnetwerk is niet of moeilijk toegankelijk. Je kunt dit probleem oplossen (in overleg met de lokale ICT-organisatie) met een kleine WiFi-router met een mobiele internetverbinding: een "MIFI router". Met een klein aantal IoT-knopen en een lokale Raspberry Pi heb je niet veel dataverkeer, je kunt met een klein abonnement volstaan.

Met zo'n lokale router kun je ook oefenen met router-instellingen, bijvoorbeeld het gebruik van port-forwarding (NAT).

De LoRa- en RFM69-radio's werken buiten het WiFi-netwerk; je hebt dan alleen een gateway nodig die in het publieke internet en/of in het lokale schoolnetwerk verbonden is.

Latere uitbreidingen: microPython

De eerste uitwerking van het materiaal is gebaseerd op de Arduino IDE; deze kun je combineren met de hierboven genoemde hardware. Een geplande uitbreiding is om microPython (en/of circuitPython) te gebruiken als programmeertaal. Deze kun je met enkele van de bovenstaande hardware-onderdelen combineren. microPython kan voor leerlingen een lagere drempel vormen dan de Arduino IDE; maar deze omgeving is nog wat minder stabiel dan de Arduino IDE.