Meine Blogleser wissen: Ich bin ein ESP 8266-Fanboy. Dieser kleine Chip ist ein Mikrocontroller mit WLAN Zugang. Mittlerweile gibt es sehr viele Versionen davon, die auch in unterschiedlichen Boards verbaut wurden. Ich habe beispielsweise schon über das Witty-Board gebloggt oder auch über das NodeMCU-Board (hier, hier) Ebenfalls ist der ESP auch im WeMos Board verbaut (-> Blogbeitrag). Daraus kann man einige interessante Module für die Hausautomation machen. Der Klassiker ist zum Beispiel ein Temperaturmodul, welches über WLAN die Temperatur zu Fhem oder auch zu Thingspeak übermittelt.Dort kann man die Temperatur dann speichern und einen Plot erzeugen lassen. Ich steuere auch meine LED-Strips über WLAN (-> Blogbeitrag). Aber auch das Nachtlicht oder Treppenhaus-Licht kann man mit Fhem damit schalten.
Anfänger tun sich mit diesen Modulen recht schwer, weil diese etwas schwierig zu flashen sind. Ich nutze für diese Standard-Sachen jetzt immer ESP Easy. Ich hatte schon mal darüber gebloggt.
Ich habe jetzt mal meine Schubladen durchwühlt und ein Testboard gefunden, welches ich vor einiger Zeit gekauft habe. Es ist ideal, um den ESP 8266 Chip zunächst mit Easy ESP zu flashen und danach zu forschen, wie diese Ports angesteuert werden soll.
Ich möchte Euch heute „mein gelbes TestBoard“ vorstellen, welches dem Witty Board von der Funktionalität sehr ähnelt. Das Witty-Board ist aber in Deutschland etwas schwer erhältlich. Es handelt sich um folgendes Board: (amazon.de affili: LSNN- esp8266 -12 wifi stabile Version des Test-Board + WLAN Funkmodul)
Hier nun die Features vom ESP 8266 – Testboard:
ESP 8266 Board 512 KB RAM, Version ESP 8266-12
LDR – Lichtabhängiger Widerstand, fertig beschaltet on Board
Mehrfarbige LED (ROT, GRÜN, BLAU)
7 kleine LEDs zur Optischen Kontrolle, ob ein GPIO schaltet
einfache Stromversorgung über 3 Mignon – Zellen (im Case)
Leichtes Abgreifen der einzelnen GPIOs durch Pinheader
Flashen:
Wenn man dieses Board bei amazon kauft, ist es schon mit einer Beispiel-Software geflashed. Dafür gibt es sogar eine App, mit der man die mehrfarbige LED ein- oder ausschalten kann. Diese Software überspielen wir zunächst mit der Easy ESP Firmware (-> 512 k Version). Als Flasher nehmen wir wieder den ESP-Flasher.
Um dieses Testboard in den Flashmode zu setzen gehen wir folgendermaßen vor:
Wir besorgen uns ein USB-UART Modul (-> amazon: Hossen CP2102 USB 2.0 zu TTL UART-Wandler (seriell, 6-zellig), 1 Stück / darauf achten, das es 3.3 V unterstützt
) ,
UART-Modul – > Testboard
3,3 V -> VCC
GND -> GND
TX -> RX
RX -> TX
Um das Board in den Flashmode zu setzen, verbinden wir die beiden separaten Pinheaders, wir machen quasi da einen Kurzschluss.
Dann kurz das Testboard stromlos machen und wieder einschalten.
Anschließend den ESP-Flasher starten. Dann die Datei laden und flashen.
Wenn alles richtig gemacht wurde, wieder die Kurzsschluss-Brücke vom Testboard lösen.
Und das board wieder einschalten:
Es erscheint in Eurer SSID-Liste vom Handy oder ein ESP-0. Hier tragt ihr dann Eure WLAN-Daten ein. Beim Neustart ist das Board dann in Euer WLAN. Die IP bekommt ihr heraus, indem ihr auf dem Router schaut.
Mit Fhem schalten und walten:
Wenn ihr einen MQTT broker in Fhem benutzt, könnt ihr folgenden Code nehmen, um das Board zu testen:
define Bastelboard1gelb MQTT_DEVICE Bastel
attr Bastelboard1gelb IODev MyBroker
attr Bastelboard1gelb autoSubscribeReadings /Bastelboard1gelb/#
attr Bastelboard1gelb publishSet_Blau 1 0 /Bastelboard1gelb/gpio/13
attr Bastelboard1gelb publishSet_Gruen 1 0 /Bastelboard1gelb/gpio/12
attr Bastelboard1gelb publishSet_Rot 1 0 /Bastelboard1gelb/gpio/15
attr Bastelboard1gelb room MQTT
attr Bastelboard1gelb subscribeReading_ /Bastelboard1gelb/gpio/12
attr Bastelboard1gelb subscribeReading_LDR /Bastelboard1gelb/LDR
attr Bastelboard1gelb subscribeReading_PIR /Bastelboard1gelb/PIR
attr Bastelboard1gelb subscribeReading_RSSI /Bastelboard1gelb/RSSI
attr Bastelboard1gelb subscribeReading_Uptime /Bastelboard1gelb/Uptime
Bitte das Board Bastelboard1gelb in den Einstellungen nennen und in Publish und Subscriber die Zeilen wie folgt ändern:
Subscriber Template /%sysname%/#
Publish Template /%sysname%/%valname%
In dem Config-Reiter dann OpenHAB MQTT Protocol auswählen und die IP-Adresse von Fhem eintragen.
Anhand des Script seht ihr auch, wie die LED mit ihren verschiedenen Farben mit den GPIOs verbunden sind, hier aber nochmal die Auflistung. Da bei dem Board keine Anleitung dabei war, habe ich die Funktionalität durch „Versuch macht Klug“ ermittelt:
Analog: LDR
GPIO 0 auf Platine ist frei
GPIO 2 auf Platine ist frei
GPIO 4 auf Platine ist GPIO 5 (Fehler)
GPIO 12: LED grün
http://192.168.178.42/control?cmd=GPIO,12,1
GPIO 13: LED blau
http://192.168.178.42/control?cmd=GPIO,13,1
GPIO 14: ist frei
GPIO 15: LED rot
http://192.168.178.42/control?cmd=GPIO,15,1
GPIO 16: macht Probleme
In Fhem könnt ihr beispielsweise dann mit set Bastelboard1gelb Blau 1 dann die blaue LED zu leuchten bringen, mit set Bastelboard1gelb Blau 0 schaltet ihr sie wieder aus. In den Readings (s. o.) seht ihr auch vom LDR die Werte, die vom Board kommen, ebenfalls RSSI (Stärke des WLAN-Signals) und wie lange das Board schon Online ist.
Die Sache mit den Regeln:
Mit ESP Easy könnt ihr auch auf dem Baustein schon Regeln erstellen. Diese Funktionalität ist derzeitig noch experimental (Stand: April 2016). Hierzu müsst ihr unter Tools -> Advanced ziemlich weit unten die Checkbox Rules anklicken.
Danach könnt ihr beispielswiese wie hier im Baustein bei Aktionen LEDs zu Leuchten bringen oder Servo-Motoren zum Starten. Beispiele findet ihr in den ESP-Easy Tutorials.
Ich habe mir beispielsweise ein kurzes Skript geschrieben, welches bei einer gewissen Helligkeit die LED von Blau auf Grün springen lässt.
On sdf#Switch do
if [ana#Analog]<20
gpio,13,1
gpio,12,0
else
gpio,13,0
gpio,12,1
endif
endon
Update: Luftdruck und Temperaturmessung. Um den Luftdruck und die Temperatur zu messen bedarf es ein Modul, welches sich BMP 085 oder BMP 180 nennt (-> amazon.de:
Der Datenaustausch geschieht über i2c und mit dem Testboard und EasyESP ist es ziemlich einfach diese beiden Werte zu messen. Ich habe den GPIO0 und GPIO2 sowie die Anschluß-Pins VCC und GND benutzt, um das Board zu verkabeln. In EasyESP habe ich das Device BMP 085 verwendet und in den Grundeinstellungen für SCL den GPIO und SDA den GPIO2 eingetragen. Um die Daten zu Fhem zu übertragen, bedarf es via MQTT nur zwei Zeilen in Fhem.
attr Bastelboard1gelb subscribeReading_Temperature /Bastelboard1gelb/Temperature
attr Bastelboard1gelb subscribeReading_Pressure /Bastelboard1gelb/Pressure
Das Ergebnis seht ihr auf dem Foto, hier mit dem Luftdruck von 1023 hPA und 24.5 Grad:
Fazit: Das Board ist ideal um, schnell Testaufbauten zu machen und mit Fhem die Funktionalität zu testen. Mit ESP Easy macht es noch mehr Spass die vielen Funktionen auszuprobieren. Fhem rundet das Ganze ab und finalisiert die Möglichkeiten einer Hausautomation. Der Kreativität sind mal wieder keine Grenzen gesetzt.
Vielen Dank an die Fhem-Forum-User Pf@anne und Pink99Panther, denen ich mit meinen Fragen genervt habe (-> fhem-forum).
Aktion: Wenn jemand eins von den beiden Test-Boards kaufen möchte, ich gebe eins ab. Kurz bei mir melden.
ah ok, da gibt es ja verschiedene Typen: ESP 01, 07, 12 usw… Die werden auch zum Teil anderes beschaltet. Manche brauchen auch noch einen Kondensator mit dabei. Blöd finde ich das Flashen der ESPs. Der 01er ganz besonders. Obwohl der bspw. 2 GPIOs hat, kann man in Wirklichkeit nur durch Zusatzsbeschaltung den zweiten benutzen. Dafür ist er ja schön klein. Ich habe den beispielsweise in meinem Diffuser / Nebler reingebaut: https://blog.moneybag.de/erfahrungsbericht-ultraschall-nebler-luftbefeuchter-diffuser/ . Wenn ich das Ding nochmal aufschrauben würde, würde ich einen WeMos reinsetzen: https://blog.moneybag.de/wemos-iot-internet-of-things-funktionalitaeten-einfach-zusammenstecken/
LG
/robin
Ich habe mich missverstädnlich ausgedrückt – sorry. Ich rede von dem nackten ESP also ohne nodemcu (oder sonstigen) board.
nö muss man nicht, gibt doch Steckverbinder oder Breadboards dazu.
Ist bei mir in der Bauteiliste weiter unten aufgelistet: https://blog.moneybag.de/einfaches-wlan-thermometer-fuer-fhem-mit-nodemcu-ohne-loeten-teil-2/
Ich nehme immer ein ganzes Bündel von den Kabel und verbinde die testweise mit einem Breadboard.
LG
/robin
Ich finde es ja schade, dass man die ESP Module zum programmieren oder mal schnell etwas ausprobieren immer irgendwie festlöten muss. Sei es an PINs oder an Drähten.
Hallo Dominik,
cool, habe gerade an dem Test-Board eine „sensor-Taste“ an einem freien GPIO über EasyEsp R94 eingebaut, klappt!
Wenn du Lust hast einen Gastbeitrag über Dein Fingerprint-Projekt zu schreiben, sag Bescheid!
LG
/robin
Hallo Robin,
kein Problem.
Habe heute alles soweit eingerichtet.
Funktioniert sehr gut. Habe deine Vorgaben der Topics eingesetzt.
Ebenso den Mosquitto Broker nach Kriwanek-Vorgaben installiert.
Und siehe da, es funktioniert. Sowohl Statis vom ESP8266 lesen, als auch setzen (Relais).
Wenn ich es komplettiert habe, melde ich mich nochmal, habe ein Fingerprint-Projekt realisiert.
Gruß Dominik
Hallo Dominik,
MQTT ist für mich auch „Neuland“. Ich habe in den Fhem-Forum gelesen, das unter Fhem und der Einstellung OpenHabMQTT die Verbindung einfacher ist und besser funktioniert.
LG
/robin
Hallo Robin,
vielen Dank für Deine interessanten Blogs.
Kannst Du mir sagen, wodrin der Unterschied zwischen den OpenHabMQTT, DomoticzMQTT und PiDomeMQTT?
Sind die nicht alle kompatible mit dem MosquittoBroker auf dem RasPi(fhem)?
Hintergrund ist, dass der FHEM-Forums-Beitrag auf PiDomeMQTT verweist, Du in diesem Blog auf OpenHabMQTT…
Schöne Grüße
Dominik