Robins Blog – Technik und Multimedia

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

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.

 

Die mobile Version verlassen