Mein nächstes DIY-Projekt hier im Forum. Eigentlich war es gar nicht für mich, aber das spielt ja keine Rolle.
Basierend auf einem WeMos D1 mini (ESP8266) habe ich ein kleines Thermometer programmiert, welches die gemessene Temperatur per W-Lan im Netzwerk verfügbar macht, sie sozusagen ins Internet der Dinge bringt.
Funktionsumfang
- Temperaturmessung per DS18B20 OneWire Sensor
- Ausgabe der Werte über folgende Schnittstellen
- REST API (zur schnellen Einbindung in übergeordnete Systeme, z.B. ioBroker, openHAB, FHEM, etc.)
- Integrierte Weboberfläche
Hardware
Kern bildet, wie erwähnt, ein WeMos D1 mini SoC, an welchem der OneWire Sensor mit 3 Lötverbindungen angeschlossen wird. Des Weiteren muss ein 4,7 kOhm Widerstand als Pullup-Widerstand zwischen +5 V und Datenleitung verbaut werden. Das war es dann auch schon, drei Bauteile für gerade mal 10 Euro.
Zum Programmieren und für die spätere Spannungsversorgung wird noch ein USB-micro Kabel benötigt und ein USB Netzteil, was sich sicherlich in jedem Haushalt auftreiben lässt.
Aufbau
Der Aufbau beschränkt sich auf drei Lötstellen, welche direkt am D1 mini, nach folgendem Schema gesetzt werden können:
Sensor
Den DS18B20 Temperatursensor gibt es fertig in einer 6 mm Edelstahlhülse. Dieser wird zwar meist mit dem Zusatz "wasserdicht" verkauft, was in der Praxis leider nicht immer der Fall ist. Abhilfe schafft hier das Ersetzen des einfachen Schrumpfschlauches, gegen einen mit Schmelzkleber benetzten und somit dichtenden Schrumpfschlauches. Der auf meinen Fotos zu sehende farblose Schrumpfschlauch ist ein solcher.
Noch sicherer ist allerdings der Einsatz einer entsprechenden Tauchhülse, in welche der Sensor eingesteckt wird. Wasserkontakt ist damit ausgeschlossen.
Gehäuse
Zum Schutz der losen Leiterplatte kann das D1 mini in einem kleinen Gehäuse aus dem 3D Drucker verbaut werden.
image_118734.jpg
3d gedrucktes Gehäuse, mit zweifarbigen Oberteil und zwei Bohrungen zum Anschrauben des Gehäuses.
Weboberfläche
webui_desktop.png
Die integrierte Weboberfläche kann direkt aufgerufen werden, es wird kein weiterer Server benötigt. Die Darstellung ist optimiert für die Anzeige auf mobilen und Desktop Geräten.
REST API
Über die REST API kann das Temp2IoT an beliebige übergeordnete Systeme angebunden werden. So bieten zum Beispiel die meisten Heimautomatisierungs-Systeme (ioBroker, openHAB, FHEM etc.) die Möglichkeit eine REST API zu bedienen. Aber auch eigene Webprojekte können durch die API einfach adaptiert werden.
Meine Anwendung
Ja, die gibt es eigentlich gar nicht, da ich selber natürlich das EzoGateway nutze und somit auch die Temperaturen schon im Netzwerk zur Verfügung habe. Temp2IoT ist keine "Frage für einen Freund", sondern ein Projekt für einen Freund Ziel war es die aktuelle Wassertemperatur auf dem Smartphone anzeigen zu können, vergleichbare kommerzielle Lösungen kosten nicht nur einiges mehr, sondern schicken die "Temperatur" erst um die halbe Welt bis sie angezeigt wird (Cloud-Zwang...).
Download
Das gesamte Projekt liegt auf GitHub zum freien Download.
- Projekt: Temp2IoT
- Gehäuse STL
Im Readme gibt es eine detaillierte Stückliste und eine Step-by-step Anleitung zur Einrichtung der Programmierumgebung und natürlich zum Programmieren des D1 mini.
Grüße Elias