Smarter Temperatur- und Luftfeuchtigkeitssensor – DIY

In diesem Beitrag zeige ich euch wie ihr einen smarten Temperatur- und Luftfeuchtigkeitssensor selbst bauen könnt. Dieser wird über WLAN mit einem Router verbunden und ihr habt damit auch von unterwegs, z. B. mit eurem Smartphone, immer im Blick welche Temperatur und welche Luftfeuchtigkeit herrscht. Ich setze das Ganze mit einem WeMos D1 mini Board und einem DHT22 Sensor um. Dank der Firmware EASY ESP, die einfach über den Browser konfiguriert wird, ist nicht einmal programmieren notwendig. Damit könnt ihr euch den Sensor so konfigurieren, dass die Daten über die Cloud von ThingSpeak auf euer Smartphone geschickt werden. Wie das geht erkläre ich euch auch Schritt für Schritt. Wenn ihr den Sensor in euer SmartHome einbinden wollte geht das ebenfalls zum Beispiel über das MQTT-Nachrichtenprotokoll, das sich auch ganz einfach über EASY ESP konfigurieren lässt. Und das beste daran: Die elektronischen Bauteile dazu kosten nur ca. 5€!!!

Ich habe für meinen Aufbau ein Gehäuse konstruiert, dass ihr euch einfach herunterladen und ausdrucken könnt. Viele andere Gehäuse die ihr so im Netz findet haben das Problem, dass die Wärme, die der WeMos abgibt, auf den DHT22-Sensor über Wärmestrahlung oder Wärmeleitung des Gehäuses einwirken und zu einem Messfehler führen. Ich habe sehr viele Versuche diesbezüglich durchgeführt und ein Gehäuse mit einem Hitzeschild entwickelt, dass die Wärmestrahlung des WeMos abschirmt und eine Wärmeleitung vom WeMos zum DHT22 über das Gehäuse verhindert.

Wenn ihr keinen 3D Drucker habt könnt ihr euch auch ein Gehäuse aus einem anderen Material bauen. Oder Ihr baut das Ganze auf einem Breadboard auf. Diese Variante zeige ich euch auch.

1 – Was wird benötigt?

[ Werbung | die mit * gekennzeichneten Links sind Affiliate-Links ]

Für beide Versionen brauchen wir auf jeden Fall:

Für Version 1 (Aufbau auf einem Breadboard) brauch ihr noch zusätzlich:

Für Version 2 (Aufbau im gedruckten Gehäuse) benötigt ihr lediglich einen 3D-Drucker und die Druckdaten die ihr hier herunterladen könnt.

2 – Aufbau Version 1 auf dem Breadboard

Ganz ohne löten geht es leider nicht. Ihr müsst nämlich die Stiftleisten an den WeMos anlöten. Es liegen dem WeMos im Normalfall welche bei. Für unsere Variante löten wir die langen Stiftleisten, wie im Bild gezeigt, an. Ich werde meine nicht anlöten, da ich den WeMos für Variante 2 ohne Stiftleisten brauche.

Danach stecken wir alles wie im Bild gezeigt zusammen. Hinweis: Ich habe hier eine andere Variante des DHT22 mit einer etwas größeren Platine. Macht aber keinen Unterschied für den Aufbau auf dem Breadboard. In das Druckgehäuse von Variante 2 passt er allerdings nicht rein.

Das weiße Kabel ist dabei am WeMos mit dem ‚5V‘ verbunden und am DHT22 mit ‚VCC‘. Das Schwarze am WeMos mit Ground ‚G‘ und das am Sensor mit ‚GND‘ und das gelbe mit ‚D3‘ und ‚DAT‘.

WeMos Kabel
DHT22
G schwarz ‚-‚ oder ‚GND‘
5V weiß ‚+‘ oder ‚VCC‘
D3 gelb DAT

Damit ist der Aufbau schon fertig und ihr könnt zu Punkt 4 springen.

3 – Aufbau Version 2 für das Gehäuse

Für Version 2, oder wenn ihr die Elektronik in ein eigenes Gehäuse einbauen wollt, löten wird zuerst die Leitungen an.

Wir brauchen dazu den WeMos, den DHT22 und die 3 Leitungen mit Durchmesser 1,2 mm. Zwei Kabel kürzen wir auf 10 cm Länge und das dritte auf 12 mm. Die Ende isolieren wir ca. 3 mm ab.

Als nächstes löten wir die gewinkelte Stiftleiste vom DHT22 Sensor ab. Dadurch wird das Ganze kleiner und passt in das Gehäuse.

Danach löten wir den DHT22 mit den Leitungen an den WeMos. Die beiden Leitungen mit 10 cm kommen dabei an Plus und Minus bzw. ‚G‘. Die Leitung mit 12 cm kommt an den DAT am Sensor und am WeMos an den digitalen Eingang D3. Hier nochmal in einer Tabelle dargestellt.

WeMos Leitungslänge DHT22
G 10 cm ‚-‚
5V 10 cm ‚+‘
D3 12 cm DAT

Wir achten dabei darauf, dass wir die Leitungen von der richtigen Seite anlöten. Hier nochmal ein Bild dazu:

Um die Leitungen an den Lötstellen vor Abreißen zu schützen habe ich etwas 2K-Kleber auf die Lötpunkte gegeben. Geht aber auch mit Heißkleber.

Bevor wir das Ganze in das Gehäuse einbauen empfehle ich euch erstmal die Software unter Punkt 4 zu flashen um zu sehen ob alles funktioniert.

Funktioniert alles geht es mit dem Zusammenbau weiter:

Falls ihr das Gehäuse drucken wollt könnt ich euch die zwei Dateien als Zip-File hier herunterladen und ausdrucken.

Als erstes nehmen wir das Oberteil (Cover). Nun setzen wird den Sensor ein. Dazu legen wird zunächst die Seite mit den Lötpunkten in die dafür vorgesehene Nut (1.) ein. Danach drücken wird die weiße Schutzkappe vom Sensor durch die Öffnung im Gehäuse (2.).

Achtet dabei darauf, dass ihr den kleinen Pin nicht abreißt. Diesen brauchen wird für die Befestigung.

Als nächstes geht es an die Verkabelung. Am besten bringen wir zunächst den WeMos in Position. Ist dieser eingesetzt verlegen wir die Leitung für den Minus-Pol. Dazu drücken wir diese mit einem kleinen Schraubendreher oder einem anderen flachen Gegenstand in die dafür vorgesehene Nut.

Wichtig ist, dass die Leitung über die komplette Breite des Lüftungsschlitzes in der Nut verschwindet, damit sie später nicht sichtbar ist. Als nächstes legen wir die Leitung vom Plus-Pol in die gleiche Nut.

Dann geht es auf die andere Seite. Hier legen wird die Datenleitung (bei mir orange) genauso in die Nut ein wie bei den beiden vorherigen Leitungen.

Ist die Elektronik richtig eingesetzt, drücken wir den Kunststoffpin für die Befestigung des DHT22 kurz mit dem Lötkolben gegen die Innenwand.

Damit ist der Sensor fixiert und wir sind mit dem Zusammenbau schon fast fertig.

Die Kabel noch etwas zur Seite drücken, das Unterteil einsetzen und fest verschnappen.

Je nach dem wie maßhaltig eure Teile sind kann die Verschnappung eventuell etwas fester oder lockerer sein. Im Zweifelsfall hilf entweder die Feile oder etwas Klebstoff. Um das Unterteil wieder heraus zu bekommen habe ich an der Seite neben den Überhöhungen für die Verschnappung Nuten einkonstruiert. Dadurch kann das Unterteil mit einem flachen Schraubendreher heraus gehebelt werden.

4 – ESP Easy Flashen

Bevor wir die Elektronik in das Gehäuse bauen flashen wir erst einmal den WeMos mit der Software ESP Easy. Sollte etwas nicht funktionieren müssen wir so nicht alles wieder auseinander nehmen. Zunächst laden wir uns die Software ESP Easy hier herunter. Für die neueste Version klicken wir die oberste Version an.

Unten auf der Seite finden wir die Zip-Datei. Diese klicken wir an und danach auf  „Datei speichern“ und „OK“.

Im Normalfall findet ihr die Zip-Datei nach dem Download im Download Ordner. Wir navigieren dort hin und entpacken die Zip-Datei. Also Rechtsklick auf die Datei und „Entpacken“ auswählen.

In dem neu entstandenen Datei-Ordner finden wir den Unterordner „bin“.

Diesen öffnen wir und suchen die Datei „ESP_Easy_mega_20190813_normal_ESP8266_4M.bin“ (Das Datum im Dateinamen kann eventuell aktueller sein). Das ist die Firmware die wir gleich auf den WeMos flashen. Wir klicken mit der rechten Maustaste auf diese Datei und kopieren diese mit „kopieren“ in den Zwischenspeicher.

Jetzt gehen wir wieder einen Ordner zurück und fügen diese Datei in den Hauptordner „ESPEasy_mega_20190813“ ein.

Als nächstes müssen wir herausfinden welchen COM-Port der WeMos hat sobald wir ihn am Rechner angeschlossen haben. Dazu öffnen wir den Gerätemanager durch einen Rechtsklick auf das Windows-Symbol und dann auf „Geräte-Manager“.

Jetzt klappen wir „Anschlüsse (COM & LPT) durch einen Klick auf den kleinen Pfeil links davon auf.

Wenn wir jetzt den WeMos an den Rechner anschließen erscheint eine neue Zeile und dahinter steht in Klammern der COM-Port den wir brauchen. In meinem Fall ist es der COM3.

Jetzt haben wir alles zusammen zum Flashen. Wir gehen wieder zurück in unsere ESP Easy-Ordner und klicken auf „FlashESP8266“. Wir wählen den richtigen COM-Port und dann klicken wir auf „Flash“.

Jetzt öffnet sich ein Fenster in dem der aktuelle Fortschritt angezeigt wird. Ist der WeMos geflasht überprüfen wir ob alles funktioniert.

Dazu starten wir den WeMos erstmal neu. Entweder drückt ihr dazu auf den kleinen Reset-Knopf am WeMos oder ihr steckt den WeMos kurz aus und wieder ein.

Danach können wir uns über WLAN mit dem WeMos verbinden. Dazu klicken wir rechts unten auf das Symbol für die Netzwerkverbindungen. Dort sollte dann ein WLAN mit der SSID ESP-Easy_0 angezeigt werden. Wir klicken darauf um ums damit zu verbinden. Das Passwort ist: configesp

Sind wir mit dem WLAN des WeMos verbunden öffnen wir den Browser und geben die  IP „192.168.4.1“ ein. Dort müssen wir jetzt angeben mit welchen WLAN sich unser Smarter Sensor später verbinden soll. Wenn das WLAN nicht angezeigt wird, weil das an dem Ort an dem ihr gerade seid nicht verfügbar ist, könnt ihr das unter „other SSID:“ auch manuell eintragen. Das Passwort noch eingeben und auf „Connect“ klicken.

Jetzt versucht der WeMos sich in dem WLAN einzuwählen. Wenn das WLAN erreichbar ist und der WeMos sich verbindet wird im Browser gleich angezeigt welche IP-Adresse er im Netzwerk bekommen hat.

Diese tippen wir in den Browser ein und kommen in das Hauptmenü des WeMos.

Bevor wir hier weitere Einstellungen machen richten wir uns zunächst einen Account bei Mathworks und ThingSpeak ein. ThingSpeak ist eine Art Cloud für IoT-Anwendungen. Dort wird später unser SmartSensor die Daten hochladen und wir können dadurch von überall auf der Welt darauf zugreifen.

4 – Einrichten eines MathWorks-Account

Um uns bei ThingSpeak anzumelden brauche wir zuerst einen Account bei MathWorks. Dazu gehen wir auf die Homepage von MathWorks und klicken unten auf „Create Account“.

Dort geben wir unsere E-Mail-Adresse und unser Land an. Außerdem geben wir noch an wie wir Mathworks nutzen. Ich verwende es privat und wähle deshalb „Personal, non-commercial projects“ aus. Außerdem müssen wir noch angeben ob wir mindestens 13 Jahre alt sind.

Haben wir das erledigt bekommen wir eine E-Mail mit einem Link zur Verifizierung der E-Mail-Adresse zugeschickt. Wir klicken auf den Link und geben den Rest ein um unserer Account einzurichten.

Vor- und Nachname sowie ein Passwort sind Pflicht. Eine User ID ist zwar optional aber später bei der Anmeldung für ThingSpeak muss man sich spätestens eine ausdenken. Überlegt euch einfach irgendwas (z.B. euer Vorname mit einer Zahlenfolge).

Wir bestätigen das Ganze und sind fertig bei MathWorks.

5 – Einrichten von ThingSpeak

Mit unserem Account von MathWorks können wir uns jetzt bei ThingSpeak anmelden. Dazu gehen wir auf die Homepage von ThingSpeak und geben unsere E-Mail-Adresse ein, die wir auch bei MathWorks angegeben haben.

Mit einem Klick auf „Next“ werden wir nach dem Passwort gefragt. Hier auch das Passwort von MathWorks angeben. Wir landen in unserem Account von ThingSpeak.

Wie gesagt wollen wir später die Daten vom Smarten Sensor auf ThingSpeak hochladen. Dafür wird in ThingSpeak ein Channel erstellt. Wir klicken also auf „New Channel“.

Es öffnet sich eine Seite auf der wir den Channel konfigurieren. Als Name geben wir den Namen des Sensors ein, also „Smart Sensor“. Unter Description schreiben wir einen kurzen Text was hier für Daten aufgezeichnet werden. Das ist wichtig wenn ihr mal mehrere Sensoren habt oder wenn ihr den Channel öffentlich macht, dass jeder gleich weiß was hier Sache ist.

Da unser Sensor die Temperatur und die Luftfeuchtigkeit misst aktivieren wir zwei Felder und benennen diese entsprechend. Ihr könnt theoretisch noch weitere Sensoren an den WeMos anschließen und dann noch mehr Felder aktivieren.

Wir klicken anschließend unten auf „Save Channel“. Damit sind wir eigentlich schon fertig mit ThingSpeak. Wir müssen aber noch eine Verbindung von ThingSpeak zum Smarten Sensor herstellen um die Daten hochzuladen. Und wir brauchen noch eine Verbindung um später die Daten wieder herunterladen zu können. Dazu hat ThingSpeak durch das Anlegen des Channels einmalige Schlüssel erstellt. Diese finden wir auf „API Keys“.

Anstatt die Schlüssel jetzt abzutippen lassen wir das Browser-Fenster geöffnet und kopieren diese gleich mit copy-paste. Alternativ könnt ihr euch natürlich jederzeit bei ThingSpeak wieder anmelden und schauen wie die Schlüssel zu eurem Kanal sind.

6 – Konfiguration des WeMos mit ESPEasy

Zurück zu unserem eigentlichen Sensor dem WeMos uns ESP Easy. Wenn euer WeMos immer noch die gleiche IP-Adresse hat und ihr die ESP Easy-Seite noch offen habt – super. Wenn nicht gehen wir zunächst auf unseren Router und schauen nach welche IP-Adresse er dem WeMos gegeben hat. Diese dann einfach in den Browser eingeben.

Die Hauptseite sollte dann so aussehen:

Als erstes konfigurieren wir den ThingSpeak-Controller. Dazu klicken wir oben in der Leiste auf „Controllers“ und im Dropdown-Menü wählen wir „ThingSpeak“ und bestätigen das mit „Submit“.

Es öffnet sich das Fenster mit den Controller-Settings. Gebt hier alles so ein wie hier gezeigt:

Unter API Key ist der Write API Key von ThingSpeak einzutragen.

Ihr könnt nur alle 15 Sekunden Daten an ThingSpeak senden. Deswegen stellen wir bei „Minimum Send Interval“ 15000ms ein. Ist für unsere Anwendungsfall aber auch mehr als ausreichend. Wir bestätigen das wieder mit „Submit“.

Als nächsten Schritt müssen wir nur noch den Sensor einrichten. Dazu klicken wir oben in der Leiste auf „Devices“ und auf „Edit“.

Es öffnet sich das Fenster in dem wie über das Dropdown-Menü unseren Sensor auswählen können.

Wie wählen den DHT22 aus und bestätigen. Es öffnet sich das Menü „Task Settings“. Hier vergeben wir einen Namen und legen fest an welchem Pin vom WeMos unser Sensor hängt. In unserem Fall ist es der Pin mit der Bezeichnung D3. Jetzt ist noch wichtig, dass wir den Sensor mit unserem Controller verknüpfen. Dazu setzen wir den Hacken bei „Send to Controller“ und setzen den IDX auf 1. Dadurch wird der Temperaturwert auf das Feld mit der Nummer 1 bei ThingSpeak gesetzt und automatisch der Humidity-Wert auf das nächste Feld (also Feld 2).

Mit „Submit“ bestätigen.

Wenn uns jetzt kein Fehler passiert ist müssten spätestens in 15 Sekunden die ersten Daten auf ThingSpeak hereinkommen und sich alle 15 Sekunden aktualisieren. Wir können uns damit schon mal von überall wo wir Webzugriff haben auf ThingSpeak anmelden und sehen wie die Temperatur uns Luftfeuchtigkeit ist und dementsprechend die Heizung, Klima- oder Lüftungsanlage einschalten.

7 – Widget auf dem Android-Smartphone einrichten

Um das Ganze noch etwas komfortabler zu machen richten wir uns im letzten Schritt noch ein Widget auf unserem Android-Smartphone ein.

Dazu laden wir uns die App „IoT ThingSpeak Monitor Widget“ aus dem Google Play Store herunter.

Wenn wir jetzt auf eine freie Fläche auf unserem Bildschirm lange gedrückt haltet können wir unten „Widgets“ auswählen. Hier scrollen wir nach rechts bis wir das Widget finden.

Jetzt ziehen wir das Widget auf eine freie Fläche. Es öffnet sich gleich das Fenster zum konfigurieren.

Hier tragen wir die Channel ID ein die wir von ThingSpeak haben. Darunter den Read API Key, weil wir die Daten aus unserem Kanal auslesen wollen.

Im ersten Feld wird automatisch „1 – Temperatur“ vorausgewählt. Für das Zweite Feld wählen wir „2 – Luftfeuchtigkeit“ aus.

Wenn ihr noch weiter herunter scrollt könnt ihr noch unter „Update settings“ einstellen wie oft die Werte aktualisiert werden sollen. Standardmäßig ist 30 Minuten eingestellt. Ich wähle hier 1 Minute.

Geschafft! Jetzt habt ihr euren eigenen smarten Sensor gebaut und auch gleich einige Tools aus der IoT-Welt kennengelernt.  Bei mir läuft der Aufbau auf einem Breadboard schon seit über einem Jahr zuverlässig und ohne Probleme! Diesen, den ich hier gebaut habe werde ich wettergeschützt irgendwo draußen anbringen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert