Der Beitrag ist ein Teil eines Workshops für Lehrerinnen und Lehrer. Inhalt ist – neben IoT im Allgemeinen – der Aufbau eines webbasierten Bodenfeuchtesensors mit dem ESP8266. Die Technik wird im Forschungsprojekt Biene40 eingesetzt, um einen Standplatz für Bienenvölker zu beurteilen.
22.02.2023
Motivation und Ziel
Auslöser und Motivation
Internet of Things (IoT), Smart Home, Smart Cities und Predictive Maintenance sind Begriffe, die die Wirtschaftsseiten der ernstzunehmenden Zeitungen füllen. Bis auf „Smart Home“ finden sich wenig lebensnahe Ansätze, die auch in Schule vermittelt werden können. Der Fächerverbindende Unterricht kann hier die Anwendungsdomäne liefern, so dass Schülerinnen und Schüler IoT-Szenarien erleben können und sie damit Kompetenzen für eine digitaler werdende Welt erwerben. Das funktioniert nur, wenn Lehrerinnen und Lehrer es vorleben und auch erlebbar machen.
Ziel
Ziel des Beitrages ist, Lehrerinnen und Lehrer einfach und schnell in die Lage zu versetzen, mit ihren Schülern im Unterricht digitale Projekte zu „bauen“.
Die Bodenfeuchte bietet sich an, da sie einen Bezug zwischen Biologie und Physik nahelegt und Sie es im Schulgarten gleich praktisch ausprobieren können. Im Mathematikunterricht motivieren Sie so lebensweltlich Korrelationen und Statistik. Der Informatikunterricht – wenn er sich von stumpfen Lehrplänen löst – profitiert per se.
Warum ESP8266?
Es gibt bereits eine Reihe von Lehrerworkshops, die den Raspberry Pi adressieren. Die Workshops sind gut durchführbar, der Raspberry Pi hat zur Zeit jedoch zwei Nachteile:
- Für „Nicht-Linuxer“ sind die Eintrittshürden größer – es sind eine Menge Dinge zur Plattform zu lernen und vorzubereiten, bevor es losgeht.
- Zeitweise war ein Raspberry nicht beschaffbar, mittlerweile sind die Geräte teuer (250% Steigerung in 1 1/2 Jahren).
Der gängige ESP32 wäre das Gerät der Wahl, für einen (sehr kurzen) Workshop in Kombination mit einem späteren Battriebetrieb hat er zwei Nachteile:
- Zum Programmieren ist ein Knopfdruck zu einem bestimmten Zeitpunkt erforderlich.
- Der ESP32 braucht für eine simple Aufgabe verhältnismäßig viel Strom
Der ESP8266 ist etabliert (vermutlich mehr als all anderen gleich leistungsfähigen Geräte), es gibt viele gute Tutorials für alle möglichen Fragestellungen, er ist WLAN-fähig, er kostet wenig und er ist gut beschaffbar, er braucht ein Drittel des Stroms wie ein ESP32 oder ein Raspberry Pi 2 unter Halblast.
Es kann viele gute Gründe geben, doch gleich einen ESP32 einzusetzen. Das ist im Folgenden berücksichtigt.
Vortragsfolien, Unterlagen
Für eine Workshopsituation mit Lehrerinnen und Lehrern steht ein Foliensatz zur Verfügung. Dieser kann im Nachgang auch in der Schule eingesetzt werden.
Folien zum Workshop: IoT-Webbasiertes-Bodenfeuchtemonitoring-mit-dem-ESP8266-230221
Für den Ein- und Umstieg hat Janek Westphal eine kurze Anleitung für den ESP32 verfasst.
Anleitung Bodenfeuchte ESP32: Anleitung_Arduino-ESP32-fuer-Bodenfeuchtemessung-230221
Sketche für die Arduino-IDE
Stufe 1 Einfaches Blink-Programm für den ESP8266
Stufe 2 Internetzugriff über https
Stufe 3 Bodenfeuchtesensor-Programm
Achtung:
- Der Plattformzugriff ist generisch und sollte so nur zu einem kurzen Test verwendet werden. Für den Einsatz in der Schule ist ein „richtiger“ Zugriff auf die Biene40-Plattform erforderlich. In größeren Anzahlen werden diese erst 2024 nach Abschluss des Projektes zur verfügung stehen. Ausgewählte Schulen können einen Vorabzugang erhalten – oder besser: bauen sich ihren Webservice selbst.
- Der vorgestellte Sketch ist ein Beispiel und sollte an einen eigenen Serverprozess angebunden werden. Die Platfor wird nur ausgewählten Schulen zur verfügung gestellt.
Alternativer Sketch für einen ESP32:
Materialliste
Für den Workshop werden folgende Materialien eingesetzt:
1 Stk. ESP8266 D1 Mini (Microcontroller. Achtung, die Stiftleisten sind nicht eingelötet. Wenn Si das nicht können, ist aien aderes ESP8266-Modell besser geeignet)
1 Stk. Mini Breadboard (zum weiteren Aufbau der Schaltung ohne Löten)
1 Stk. kapazitiver Bodenfeuchtesensor
1 Stk. USP-Steckernetzteil (zum späteren Betrieb ohne PC / MAC)
1 Stk. USB A zu USB Micro Kabel (zum Programmieren und zum späteren Betrieb)
1 Stk. Leuchtdiode (als Anzeigeinstrument, „Nutzetbeglückung“)
1 Stk. Widerstand 2,2k (zur Strombegrenzung für die LED)
3 Stk. Widerstand 100k (kann auch 47k oder 120k sein, wichtig: alle drei gleich)
4 Stk. Jumperkabel m-m (für den Bodenfeuchtesensor)
1 Stk. kurzen Draht oder weiteres Jumperkabel (für die Verbindung zur Masse-Schiene)
Die Gesamtausgaben sollten deutlich unter 20 Euro liegen.
Links
Bodenfeuchte erklärt beim Deutschen Wetterdienst
Bodenfeuchte in Tönisvorst (Messstation des Deutschen Wetterdienstes)
Ein Beitrag, der ein Bewässerungssystem beschreibt (Firma mit Werbung)
Hier gehts zum Download der Arduino-IDE
Bezugsquellen für den Bodenfeuchtesensor in Deutschland
Glossar
Arduino IDE
Eine integrierte Entwicklungsumgebung (IDE) ist eine Software, die verschiedene Werkzeuge zur Verfügung stellt die es Software-Entwicklern erleichtern, Code zu schreiben, Programmierfehlker zu finden und zu testen. Eine IDE vereint in der Regel mehrere Werkzeuge in einer einzigen Anwendung, z. B. Texteditor, Debugger, Compiler und Build-Tools. Eine IDE als ein Werkzeug macht den Programmierprozess effizienter, indem sie die Entwicklungszeit verkürzt, die Fehlersuche erleichtert und eine einheitliche Benutzungs-Schnittstelle für die verschiedenen Werkzeuge bietet. Insgesamt ist eine IDE ein nützliches Werkzeug für Programmierer, insbesondere für Anfänger, da sie viele der grundlegenden Funktionen für die Softwareentwicklung bereitstellt und somit den Einstieg erleichtert.
Die Arduino IDE ist eine Entwicklungsumgebung, die speziell für die Programmierung von Mikrocontrollern, insbesondere der Arduino-Boards, entwickelt wurde. Die Arduino IDE bietet eine intuitive grafische Benutzeroberfläche und enthält eine große Anzahl von Beispielprogrammen und Bibliotheken, mit denen die Benutzer ihre eigenen Projekte erstellen können. Die Arduino IDE verwendet eine vereinfachte Programmiersprache, die auf C++ basiert. Diese Sprache wurde so konzipiert, dass sie auch ohne Programmiererfahrung verwendet werden kann.
Internet der Dinge (IoT)
IoT steht für Internet der Dinge und bezieht sich auf die Verbindung von Alltagsgegenständen (z. B. Haushaltsgeräte, Autos, Thermostate) mit dem Internet. Dadurch können diese Gegenstände Daten sammeln und austauschen, was eine intelligentere Steuerung und Überwachung ermöglicht. Beispielsweise kann ein mit dem Internet verbundenes Thermostat die Raumtemperatur automatisch regeln, wenn Sie nicht zu Hause sind.
Mikrocontroller
Ein Mikrocontroller (oft abgekürzt als MCU, µController oder µC), wie z.B. im ESP32, Raspberry Pico oder Calliope Mini, ist ein sehr kleiner Schaltkreis, der auf einem einzigen Chip untergebracht ist und ein in sich geschlossenes System bildet (Single On Chip, SOC). Ein Mikrocontroller wird in vielen Alltagsgegenständen zur Steuerung und Überwachung eingesetzt. Er ist eine Art „Gehirn“ für elektronische Geräte und enthält einen Rechner, Speicher und verschiedene Ein- und Ausgänge.
Sie sind so konstruiert, dass sie nur ein einziges Programm periodisch ausführen. Sie eignen sich daher gut für vorprogrammierte, automatisierte Aufgaben, die in einem einzigen Szenario wiederholt ausgeführt werden. Dies geschieht in der Regel in einer zeitgesteuerten Schleife, die als eingebettete Anwendung bezeichnet wird. Im Gegensatz dazu steuern Mikroprozessoren (MPs oder CPUs), wie die des Raspberry Pi, vielseitigere und allgemeinere Anwendungen.
Quelltexte (als Text)
Blink-Programm
Webzugriff