Um Schülern, Studenten und sonstigen Interessierten die MINT Themen näher zu bringen, haben wir einen einstündigen Workshop um das Thema IoT herum entwickelt. Während des Workshops bauen die Teilnehmer eine einfache Schaltung mit Microcontroller, Aktoren (NeoPixel LEDs) und Sensoren (Temperatursensor) auf, verbinden diese mit einem Computer und lernen grundsätzliches über Programmierung. Am Ende des Workshops sollten sie einen guten Überblick über die in „IoT“ Themenbereiche bekommen haben.
Voraussetzungen
Der Workshop benötigt:
- pro Arbeitsplatz einen Materialaufwand von ca. 15€
- pro Arbeitsplatz einen Computer/Laptop mit USB Anschluss
- einen MQTT Broker erreichbar im Internet (z.B. auf Basis von „mosquitto“; dafür reicht ein Raspberry Pi). Freie MQTT Server (z.B. Sparkfun, oder adafruit.io) bieten (mit ihren kostenlosen Services) nicht die Anzahl der gleichzeitigen Verbindungen und sind nur zum Testen geeignet.
- eine Node-RED Instanz (im Normalfall auf demselben Rechner wie der MQTT Broker)
- Internetzugang („einfach“, d.h. ohne Registrierungsseite) und
- Handyempfang
Darüberhinaus sollte sich der Leiter des Workshops mit Python/MicroPython auskennen wie auch im Umgang mit den ESP8266 versiert sein. Dazu gehören Flashen des Microcontrollers, Umgang mit Putty und ESPlorer
Überblick über den Workshop
Der Workshop besteht aus zwei Teilen. Im ersten Teil, wird die Schaltung auf dem Breadboard (Steckbrett) erstellt. Dann sich wird mittels putty zum Board verbunden und der MicroPython Prompt erscheint. Dann gibt der Workshopleiter vor, was die Teilnehmer eingeben sollen. Hierbei können grundsätzliche Sachen zu Begriffen wie Interpreter, Prompt, Befehl, Modul, Objekt usw. besprochen werden. Unser Vorgehen sieh so aus:
auf dem Computer wird mittels ESPlorer ein Programm in MicroPython geladen/erstellt. Dieses wird über USB zum Microcontroller hochgeladen, der dieses Programm dann ausführt. Zuerst verbindet sich der Microcontroller mit dem Internet und startet eine einfache LED Animation. Er schickt regelmäßig die Temperatur (Sensor) an den MQTT Broker und wartet auf Nachrichten für die Farbe der LED Animation. Erhält er eine solche neue Farbe, verändert sich die Farbe der LED Animation. Die Farbe bekommt der MQTT Broker über ein Node-RED Dashboard, welches die Teilnehmer über ihr Smartphone bedienen können.
Hier der Ablauf im Gesamtüberblick: