Projekte mit ESP8266 WiFi Modul. ESP8266 fungiert als kleiner Webserver oder auch Webclient, der schaltet, steuert oder überträgt Messdaten.
Als Erstes ich habe vor eine WLAN-Steckdose (IP-Steckdose, Funkschalter per WLAN) zu bauen.
ESP8266 Wlan Modul als Server ermöglicht ein weltweites Steuern und Schalten über das Handy, Tablet und jeden PC mit Internetanschluss.
ESP8266 Wlan Modul kann als Webclient Daten, zu bestimmten Zeitpunkten oder Ereignissen, über Internet und PHP-Webseite an MySQL Datenbank übertragen oder auch E-Mail versenden.


Pinbelegung des ESP8266

ESP8266 Pinbelegung

J1 Nr. Name Funktion
4 VCC 3.3V (max 3.6V) Versorgungsspannung
8 GND Masse
1 TXD Transmit Data (3.3V Pegel)
5 RXD Receive Data (3.3V Pegel!)
2 CH_PD Chip Ausschalten: (LOW=  aktiv)
6 GPIO0 Gigitale Ein/Ausgänge I/O 0
7 GPIO2 Gigitale Ein/Ausgänge I/O 2
3 RST Reset (LOW = Reset aktiv)

Web-Schalter

Web-Schalter schaltet ein elektrische Verbraucher über Wlan. Es gibt 2 Möglichkeiten:
Der Webschalter 1: ESP8266 Modul arbeitet als WLAN-Zugangspunkt und WEB - Server. Diese Möglichkeit nutzen Sie, wenn kein Heimnetzwerk vorhanden ist. Sie melden sich mit Ihrem Handy oder Tablett bei ESP8266 WLAN-Zugangspunkt an. Sie rufen im Browser festgelegte IP-Adresse auf und erhalten vom ESP8266 Server eine Webseite mit einem Button (Farbe des Buttons zeigt aktuellen Schaltzustand). Durch das Betätigen des Buttons schalten Sie Ihr Gerät ein oder aus.
Der Webschalter 2: ESP8266 Modul meldet sich im Ihrem Heimnetzwerk an und startet ebenfalls WEB - Server. Dann ist er von allen Geräten ihres Heimnetzwerks erreichbar. Mit entsprechender Portweiterleitung im Router und DynDNS kann auch vom Internet aus geschaltet werden.

Der Schaltplan

Schaltplan Wlan Steckdose
Die ganze Schaltung besteht aus ESP8266 Modul, Spannungsregler, einem Taster und einem Relais mit Transistor als Treiber.
ESP8266 Modul hat 2 Digitale Ein/Ausgänge. GPO2 benutzen wir als Eingang. Mit einem Taster können wir unsere Last entweder ein- oder ausschalten. GPO2 Eingang wird über Wiederstand R5 auf HIGH gezogen. C4 ist zu entprellung da.
GPO0 benutzen wir als Schaltausgang. An den ist ein 5V Relais über 2 Transistoren angeschlossen. GPO0 ist invertiert. Das heißt "0" Last eingeschaltet, "1" Last ausgeschaltet. Um das Signal wieder zu invertieren wird Transistor Q2 benutzt. 
Warum wird GPO0 als low aktiv benutzt? GPO0 wird für das Aktivieren der Firmware Update verwendet. So das für normale Betrieb des ESP8266 Moduls nach dem Reset immer HIGH Pegel anliegen soll.

Vereinfachte Schaltplan mit SSR-Relay

Schaltplan ESP8266 SSR Relais
In der Schaltung steuert ESP8266 Modul ein SSR-Relay (Solid State Relay). PullUp Wiederstände sind weg. GPIO2 hat per Software eingeschaltete PullUp. GPIO0 in angeschaltetem Zustand weist 3,3V auf. Außerdem der Halbleiterrelais ist zu Vcc geschaltet und bildet mit seinen internen Bauteilen auch einen PullUp. Als Solid-State-Relais habe ich SSR-25DA genommen, weil es war günstigste Solid-State-Relay bei Amazon 4,12€ mit dem Versand. SSR-Relais ist zum +5V angeschlossen damit er auch sicher einschaltet. In einer Amazon Rezension habe ich gelesen, dass obwohl nach dem Datenblatt SSR-25DA mit 3V angesteuert werden kann, schaltet er nicht mal mit 3,3V. In meiner Schaltung wird SSR-25DA mit 5V geschaltet.

Laden des Programms in ESP8266 Modul

ESP8266  flashen

Für Firmware update wird Jumper JP1 geschlossen. Wenn nach dem Reset GPO0 ein low Pegel aufweist, geht das ESP8266-Modul in Programmiermodus.
Für das Laden des Programms wird ein USB-RS232-TTL Adapter benötigt. Am einfachsten ist es einen mit 3,3V Ausgängen zu benutzen.
Einfach zum Steckerleiste J2 anschließen TX zu TX, RX zu RX und GND.

Man kann auch USB-RS232-TTL 5V Version nutzen allerdings TX soll über 1K wiederstand geschaltet werden. Ich habemomentan USB -Seriell mit FT232 Chip mit 5 V.

Firmware  oder eigene Programme laden

Für das Flashen des ESP8266-Programms habe ich 2 Tools gefunden. XTCOM_UTIL.exe und esptool.exe

Esptool

Esptool wird mit Kommandozeilenparameter gestartet. Ich mache das mit einer BAT-Datei.
esptool.exe -cp COM5 -ca 0x00000 -cf WebSchalter2.cpp_00000.bin -ca 0x40000 -cf WebSchalter2.cpp_40000.bin
Parameter
-cp COM-Schnittstelle
-ca Startadresse, wo das Programm abgelegt werden soll
-cf BIN-Datei, die programmiert werden soll

Der verwendete Compiler bildet zu jedem Projekt 2 BIN-Dateien(Flash und Rom), die unter Adresse  0x00000 und 0x40000 geflasht werden. Im Beispiel oben werden beide Teile der Firmware Webschalter 2 in einem Durchlauf programmiert. Download Esptool und Web Schalter 1.

XTCOM_UTIL

Für das Laden der Firmware die aus einer Datei besteht, ist es XTCOM_UTIL bequemer zu benutzen. 
Jumper JP1 schlissen, Einschalten.
Programm "XTCOM_UTIL.exe" starten, über Tools-->Config Device den COM-Port und die Baudrate (115200) auswählen und auf Connect klicken. Über API Test-->Flash Image Download das betreffende File auswählen (WebSchalter2.cpp_00000.bin) und Adresse (0x00000) an die das File geschrieben werden soll. um WebSchalter2.cpp_40000.bin zu programmieren muss man ESP8266 resetten. Neu verbinden und  Adresse (0x40000)eintragen. Download Xtcom Util.
Vor dem Laden eigener Programme empfehle ich Version  der gelieferten AT-Firmware zu notieren. Das geht so. RS232-Terminal so einstellen das er die Eingabe mit  „NL“ und „CR“ beendet. Dann das Befehl " AT+GMR" eingeben. Hier ist AT-Firmware um das ESP8266-modul im anfangszustand zu versetzen. Download AT-Firmware AT v0.21 SDK 0.9.5 24.01.2015, AT v0.22 SDK 1.0.0 20.03.2015, AT v0.23 SDK 1.0.1 flash 512k.

Programm "WebSchalter 1" für ESP8266

ESP8266 arbeitet als Server im WLAN Access Point Modus. Beim Server können sich mehrere Wi-Fi Geräte anmelden und den Relais schalten.
Nach dem Anlegen der Versorgungspannung in der Liste der Drahtlosnetzwerke der Handy erscheint WLAN "astral". Denn klicken wir an und geben den passwort"12345678". Danach verbindet sich das Handy mit dem Netz. Jetzt starten wir Internetbrowser und geben in der Adressleiste "192.168.4.1" ein. Es wird eine Webseite mit einem "ON/OFF" Button geladen. Wenn wir das Button betätigen, ändert sich die Farbe des Buttons auf grün und Relais schaltet den Verbraucher ein. Das wiederholtes Betätigen des Buttons schaltet ihn aus.
Sie können die vom ESP8266 generierte Webseite links anschauen. Die Webseite ist mittels iframe in die Homepage angebunden.

Licht


Quellcode "Web Schalter 1.0" für ESP8266

Download das Programm Webschalter 1 als BIN-Datei zum direkten Flashen in ESP8266 Modul.

Arduino und ESP8266

Als nächstes kommt berechtigte Frage. Mit welchem Compiler wurde das Programm kompiliert? Mit Arduino IDE mit ESP8266 Unterstützung

Mann programmiert ESP8266 wie ein Arduino

Arduino IDE und WiFi Bibliothek

IP-Steckdose

Schaltwebserver im Heimnetzwerk  IP-Steckdose

Nach oben
webmaster_x_esp8266-server.de   Gästebuch
1€