Rainer-Rebhan

Die WiFi/WLan Controller ESP 8266

5V kompatible Varianten des ESP8266 WLan (WiFi) Controller

Infos zur Hardware und zur Programmierung mit der Arduino IDE

Viele meiner Projekte zur Hausautomatisierung verwenden das hausinterne Wlan um Daten z.V. zu stellen. Hierzu wir ein drahtloser Zugang zum Router/WLan benötigt. Mein erster Ansatz für diese Arduino basierenden Projekte war das Ethernet-Shield und ein Ethernet-Wlan Adapter (für Details siehe diese Projekte). Ein für die Harware deutlich einfacheren und preislich auch günstigeren Ansatz bieten die Microcontroller der chinesischen Firma ESPRESSIF. Der ESP8266 ist ein Ultra-low-Power-32-Bit-Mikrocontroller mit einem integrierten WLAN IEEE 802.11 b/g/n. Um diesen Controller für eine WLan-Verbindung im eigenen (Arduino) Projekt verwenden zu können wird z.B. ein Shield benötigt das möglichst einfach einzusetzen ist. In vielen Fällen wird nur der Controller (mit Antenne) in den verschieden Versionen (Pin-Anzahl) als kleines LP-Board angeboten. Diese Boards sind jedoch nicht 5V tolerant und deshalb für den direkten Einsatz am Arduino nicht geeignet. Es wird ein 5V tolerantes ESP-Modul benötigt, das direkt auf einen Arduino UNO oder MEGA aufgestekt oder angeschlossen werden kann. Ich habe einige ESP8266 Module bzw. Adapter für 5V gefunden die ich hier vorstellen möchte.

Hinweis zur Programmierung

Grundsätzlich sind diese WiFi-Controller geeignet eine eigene anwendungsspezifische Firmware zu laden - zu flashen. Der Controller hat einige Ein-und Ausgänge - Digital und Analog - die bei den verschiedenen Varianten des ESP unterschiedlich genutzt werden könnten. Zum Programmieren kann der Controller in einen speziellen Flash-Modus gesetzt werden - dies ist jedoch nur über eine Hardware-Umschaltung möglich. Einmal im Flash-Mode kann man das Programm auch über die Arduino-IDE laden. Die direkte Programmierung des 8266 wird jedoch auf dieser Seite nicht behandelt. Dier ESP hat eine umfangreiche AT-Commando-Firmware die über einen seriellen Port (Hardware oder Software) angesprochen wird.

1. WiFi Shield mit ESP8266 (V12E)

Das arduinokompatible Shield mit der genauen Bezeichung - ESP8266 Shield ESP-12E UART WIFI Wireless Shield for Arduino UNO R3 MEGA - ist sehr preisgünstig und enthält neben dem Spannungswandler auf 3,3V und dem UART-Pegelwandler noch die Zusatzhardware zum programmieren des 8266. Das Shield kann direkt auf einen Arduino UNO oder MEGA aufgesteckt werden. Die vorh. Ports und Anschlüsse werden durchgesteckt. Zu beachten sind die Schalterstellungen des (roten) DIP Schalters auf dem Shield.
DIP Schalter Bei der Verwendung auf einem UNO / MEGA wird der UART Anschluß RX0 + TX0 durch die DIP-Schalter 1 +2 belegt bzw. blockiert. D.h. zur Pogrammierung ( + Debug-Monitor) müssen die DIP-Schalter 1 + 2 auf OFF stehen. Zum Ansprechen die ESP8266 müssen diese Schalter dann auf ON stehen. Das ist umständlich - bei Verwendung eines UNO erst einmal nicht zu ändern (-> siehe Software Serial) Bei der Verwendung eines MEGA kann man die UART-Shield Anschlüsse RX+TX auf den MEGA UART #3 umlenken. Hierzu ist etwas Lötarbeit notwendig. Ein Anleitung zum Umbau finden sie hier: WiFI 8266 Shield für den Arduino UNO + MEGA (pdf). Dieser Umbau ist nicht aufwendig und lohnt bei der Verwendung eines Arduino MEGA.

2. WiFi Shield mit dem ATK-ESP8266 Board

Dieses Shield muss man selbst bauen - aber die Hardware ist sehr einfach, es gibt (zunächst) keine Programmier-Umschaltung, man hat aber die Möglichkeit eine kleine Zusatzhardware auf dem Shield unterzubringen. Dies ist für viele Projekte ein Vorteil. Für das eigentliche WLan-Schild wird ein spezielles ATK-ESP8266-Board, ein Prototype-Board und einige Steckerleisten benötigt. Das Board ATK-ESP8266 von UCTRONICS(*) (ESP8266 UART to WIFI STA / AP/ STA+AP Mode Wireless Module STM32 Driver) ist ein 5V tolerantes Board mit 6 Anschlüsse für +5V, GND, TXD, RXD und RST und GPO0 für eine Mode-Umschaltung zum Flashen Das Prototype Board hat UNO-Format. Die Steckerleisten verbinden alle vorhanden Anschlüsse auf das Proto-Board. Für die Verwendung auf einem UNO kann man den ESP-UART auf andere Digitale-Ein-Ausgänge über die Software-Serial-Library legen. Für die Verwendung auf einem MEGA kann eine Steckerleiste so verlängert werden, dass 2 Pins in den UART#3 des MEGA passen. Es sind nur 4 Leitungen zu legen - +5V und GND und die UART -Anschlüsse RX + TX vom ATK-Board zum einem Software-UART auf dem UNO bzw. beim MEGA auf UART#3. Genauere Hinweise finden sie in der oben stehenden PDF. (*) Fotos und weitere Infos von www.uctronics.com

weitere Module und Adapter für den ESP8266 mit Arduino-Sketch für die ESPs weiter

nach oben zurueck weiter