Modul 3: Luftfeuchtigkeit im Klassenraum

Im folgenden Modul wirst du lernen, wie du Klimadaten mit dem Octopus  anzeigen lassen kannst (Temperatur, Luftfeuchtigkeit, etc.). Weiter wirst du lernen, was WLAN ist und wie du einen solches mit dem Octopus aufbauen kannst, sodass du mit dem Smartphone auf die Wetterdaten zugreifen kannst.

Lernpfad

Das Problem

Es ist Winter. Im Klassenraum der 5a bildet sich in einer Ecke des Klassenraums Schimmel (siehe Abbildung 1 auf der rechten Seite). Mehrfach hat der Hausmeister diesen entfernt, doch er kommt immer wieder neu. Der Schulleiter und der Hausmeister „schimpfen“ mit der Klasse und dem Klassenleiter, sie würden während des Schultages zu wenig lüften. Denn Schimmel entsteht an kalten Stellen bei zu hoher Luftfeuchtigkeit. Deshalb muss genügend oft gelüftet werden, um die Feuchtigkeit in der Luft aus dem Raum zu bekommen.

Was bedeutet jedoch „genügend“ oft lüften? Wie oft muss die Klasse gelüftet werden, damit es einerseits nicht zu kalt in der Klasse wird und andererseits die Luftfeuchtigkeit nicht zu hoch (geringer als 60%) im Klassenraum ist und dadurch Schimmel entsteht? 
 

Wie können wir die Luftfeuchtigkeit und die Temperatur im Raum bestimmen?

Der Ocopus bietet uns die Möglichkeit, sowohl die Temperatur als auch die Luftfeuchtigkeit im Raum zu bestimmen und diese über einer Webseite zu veröffentlichen. Dafür ist auf dem Octopus der "Bosch Umweltsensor BME 680"  verbaut, den du in Abbildung 2 erkennen kannst. Er kann neben der Temperatur und der Luftfeuchtigkeit auch den Luftdruck und den relativen CO2-Gehalt im Raum messen.

Weiter besitzt der Octopus ein WLAN-Modul, wodurch wir in der Lage sind, auf den Octopus zuzugreifen und Luftfeuchtigkeit sowie Temperatur im Raum auszulesen.

Temperatur und Luftfeuchtigkeit mit dem Octopus messen

Zu Beginn werden wir uns anschauen, wie wir mit dem Octopus die Temperatur im Raum bestimmen können. Dafür erstellen wir ein Ardublock-Programm wie in Abbildung 3 dargestellt.

Falls du noch nicht weißt, wie man den Octopus am PC anschließt und ein ArduBlock-Programm schreibt, schaue dir zuerst das Modul 1 an!

Wir benötigen hierfür das Bauteil "Bosch Umweltsensor BME 680" aus der "Sensoren"-Schublade. Zusätzlich benötigen wir das "Serial Print" aus der "Kommunikation"-Schublade. Zudem benötigen wir das Bauteil "verbinde" aus der selben Schublade, welches du bereits aus Modul 2 kennen solltest und es ermöglicht, Zahlwert auf dem seriellen Monitor ausgeben zu lassen. Wir finalisieren das Programm mit einem "Warte Millisekunden", damit die Daten nur jede Sekunde erfasst und ausgegeben werden. Ansonsten würden die Werte zu schnell auf dem Bildschirm erscheinen, was ihre Auswertung erschweren würde. Wenn wir das Programm auf den Octopus hochgeladen haben, können wir über den "Seriellmonitor" unsere erfassten Daten anschauen (vgl. Abb. 4 und Abb. 5).

Falls du noch nicht weißt, wie man mit dem Seriellen Monitor umgeht, schaue dir doch noch einmal Modul 2 an.

Abb. 3 So muss das ArduBlock-Programm aussehen, damit wir die gemessenen Daten auf dem Bildschirm sehen können
Abb. 4 Hier findest du den "Seriellen Monitor" für das Anzeigen der Daten
Abb. 5 Die Messdaten werden jede Sekunde auf dem Monitor ausgegeben
Die Daten bereitstellen

Was ist ein Access Point und wie erstellen wir ihn?

Abb. 8 So legst du einen eigenen Acces Point an

Da der Octopus ein WLAN-Modul besitzt, können wir ihn mit unserem WLAN-Netz verbinden, um so Zugriff auf die erfassten Daten zu bekommen. Doch ein WLAN-Netz ist vielleicht nicht überall verfügbar. Darum besitzt der Octopus die Fähigkeit ein eigenes Netz aufzuspannen. Er ist somit der Zugangspunk (Access Point) zu seinem eigenen WLAN-Netz. 

Um einen solchen Access Point aufzubauen, nehmen wir uns das entsprechende Bauteil aus der "IoT: Internet Zugang"-Schublade und legen es im Setup-Block des "IoT2"-Programmbauteils ab. Es ist wichtig, dass das Bauteil dort liegt, da das Netz nur einmal aufgebaut werden soll und nicht mit jedem Schleifendurchlauf. Abschließend legen wir noch einen Netzname und das Passwort für unser eigenes WLAN fest. Wichtig: Das Passwort muss mehr als acht Zeichen umfassen! Abbildung 8 zeigt dir noch einmal, welches Bauteil du benötigst und und wo du es platzieren musst.

 

 

 

Wie können wir die Daten bereitstellen?

Abb. 9 So teilst du dem Access Point mit, dass er eine Webseite aufbauen soll, auf welcher wir die erfassten Daten finden

Wir können dem Octopus sagen, dass er neben dem Access Point auch eine Webseite aufbauen soll, auf der wir die erfassten Daten finden können. Dafür benötigen wir das Bauteil "HTTP-Server" aus der Schublade "IoT:HTTP-Protokoll". In Abbildung 9 kannst du sehen, dass du auch dieses Bauteil in den Setup-Block des Hauptbauteils setzen musst. In diesem Bauteil kannst du einen Titel für deine Webseite angeben. Weiter kannst du festlegen, ob die durch die Sensoren erfassten Daten auf der Webseite auftauchen sollen oder nicht.

Die Daten auslesen
Abb. 10 Im seriellen Monitor findest du die IP-Adresse des Webservers, hinter dem die von uns erstellte Webseite liegt

Wir möchten nun die Seite erreichen, die wir im letzten Abschnitt angelegt haben. Dafür müssen wir zuerst den seriellen Monitor öffnen. Hier finden wir eine Ausgabe, die der in Abbildung 10 ähnlich sein sollte. In dieser Ausgabe findest du eine IP-Adresse. Diese IP-Adresse markiert den Weg zum Webserver, hinter dem die von uns erzeugte Webseite liegt. Der eigene Access Point liefert immer die gleiche IP: 192.168.4.1 
Verbindest du nun beispielsweise dein Smartphone mit dem WLAN des Otopus, kannst du diese IP-Adresse im Web-Browser eintippen und erreichst die Webseite, wie sie dir in Abbildung 11 präsentiert wird.

Falls du mehr darüber erfahren möchtest, wie Webserver und Netze funtkionieren, und was eine IP-Adresse im Detail ist, schaue dir doch mal die optionalen fachlichen Informationen weiter unten an.

Die Webseite im Detail
Abb. 11 So sieht die Webseite aus, wenn wir sie im Browser über die IP-Adresse aufrufen
Was können wir noch tun? (optional)

Der Octopus als Warnsignal bei zu hoher Luftfeuchtigkeit

Abbildung 12 Mit einer kleinen Anpassung zeigt der Octopus auch optisch an, wann die Luftfeuchtigkeit im Raum zu groß ist

Wir können den Octopus verwenden, um im Klassenraum anzuzeigen, wann die Luftfeuchtigkeit zu hoch wird. Ein ähnliches Ardublock-Programm hast du bereits gesehen, als du Modul 2 bearbeitet hast. Hier haben wir den Octopus anzeigen lassen, wann eine Person lügt, beziehungweise, wann die Lautstärke im Raum zu groß ist. Auch hier werden wir die LEDs verwenden, um anzuzeigen, wenn die Luftfeuchtigkeit zu hoch ist. Dafür benötigen wir zum einen ein "Falls/sonst"-Bauteil und zwei Neopixel-Bauteile. In Abbildung 12 siehst du, wie wir das Programm aus Abbildung 9 erweitern müssen, um die LED im Fall zu hoher Luftfeuchtigkeit rot aufleuchten zu lassen.


Schaue dir die Werte auf der Webseite an. Glaust du sie entsprechen der Realität? Wo können Probleme auftreten?

Wenn du dir vor allem die Temperatur-Anzeige ansiehst, wird dir auffallen, dass die Temperatur etwas zu hoch ist. Dies liegt daran, dass die Platine selber aufheizt. Willst du hier genaue Werte erhalten, musst du einen externen Bosch-Sensor verwenden, der nicht auf dem Octopus befestigt ist. Wenn man Sensoren verwendet, sollte man den Werten gegenüber immer zuerst kritisch sein und hinterfragen, ob die Werte korrekt sein könnten.

Die HTML-Seite anpassen

Abbildung 13 Wer HTML und CSS beherrscht, kann die Webseite des Access Point verändern

Wenn du dich etwas mit HTML auskennst, kannst du die zur Verfügung gestellte Seite auf dem Access Point nach deinen Vorstellungen anpassen. Hierfür musst du allerdings den Ardublock verlassen und in der Arduino IDE weiterarbeiten. Der HTML-Code ist direkt im eigentlichen C-Code als Text zu finden (siehe Abb. 13). Passt du den Text an, kannst du die Struktur der Seite anpassen. Falls du möchtest, kannst du auch CSS verwenden, um deine Seite optische zu verschönern.

Du kannst hier selbst Javascript verwenden um deine Seite interaktiver zu gestalten. Sei allerdings vorsichtig. Zu groß darf deine Seite nicht werden, denn der Speicher des Octopus ist beschränkt.

Fachliche Informationen (optional)

Wie funktionieren Netzwerke?

Ein Rechnernetz ist ein Verbund verschiedener elektronischer Systeme. Dabei ist es egal, ob wir von einem drahtlosen oder kabelgebundenen Netz sprechen. Denn tatsächlich kann ein Netz aus Geräten bestehen, die per Funk oder Kabel verbunden sind. Die Systeme kommunizieren im Netz mit Hilfe von verschiedenen Protokollen. Das bekannteste Protokoll ist das TCP oder Transmission Control Protocol. Hierbei werden zwischen den Systemen Pakete versendet, die neben den zu versendenden Daten verschiedene Information beinhalten, wie zum Beispiel das Ziel und den Absender des Pakets. Damit ein solches Versenden problemlos funktioniert, sind Komponenten notwendig, die die Netzwerkfunktionalität gewährleisten. Hierzu zählen zum Beispiel Gateways, Router, Switches oder Access Points. Sie kümmern sich darum, dass die Pakete an ihr Ziel gelangen, indem sie jedem Netzteilnehmer eine eindeutige Adresse zuteilen. Weiter sorgen diese Komponenten dafür, dass die Teilnehmer im Netz einander kennen. So sind diese in der Lage Pakete untereinander zuversenden.

Es gibt verschiedene Arten von Netzen und ihre Komplexität unterscheidet sich dabei stark. Das WLAN-Netz, welches in eurer Schule oder bei euch zu Hause verwendet wird, ist viel einfacher gestaltet, als das Netz, mit dem der Router verbunden ist, der dieses WLAN-Netz aufspannt. Dies geht immer so weiter bis zu den Netzen, die zwischen den großen Internetknoten auf der Welt bestehen.

Was ist eine IP-Adresse

Eine IP-Adresse ist eine eindeutige Nummer, die Teilnehmern in einem Rechnernetz zugewiesen werden. Auf diese Weise können sich Netzteilnehmer erkennen und erreichen. Dabei gibt es zwei Formen von IP-Adressen. Die bekannteste ist die IP-v4 Adresse. Sie besteht maximal aus zwölf Ziffern aufgeteilt in vier gleichgroße Blöcke. Ein Beispiel wäre die IP-Adresse 192.168.0.1. Die Zahlen der vier Blöcke reichen von 0 bis 255. Daher ist die größte IP-Adresse die 255.255.255.255, während die kleinste 0.0.0.0 ist. Beide Adressen werden in einem Rechnernetz jedoch nicht vergeben. Über die Adresse 0.0.0.0 erreichen System im Rechnernetz zum Beispiel immer sich selbst. Welche IP-Adresse ein Gerät hat, kann in einem lokalen Netz selber bestimmt werden. In Netzen mit einem Router, Gateway oder Access Point gibt es über ein weiteres Protokoll die Möglichkeit, IP Adressen automatisch zu vergeben. Auf diese Weise erspart man sich die Arbeit, die IP-Adressen selbst zu verwalten.

Da jedes internetfähige Gerät auf der Welt eine IP-Adresse erhält, werden die IP-v4 Adressen auf der Welt langsam knapp. Daher wurde bereits 1998 die IP-v6 eingeführt. Sie besteht aus acht Blöcken mit je vier Ziffern aus dem Hexadezimal-System, einem anderen Zahlensystem. So ist es möglich 2^32 Adressen darzustellen. Obwohl dieses System bereits 1998 eingeführt wurde, wird aktuell hauptsächlich noch auf IP-v4 gesetzt.

Abb. 1 Schimmel in den Ecken eine Klassenraums. Können wir das irgendwie verhindern? (Quelle: https://www.blauarbeit.de/)
Abb. 2 Bosch Umweltsensor auf dem Octopus (gelb markiert)
back-to-top nach oben