IoT-0/Praktische opdrachten: verschil tussen versies

Uit Inf2019
Naar navigatie springen Naar zoeken springen
Regel 2: Regel 2:
== Praktische opdrachten ==
== 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.
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.


=== Gebruik van voorgeconfigureerde onderdelen ===
=== Gebruik van voorgeconfigureerde onderdelen ===
Regel 33: Regel 33:
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.
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.
: 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.
=== MQTT test app ===
Voor het testen van MQTT is er een programma (web-app) beschikbaar: http://infvopedia:1884/mqtt1.html
Als alternatief kan hiervoor een desktop-app gebruikt worden, bijvoorbeeld MQTT-box (http://workswithweb.com/mqttbox.html).


=== Brokers en servers ===
=== Brokers en servers ===
Regel 38: Regel 43:
Naast deze hardware voor de IoT-knopen heb je nog andere onderdelen nodig:
Naast deze hardware voor de IoT-knopen heb je nog andere onderdelen nodig:
* Raspberry Pi - voor lokale MQTT-broker, NodeRed-server
* Raspberry Pi - voor lokale MQTT-broker, NodeRed-server
* MQTT-broker in het publieke internet
* MQTT-broker (Mosquitto) in het publieke internet
* NodeRed-server in het publieke internet
* NodeRed-server in het publieke internet



Versie van 23 mei 2018 19:49

IoT voor gebruikers
Netwerken-IoT
  1. Inleiding IoT
  2. IoT bouwstenen
  3. IoT ketens
  4. NodeRed
  5. Knoop met webserver
  6. MQTT met publieke broker
  7. MQTT met lokale broker
  8. LoRa netwerken
  9. RFM69 communicatie
Netwerken

Zie ook Netwerken-project

Zie ook Regels en richtlijnen
Zie ook Artikelen bewerken

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.

Gebruik van voorgeconfigureerde onderdelen

Bij de opdrachten in de module Internet of Things voor gebruikers gaan we uit van gebouwde en voorgeconfigureerde IoT-knopen en andere onderdelen.

Bouwen, installeren, programmeren en configureren

De aanwijzingen voor het bouwen, installeren, programmeren en configureren van de onderdelen kun je vinden in de module Internet of Things voor makers.

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.

MQTT test app

Voor het testen van MQTT is er een programma (web-app) beschikbaar: http://infvopedia:1884/mqtt1.html

Als alternatief kan hiervoor een desktop-app gebruikt worden, bijvoorbeeld MQTT-box (http://workswithweb.com/mqttbox.html).

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 (Mosquitto) 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.

Software

De (open source) software bij dit materiaal is beschikbaar op GitHub (zie IoT voor makers).

Gesimuleerde IoT-knoop

IoT-knoop simulator

Deze gesimuleerde IoT-knoop communiceert met de publieke MQTT-broker.

MQTT0 test

  • link: (via de publieke MQTT-broker) http:/infvopedia.nl:1884/mqtt1.html

Arduino-software

NodeRed

NodeRed-server in het publieke internet

Voor kortdurende NodeRed-opdrachten en experimenten kun je FRED gebruiken (https://fred.sensetecnic.com/).

  • met een gratis account blijft je NodeRed server max. 24 uur actief
  • voor langer durende opdrachten en experimenten kun je een betaalde account gebruiken, of je eigen NodeRed server.

NodeRed lokaal

NodeRed maakt deel uit van de standaard Raspbian-distributie voor de Raspberry Pi.