WLAN-Steckdose mit ESP8266 und ESPEasy

Heim-Automatisierung ist mein Ding. Im Thema Smart Home lassen sich unendlich viel Zeit und Geld unterbringen und jeden Tag funktioniert etwas anderes (nicht). Doch zumindest der finanzielle Aufwand lässt sich reduzieren. Mit günstigen ESP8266-Komponenten vom Chinesen und der freien Software ESPEasy.

ESP8266

Mit dem ESP8266 hat die chinesische Firma espressif eine Mikro-Controller-Familie im Programm, aus welchem sich günstige Boards mit CPU, RAM, Flash Speicher und WLAN erstellen lassen. Dazu kommen – je nach Version – bis zu 12 GPIO-Pins zum Messen, Regeln und Schalten. Die Programmierung kann in (Arduino-) C, Python oder Lua erfolgen, doch für eine einfache via WLAN schaltbare Steckdose ist das nicht notwendig. Die lästige Konfiguration wird für uns die freie Software ESPEasy übernehmen.

Wemos D1 Mini

In meinem Haushalt befinden sich aktuell 2 Boards mit ESP8266 CPU:

  1. ein NodeMCU Board als Entwickler-Platine auf einem Steckbrett und
  2. ein Wemos D1 Mini für den praktischen Einsatz.

Das D1 Mini Board gibt es für ca. 3 USD z.B. bei Ali Express aus China oder für ca. 8 EUR von Amazon. Es bietet 4MB Flash Speicher, 11 digitale und 1 analogen Ein/Ausgang und natürlich WLAN (802.11 b/g/n, 2,4GHz). Über eine Micro-USB-Buchse kann der D1 mit Strom und frischer Firmware versorgt werden. Auch serielle Kommunikation ist hierüber möglich.

Wemos Relay Shield

Für eine echte WLAN-Steckdose braucht es natürlich mehr als 5V Gleichstrom, ein Relais wird benötigt, um auch eine 230V Wechselstrom-Phase zu schalten. Hier kommt das Wemos Relay Shield für den D1 ins Spiel. Es schaltet das an der mittleren Schraubklemme anliegende Potential (den Strom) wechselseitig auf einen der beiden äußeren Ausgänge.



Wichtiger Hinweis: Die unsachgemäße Handhabung von 230V Wechselstrom birgt die Gefahr schwerer oder gar tödlicher Verletzungen. Personen ohne entsprechende Sachkenntnis sollten von entsprechenden Experimenten absehen und stattdessen sich an eine qualifizierte Fachkraft wenden.


Das Relay Shield ist für unter einen Dollar bei Ali Express bestellbar oder für ca. 7 EUR bei Amazon. Sowohl der D1 als auch das Relay Shield kommen ohne montierte Pfostenleiste bzw. -stecker, sie liegen allerdings bei. Wer nicht Löten möchte, kann auch mit Kabelbrücken oder einem Breadboard arbeiten. Es sind die Pins GND, +5V und D1 zu verbinden.

Mit ungefähr gleichen Ausmaßen wie der D1 ergibt sich eine kompakte Einheit, welche z.B. in einem Auf- oder Unterputz-Gehäuse neben der eigentlichen Steckdose untergebracht werden kann.

Investiert man etwas Geduld und bestellt die Komponenten in China, zahlt man für D1 Mini, das Relais und Versand unter 5 EUR. Hinzuzurechnen sind die eigentliche Steckdose, ein 230V/5V AC/DC Netzteil (extern oder als Bauteil) und ggfs. ein Gehäuse. Ich glaube, dass man letztendlich in der Nähe von 10-12 Euro landen wird. Fertige Steckdosen wie die HS100 von TP-Link kosten rund 20 Euro.

ESPEasy

ESPEasy ist eine freie Firmware für ESP8266-Boards. Sie vereinfacht die Konfiguration des ESP8266 durch ein schlankes Web-Interface. Via ESPEasy können eine Menge Sensoren und Aktoren (Schalter) mit einem ESP8266-Board verbunden werden, ohne das Programmierung notwendig ist.

ESPEasy ist aktuell in mehren Versionen erhältlich:

  • master beinhaltet die stabile Version 1.x, welche allerdings keine Aktualisierung mehr erhält
  • mega ist der aktuelle Entwicklungszweig, welcher auf die Veröffentlichung der Version 2.0.0 abziehlt
  • v2.0 sind sog. release candidates, also Test-Abzüge des mega-Zweigs, welche für die meisten Anwendungen ausreichend stabil sein sollten

Installation

Ich verwende aktuell die Version 2.0-20180322, welche direkt von Github heruntergeladen wurde. Auf den Prozess des flashens und die Konfiguration für das heimische WLAN gehe ich hier im Detail nicht ein. Der Vorgang ist im ESPEasy Wiki unter Get Started ausreichend beschrieben und wirklich einfach:

  1. D1 Mini per USB mit PC verbinden
  2. das Firmware-Archiv herunterladen und entpacken
  3. enthaltenes Programm ESPEasy Flasher (FlashESP8266.exe) starten
  4. COM-Port und Firmware-Variante wählen und flashen – fertig

Bei einem initialen ESPEasy Flash verbindet man sich dann mit dem WLAN ESP_Easy_0 (Passwort configesp) und gibt im sog. Captive Portal (oder unter http://192.168.4.1) die Zugangsdaten für das heimische WLAN ein. Bei nachfolgenden Firmware-Updates bleibt die Konfiguration bestehen und der D1 bleibt im eigenen WLAN.

Steuerung

Bereits jetzt ist eine Steuerung des GPIO Pins D1 und damit des Relais möglich. ESPEasy stellt dazu eine HTTP-basierte Schnittstelle zur Verfügung, welche in der Command Reference beschrieben ist.

Wemos Relay Shield Ansicht der Kontakte


Unter der Annahme, das der D1 mini im eigenen WLAN die IP 192.168.0.2 zugewiesen bekommen hat, sind folgende URLs im Browser oder mit cURL aufzurufen:

  • http://192.168.0.2/control?cmd=GPIO,5,0 schaltet den GPIO Pin D1 auf low und das Relais stromlos. Entsprechend sind der mittlere (Eingang) und der rechte Kontakt (Ausgang R) der Schraubklemme verbunden
  • http://192.168.0.2/control?cmd=GPIO,5,1 schaltet den GPIO Pin D1 auf high und das Relais zieht an. Der mittlere Kontakt ist jetzt mit dem linken Kontakt (Ausgang L) der Schraubklemme verbunden

Während es sich bei GPIO D1 um den GPIO Namen handelt, ist für den Schaltvorgang die logische GPIO Nummer zu übergeben. Für GPIO D1 ist dies Pin Nummer 5. Eine Tabelle, welche GPIO Name und Nummer aufführt, ist in der ESPEasy Dokumentation unter Configuration zu finden.

Fazit

Einfache, günstige ESP8266-Hardware und eine frei verfügbare, mächtige und dennoch einfach zu bedienende Software sind für den Aufbau einer WLAN-Steckdose erhältlich. Die Hardware-Arbeiten sind überschaubar, Programmierung und Konfiguration werden von ESPEasy übernommen.

Auch wenn kommerziell erhältliche Lösungen wie der HS100 schicker und einfacher in der Handhabung sind – sie haben ihren Preis. Und wohin und an wen die oftmals notwendigen Apps unsere Daten schicken, wissen wohl nur die Autoren selbst.

Der erste Schritt zur Verwendung der ESP8266-Steckdosen im Smart Home ist am Ende dieses Beitrags erreicht. In einem Folgeartikel werde ich auf die Anbindung an Home Assistant via REST und MQTT eingehen. Stay tuned!

Weiterführende Informationen

Produkte*

  1. Achim sagt:

    Ein Bild von der fertigen Steckdose wäre hilfreich.. ich glaube irgendwie nicht, dass man das Netzteil auch unter Putz verstecken kann. Frohe Ostern 😉

  2. Christoph sagt:

    Hi Achim,

    danke für Deinen Kommentar. Ein geschlossenes Steckernetzteil, z.B. fürs Mobiltelefon geht sicherlich nicht in die Unterputzdose, aber es gibt Netzteile, die in ihrer Bauform genau dafür gemacht sind, etwa dieses* besonders dünne.

    Gruß

    Christoph

  3. Andreas sagt:

    Hallo,
    leider scheitere ich schon beim flashen mit folgenden Meldungen:

    trying to connect
    flush start
    setting serial port timeouts to 1ms
    setting serial port timeouts to 1000ms
    flush complete
    espcomm_send_command: sending command header
    espcomm_send_command: sending command payload
    espcomm_send_command: receiving 2013 bytes of data
    read 0, requested 1
    error: failed reading byte
    warning: espcomm_send_command: cant receive slip payload date
    resetting board

    das wiederholt er noch ein paar mal und bricht dann mit der Meldung flash failed ab.

    Hat jemand eine Idee?

    Gruß Andreas

  4. Daniel sagt:

    Hallo Christoph
    besten Dank für diesen informativen Beitrag. Bin schon gespannt auf den Nachfolgeartikel. Eine deutsche Beschreibung von ESPeasy mit einem Relais und mqtt ist nämlich nirgends zu finden. Und ich versuche gerade, ein Relais damit in Home Assistant einzubinden. Bis jetzt leider noch erfolglos.

    LG
    Daniel

Kommentar hinterlassen