HowTo: ESP8266 E-12E

Datenblatt zum ESP8266 E-12E bzw. ESP12E

Setup-Anleitung

Benötigt:

  • Pinout, siehe Bilder unten
  • 2x 1k Ohm Wiederstand
  • 3.3V Quelle (stabil)
  • USB-to-Serial Modul
  • Breadboard

Verbindungen:

  • Alles wie auf dem Datenblatt ausser:
  • REST frei, zum Triggern auf GND
  • GPIO0 nicht anschliessen

Verbindung aufbauen

  1. USB <=> Seriell am PC anschliessen

  2. mit picocom verbinden:

LANG=C picocom --baud 115200 --omap crcrlf /dev/ttyUSB0

  1. Zum Starten oder Resetten muss der REST nach GROUND gezogen und dann losgelassen werden.

Bilder vom Assemblieren

1 „Gefällt mir“

Bei dieser Variante des Boards heisst der CH_PD == EN

Zweite Lötung mit neuem Gerät auf Breadboard gesteckt:

Cool. Konntest du den Chip schon flashen?

Noch nicht. Ich denke ich verbinde es Mal mit dem Internet:

Ich habe LoLin Module erstanden, welche ich mit NodeMCU-Firmware flashen werde.

Verbinden

Die Module starten ab Werk nicht automatisch. Nachdem ich eines angeschlossen hatte musste ich es mit einem kurzen druck auf den Reset-Knopf starten.

Als erstes sollte man die Module testen:

LANG=C picocom --baud 115200 --omap crcrlf /dev/ttyUSB0

Dann die üblichen ESP Befehle:

AT
AT+RST
AT+GMR
AT+CWMODE=3
AT+CWLAP

Vorbereitungen zum Flashen

Meine Arbeitsumgebung ist ein Arch Linux.
Um auf die seriellen Schnittstellen ohne root zugreifen zu können muss mein Benutzer in folgenden Gruppen sein:

  • uupc
  • lock

Wer sich nicht sicher ist kann das kurz mit dem Befehl groups überprüfen.

Vom System her brauchen wir folgende Pakete:

  • git
  • python2-pyserial
  • python-pip
  • python2-pip

Die letzten beiden brauchen wir um Module nachzuladen, falls eines der Programme sich beschwehrt, leider habe ich bereits einen unüberschaubaren Zoo an Modulen installiert, weshalb ich auf Anregungen angewiesen bin, welche Module, wenn überhaupt, noch fehlen.

Dann brauchen wir folgende Programme:

git clone https://github.com/themadinventor/esptool.git
git clone https://github.com/kmpm/nodemcu-uploader.git

Beide brauchen python2, welches aber in den Skripts nicht explizit angegeben ist.
Ich habe die #!/usr/bin/env python bzw. #!/usr/bin/python Einträge jeweils mit einer 2 ergäntzt.


Flashen

Zum Flashen brauchen wir noch eine neue Firmware.
Der einfachste Weg ist sich am Anfang eine von nodemcu-build.com (leider ohne TLS) bauen zu lassen.

./esptool.py -p /dev/ttyUSB0 write_flash 0x00000 ../nodemcu-master-20-modules-2016-03-19-21-53-24-float.bin

Anzeigen der vorhanden Dateien

python2 nodemcu-uploader/nodemcu-uploader.py file list

Spielen in der interaktiven Konsole

python2 nodemcu-uploader/nodemcu-uploader.py terminal

Leider ist das automtatische Echo nicht implementiert.
Wenn man einen Rückgabewert sehen will muss man in immer mit print(...) anzeigen lassen.

Lua Skript hochladen

Als erstes wird immer ein Skript namens init.lua ausgeführt.

python2 nodemcu-uploader/nodemcu-uploader.py upload init.lua

1 „Gefällt mir“

Hier noch die Datasheets


1 „Gefällt mir“

Nützlicher Hinweis aus dem FastLED Repo:

The ESP8266 is a limited platform in some ways. 
While, on paper, it has 17 GPIO pins, in reality, 6 of these are blocked off from use. 
GPIO6, GPIO7, GPIO8, GPIO9, GPIO10, and GPIO11 are all unavailable to you. 
These pins are not defined at all for FASTLED_ESP8266_RAW_PIN_ORDER, 
and the NodeMCU pin ordering already excludes these 6 pins from its list of available pins.

In addition, if you are using Serial input/output at all, 
attempting to use GPIO1 for leds will cause the device to reset.

Wusstest du das noch nicht? :slight_smile: War das der Grund für die Probleme gestern?