ESP8266 - TorstenC/Notizblog GitHub Wiki
Link zum Artilel "Funk-Dimmer mit ESP8266".
Dieser Artikel ist veraltet!
Hier geht es weiter: >>>esp8266.wikia.com<<<

Der ESP8266 ist ein preiswertes Modul mit WLAN-Funktionalität. Es kann 'out-of-the-box' mit einem AT-Befehlssatz über die serielle Schnittstelle (UART) genutzt werden, oder man kann eigene Software in das ESP8266-Modul flashen.
Inzwischen hat sich mit Abstand das neue Modul vom Typ ESP-12E (PDF-Spec) durchgesetzt.
Der AT-Befehlssatz ist für die Programmierung eines Web-Services ein 'Flaschenhals' mit aufwendiger Schnittstelle. Da sich die Schnittstelle darüber hinaus ständig ändert, müsste man im Ersatzteil-Fall man ohnehin in der Lage sein, eine geeignete Firmware in den neuen ESP8366 zu flashen. Hier ein Beispiel aus der Firmware, siehe at_cmd.c Zeile 158:
// uart0_sendStr("no this fun\r\n"); //Relax, it's just a code.
at_backError;
Wenn man also ohnehin Software in den ESP8266 flashen können muss, dann doch gleich die richtige! Fazit:
Womit programmiert man den ESP8266?
Vorab sei gesagt: Es ist aktuell keine IDE mit 'source level debugger' bekannt, wie sie für viele andere IDEs selbstverständlich ist, also mit Tracer, Debugger, Inspektion von Variablen und Registern, …. Seit März 2015 wird an openocd für den lx106 core im ESP8266 gearbeitet, aber noch ist das System fehlerhaft und die Entwicklung scheint eingeschlafen zu sein.
Attraktive Alternativen sind:
| Nr | Bezeichnung (Link) | Dokumentation |
|---|---|---|
| ❶ | Luna-IDE (Mikhail Grigorev) | Neil Kolban, V0.9.5 PDF |
| ❷ | Code::Blocks-IDE | Neil Kolban, V0.9.5 PDF |
| ❸ | LUA (NodeMCU) | Referenzen: ①, ② |
| ❹ | Arduino API und IDE | Arduino, ESP8266, Beispiele |
| ❺ | … | … |
| ❻ | … | … |
| ❼ | … | … |
❶ + ❷ Espressiv SDK
Die Code::Blocks-IDE ist etwas schlanker als die Eclipse-IDE von Mikhail Grigorev. Hier hat man alle Möglichkeiten, die die aktuelle IDE her gibt.
❸ LUA (NodeMCU)
Sehr 'einfach' aber langsamer, benötigt zusätzlich Speicher und die Möglichkeiten sind gegenüber der Espressiv-API eingeschränkt.
❹ Arduino API und IDE
Die Arduino-IDE ist gut dokumentiert, sehr verbreitet und die Arduino-API ist 'in einem Stück' schnell installiert. Der Pfad kann selbst gewählt werden, danach muss man nichts mehr anpassen: Keine Make-Files, keine externen Programm-Pfade, …. Die Beispiele laufen 'out of the box' und lassen sich einfach erweitern. Geschwindigkeit, eingeschränkte Möglichkeiten und Speicherbedarf vergleichbar zu LUA, aber zeitkritische Teile können effizient in C/C++ geschrieben werden.
Todo: Ausprobieren, vergleichen:
-
https://www.mikrocontroller.net/articles/BusAnalyzer#Interfacing_FT2232H_and_STM32F103
-
http://www.esp8266.com/wiki/doku.php?id=setup-windows-compiler-esp8266
-
https://github.com/cnlohr/ws2812esp8266 (the old way)
-
http://hackaday.com/2014/08/05/sniffing-nrf24l01-traffic-with-wireshark/
-
http://www.airspayce.com/mikem/arduino/RadioHead/index.html (RH_NRF24, RH_RF69)
-
http://www.airspayce.com/mikem/arduino/NRF24/ (Vorgänger)
-
http://www.opencore.eesc.usp.br/ricardo/Antena/nrf24l01_tutorial_4.pdf (ARC4/NRF)
-
https://tls.mbed.org/source-code (TLS-Libs)