Angetestet: ESP 8266 Testboard

Update 20.04.2016 Blog-Beitrag erweitert Luftdrucksensor BMP 180

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.

Test-Board mit ESP 8266 12

Test-Board mit ESP 8266 12

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

Screenshot 2016-03-29 00.31.04

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:
bmp 180 esp8266

 

 

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.

testboard esp8266 12

 

Dieser Beitrag wurde unter Fhem-Hausautomation abgelegt und mit , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

8 Antworten zu Angetestet: ESP 8266 Testboard

  1. Robin sagt:

    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

  2. Christian sagt:

    Ich habe mich missverstädnlich ausgedrückt – sorry. Ich rede von dem nackten ESP also ohne nodemcu (oder sonstigen) board.

  3. Robin sagt:

    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

  4. Christian sagt:

    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.

  5. Robin sagt:

    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

  6. Dominik Engbert sagt:

    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

  7. Robin sagt:

    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

  8. Dominik Engbert sagt:

    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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.