Temperaturmessung um verschiedene Sachen zu steuern ist für viele sehr wichtig. Deswegen kann man an unserem VanPi - System auch 4 Temperatur Sensoren von Haus aus anbinden. Wenn dies jedoch nicht reicht, kann man sich relativ einfach selber einen Wlan Temperatur Sensor bauen.
Was ihr benötigt:
- Wemos d1 oder ein anderes ESP8266 dev Board (NodeMCU etc)
- Einen DS18B20 Temperatur Sensor
- einen 4,7k Widerstand
1. Verkabelung:
Die Verkabelung ist recht einfach. Spannungsversorgung kommen von 3.3V Pin, Masse geht zu Masse und Signal steckt ihr auf einen PIN eurer Wahl. Nun müsst ihr noch zwischen Signal und 3.3V den Widerstand löten. Dieser ist nötig, um das Signal störungsfrei zu erhalten. Denn die Temperaturmessungen werden über eine digitale Schnittstelle übertragen.
2. Tasmota Flashen
Wir verwenden als Firmware wieder Tasmota. Diese offene Firmware benutzen wir in angepasster Form auch auf dem Dimmy. :)
Für die Installation nutzen wir am einfachsten den Chrome Browser und gehen auf
https://tasmota.github.io/install/
Dort können wir das via USB angeschlossene Board flashen. Als Firmware könnt ihr "Tasmota (english)" eingestellt lassen. Nachdem ihr auf connect gedrückt habt wählt ihr noch die richtige serielle Schnittstelle aus und dann wird schon geflasht. (Das löschen vom Speicher (erase) würde ich empfehlen.
3. Tasmota einrichten
Nachdem Tasmota geflasht ist und ihr den Chip nochmal neu über USB mit Strom versorgt, solltet ihr ein WLAN mit den Namen "Tasmota_xxxx" finden. Damit verbindet ihr euch und geht danach zu einem Browser und tippt diese Adresse ein:
Ihr kommt dann zur Wifi-Settings Seite von Tasmota. Nun wählen wir das Gerät in das VanPi System ein (Bzw. in das Netzwerk in dem euer VanPi läuft). Dafür einfach die SSID und das Passwort eintippen und mit "connect" bestätigen. Wenn alles geklappt hat, können wir nun im VanPi System nach dem Gerät suchen. Dafür verbinden wir uns mit dem VanPi Hotspot und wechseln mit http://van.pi(alternativ: http://192.168.4.1:1880/ui) in das Webinterface. Dort gehen wir zur Debug Seite im Config Menü. Im Punkt "get assigned dhcp leases" finden wir nun alle Geräte die vom System eine IP Adresse bekommen haben. Hier sollte auch das Tasmota zu finden ein. Merkt euch diese IP Adresse (192.168.4.x)
Diese IP Adresse gebt ihr nun in einem neuen Fenster ein und seht dann die Oberfläche von Tasmota. Dort müssen wir jetzt noch die Konfiguration vornehmen.
Als erstes setzen wir die MQTT-Einstellungen, denn über dieses Protokoll erhalten wir später die Temperaturen.
Wir gehen also auf Configuration -> Configure MQTT. Dort ändern wir den Host zu pekaway.local und das Topic ändern wir zu WLANTEMP. Somit ist die Kommunikation angepasst. Solltet ihr mehrere WLAN-Sensoren, also mehrere Tasmota Geräte, beutzen wollen, müsst ihr für die Zuordnung die WLANTEMPx (Nummerierung) verwenden.
Danach müssen wir noch mitteilen, dass wir einen DS18B20 Temperatursensor angeschlossen haben. Dies passiert unter "Configure Modul". Da stellen wir als erstes unter Module Type "Generic (18)" ein und bestätigen mit „save“. Nun wird das Gerät neu gestartet. Anschließend müssen wir noch auswählen, an welchen Pin wir das Signal vom Temperatur Sensor haben. Im Beispiel oben ist es das GPIO4.
Nachdem wir dort den DS18B20 ausgewählt haben und mit "save" bestätigen, sollte nach dem Neustart direkt die Temperatur im Webinterface angezeigt werden. Sollte dies nicht der Fall sein, müsst ihr eure Verkabelung prüfen.
4. Temperatur über MQTT abfragen.
Um jetzt die Werte abfragen zu können, müssen wir eine Anfrage an das ESP Modul per MQTT schicken. Dazu schicken wir auf dem Topic, welches wir eingestellt haben als Payload eine "10" auf unser eingestelltes Topic "%prefix%/%topic%/Status", in diesem Fall also "cmnd/WLANTEMP/Status. Daraufhin bekommen wir eine Antwort auf "stat/WLANTEMP/STATUS10" mit den entsprechenden Werten. Wir müssen also zu diesem Topic subscriben, um die Werte erhalten zu können.
So würde das Ganze in Node-RED aussehen, bitte beachtet allerdings, dass wir in unserem Setup angepasste Topics verwenden.