SMT50 mit ESP8266 und Tasmota
Der ESP8266 ist ein sehr preisgünstiger Mikrocontroller mit eingebautem Wifi, der sich für drahtlose Sensoranwendungen perfekt eignet. Zur Bewässerungssteuerung soll der Bodenfeuchtensor SMT50 von TRUEBNER angeschlossen werden. Der SMT50 liefert zwei analoge Ausgangssignale. Da der ESP8266 nur einen analogen Eingang besitzt, wird nur der Bodenfeuchtewert oder der Temperaturwert übertragen. Mit einem zusätzlichen externen AD-Wandler können auch beide Werte gesendet werden. In diesem Projekt soll jedoch die einfachste Lösung erprobt werden.
Benötigt werden:
- ESP8266 Board (hier Lolin NodeMCU)
- Micro USB Kabel
- SMT50
- Firmware Flash Tool
- Tasmota Firmware (Achtung: Richtiges Land auswählen)
Verbinden Sie das NodeMCU-Board mit dem Computer und starten Sie das Flashtool als Administrator. Wählen Sie anschließend den COM-Port und die Firmware aus. Stellen Sie zuletzt „Erase flash“ auf „yes, wipes all“ und drücken Sie „Flash NodeMCU“.
Trennen Sie nach dem Flashen das Micro-USB-Kabel und verbinden Sie es erneut. Es sollte ein WLAN-Access-Point mit dem Namen tasmota-xxxx auftauchen, mit dem Sie sich verbinden müssen. Nun öffnet sich automatisch der Browser, indem WLAN-Einstellungen konfiguriert und gespeichert werden können. Stellen Sie SSID und Passwort Ihres WLANs ein. Dann "SAVE" drücken und das NodeMCU startet neu und sollte sich mit Ihrem WLAN automatisch verbinden.
Über das Control-Panel Ihres Routers können Sie die IP-Adresse des NodeMCU herausfinden, welche Sie in der Browser-Suchleiste eingeben müssen. Es wird eine Weboberfläche zum Konfigurieren angezeigt, durch die man analoge- bzw. digitale Ein- und Ausgänge, sowie die MQTT-Verbindung einstellen kann. Unter „Configure“ --> „Configure Modul“ muss nun der Modultyp ausgewählt und „A0 ADC0“ auf „Analog (1)“ gestellt werden.
Geben Sie anschließend unter „Configuration“ --> „Configure MQTT“ den MQTT-Host, den Port, die ClientID, sowie den Benutzernamen und das Passwort an und speichern Sie es. Das fertige Topic lautet tele/“Ihr Topic“/SENSOR. In idesem Beispiel wurde zum Test der Public Broker von HiveMQ verwendet.
Stecken Sie danach das Mikro-USB-Kabel aus dem NodeMCU und verbinden Sie den SMT50 wie folgt:
Braun an Pin „3V3“
Weiß an Pin „GND“
Gelb für den volumetrischen Wassergehalt, oder Grün für die Temperatur an den Pin „A0“.
Stecken Sie das Mikro-USB-Kabel wieder in den NodeMCU.
Wahlweise können Sie eine MQTT-Dashboard-App aus dem AppStore oder PlayStore installieren und identisch zur Ihrer MQTT-Konfiguration einstellen.
Auf dem PC können Sie mit Hilfe von MQTT.fx auch die Daten anschauen. Die Konfiguration sieht so aus:
Danach kann man das Topic subscriben und die Daten sehen.
Voilà, es funktionniert!