ESP-12E (ESP8266)

ESP-12E (ESP8266)

Merkmale

WLAN-Protokoll: 802.11 b/g/n
WLAN Frequenz-Bereiche: 2,412 GHz bis 2,484 GHz
Schnittstellen: I²C, I²S, SPI, UART
GPIOs 17x
PWM 4x
ADC 1x (10bit)
Betriebsspannung: 3V bis 3,6V
Stromaufnahme ~80 mA
MAx. Stromaufnahme pro Pin: 15 mA
Netzwerk-Protokolle: IPv4, TCP / UDP / FTP / HTTP
Verschlüsselungstypen: WEP64 / WEP128 / TKIP / AES
Sicherheit: WEP / WPA-PSK / WPA2-PSK

Anschlüsse

Anschlüsse des ESP-12E
Abb.: Anschlüsse des ESP-12E

Verwendete Bauteile

Leider ist der Abstand der Pins nicht mit dem gewöhnlichen Lochraster-Abstand kompatibel und passt somit auch nicht in das Breadboard. Aus Stiftleisten lassen sich nur schwer daran befestigen. Dafür gibt es eine Adapterplatine, auf diese der ESP-12E gelötet werden kann und dann leicht mit dem Breadboard verbunden wird.

Breadboard-Adapter für den ESP-12E
Abb.: Breadboard-Adapter für den ESP-12E

Programmierung mit der Arduino-IDE

Um das ESP-12E mit der Arduino-IDE programmieren zu können, benötigt man einen USB-TTL-Adapter, z.B. den FT232RL. Da der ESP-12E nur mit 3,3V arbeitet, muss der entsprechende Jumper auf dem FT232RL zuvor geändert werden:

Spannung des FT232RL-Programmers auf 3,3V setzen
Abb.: Spannung des FT232RL-Programmers auf 3,3V setzen

Nun wird der ESP-12E und der FT232RL folgendermaßen verbunden:

FT232RL ESP12-E
VCC VCC
VCC GPIO_2
CTS / RTS CH_PD / CH_PC
DTR GPIO_0
GND GND
GND GPIO_15
TX RX
RX TX

Wenn GPIO_0 direkt mit GND verbunden wird, dann befindet sich der ESP-12E ebenfalls im Programmier-Modus. Allerdings muss nach der Programmierung GPIO_0 wieder von GND entfernt werden.

Arduino-IDE vorbereiten

Um Sketches mit der Arduino-IDE für den ESP-12E kompilieren und hochladen zu können, müssen zunächst einige Vorbereitungen getroffen werden. Man fügt unter "Voreinstellungen → Zusätzliche Boardverwalter-URLs" folgende URL hinzu: http://arduino.esp8266.com/stable/package_esp8266com_index.json.
Falls schon eine andere URL in diesem Feld steht, kann diese mit einem Komma separiert werden.
Dann muss das ESP-12E Board hinzugefügt werden. Dazu geht man unter "Werkzeuge → Boards → Boardverwalter": Hier sucht man nach "esp8266" und installiert dann "esp8266 by ESP8266 Commnunity".
(siehe auch: Arduino core for ESP8266 WiFi chip)

Im Menu "Werkzeuge → Board:" sollte nun das Board "NudeMCU 1.0 (ESP-12E Module)" ausgewählt werden. Es gibt hier eine Menge Optionen, jedoch habe ich die voreingestellten Werte beibehalten und die Programmierung funktionierte ohne Probleme:

ESP-12E im Board-Manager der Arduino-IDE auswählen
Abb.: ESP-12E im Board-Manager der Arduino-IDE auswählen

Nun kann der FT232RL-Programmer an den USB-Port des PC angesteckt werden und man wählt nun den Port aus im Menu "Werkzeuge → Port:".
Falls unter Windows der COM Port nicht wählbar ist, muss noch zusätzlich die USB to UART Bridge installiert werden.

Test mit Blink-Sketch

Schaltplan

Sobald der ESP-12E programmiert wurde, sind die Anschlüsse für den FTDI nicht mehr notwendig, sondern es gilt der folgende Schaltplan:

Schaltplan mit LED

Sketch

Es wird als erster Test der übliche Blink-Sketch verwendet, wobei hier GPIO_5 mit einer LED mit Vorwiderstand verbunden wird.

#define PIN_LED 5

void setup()
{
    pinMode(PIN_LED, OUTPUT);
}

void loop()
{
    digitalWrite(PIN_LED, !digitalRead(PIN_LED));
    delay(250);
}

Nun können auch andere Programme wie, schon in vorherigen Beiträge beschrieben, programmiert werden, z.B.:

zurück