ESP8266 und Arduino IDE
An der Verbreitung des ESP8266 hat sicher auch einen Anteil, dass er einfach über die Arduino-IDE programmiert werden kann. Damit war die Eingangshürde für viele Entwickler und Bastler auf Basis des Arduino sehr niedrig. Seit vielen Jahren ist die Arduino-IDE quasi ein Standard für kleine hardwarenahe Projekte. Seit der IDE 1.6.4 ist es einfach möglich, Arduino-fremde Boards einfach zu integrieren. Die Arduino-IDE ist dann weiterhin die "Entwicklungsplattform", während im Hintergrund dann ein anderer Compiler den Code übersetzt und auf das entsprechende Board herunter lädt.
Arduino IDE?
Also vor vielen Jahren in Italien die Arduino Plattform das Licht der Welt erblickte, war sie aus meiner Sicht auf aufgrund der Entwicklungsumgebung sehr schnell erfolgreich. Der Einstieg war schnell und einfach möglich. Niemand musste direkt Code für ATMEL-CPUs schreiben. Das Arduino Studio hat die Entwicklung stark vereinfacht. Die Umgebung kann aber auch für anderen Boards erweitert werden und über den Weg hat ExpressIF auch ihre eigenen Boards integrieren können.
- Using Arduino IDE
https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/sing-arduino-ide - Arduino IDE für ESP8266
https://GitHub.com/esp8266/Arduino - Using Arduino IDE
https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/using-arduino-ide - Adding Third Party Boards to the Arduino
v1.6.4+ IDE
https://learn.adafruit.com/add-boards-arduino-v164/overview - Arduino IDE mit dem ESP8266
http://arduino-hannover.de/2015/04/08/arduino-ide-mit-dem-esp8266/ - URL für ESP8266 Add-ons
http://arduino.esp8266.com/package_esp8266com_index.json.
Diese muss in den Arduino Preferences addiert werden. Dann kann über den Board-Manager das "ESP8266 Modul addiert werden.
Es gibt natürlich noch andere Entwicklungsumgebungen.
- MY ESPRESSIF DEVKIT für WINDOWS + ECLIPSE IDE
http://www.esp8266.com/viewtopic.php?t=820
Das ist natürlich eine Steilvorlage, um auf Basis des ESP8266 ohne zusätzlichen Mikroprozessor eigene Projekte zu starten.
- Steuerung per Web mit
ESP8266 WiFi Modul. Steuern und
schalten über WLan und Internet.
http://esp8266-server.de/ - Arduino-IDE revision 1.6.6
Wenn der Fehler "Board generic (platform esp8266, package esp8266) is unknown" auftritt. hilft es das Verzeichnis %UserPROFILE%\AppData\Local\Arduino15
https://esp8266hints.wordpress.com/2015/12/03/arduino-ide-revision-1-6-6/
https://esp8266hints.wordpress.com/category/arduino-ide/ - Guide to PROGMEM on ESP8266
and Arduino IDE
http://arduino-esp8266.readthedocs.io/en/latest/PROGMEM.html
ESP8266 Arduino IDE HowTo
hhttps://www.youtube.com/watch?v=-aZU8YqHlHw
ESP Boards in ArduinoIDE einbinden
Nach dem Start der ArduinoIDE kommen Sie über "File - Preferences" an den Dialog in der sie die folgende URL bei "Additional Boardmanager" addieren:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
Über "Tool - Boardmanger" werden dann die verfügbaren Plattform angezeigt. Eine davon ist dann ESP8266
Hier ist zu sehen, dass die Komponente schon installiert ist. Danach erscheinen die ESP8266-Boards zur Auswahl.
Es ist vieleicht nur nicht immer einfach das richtige Board bei den OEM/Nachbau-Boards zu finden.
#04 ESP8266 unter Arduino installieren und
testen (Schweizerdeutsch)
https://www.youtube.com/watch?v=0Lho9tLyh8E
ESP8288 Pins und Arduino IDE
NodeMCU und andere ESP8266 haben natürlich digitale Ports. Leider ist die Nummerierung bzw. Bezeichnung der Ports von Arduino abweichend. Folgende Tabelle habe sich mich gemerkt:
Beispielbild | NodeMCU Port | ArduinoIDE |
---|---|---|
|
D0 |
GPIO 16 |
D1 |
GPIO 5 |
|
D2 |
GPIO 4 |
|
D3 |
GPIO 0 |
|
D4 |
GPIO 2 |
|
D5 |
GPIO 14 |
|
D6 |
GPIO 12 |
|
D7 |
GPIO 13 |
|
D8 |
GPIO 15 |
Da ich aber fast gar nicht mehr mit Arduino arbeite, habe ich mir eine entsprechende Übersetzungstabelle als "define" addiert, die ich dann im Code einfach referenziere.
// DigitalPorts #define PortD0 = 16 #define PortD1 = 5 #define PortD2 = 4 #define PortD3 = 0 #define PortD4 = 2 #define PortD5 = 14 #define PortD6 = 12 #define PortD7 = 13 #define PortD8 = 15
So kann ich im weiteren Code einfach "PortD0" verwenden, wenn ich den NodeMCU-Port 0 referenziere.
PlatformIO - alternative IDE für Arduino und Co
Aktuell nutze ich die Arduino IDE oder alternativ Notepad++ und NodeMCU. Aber auch mit Platformio steht eine alternative IDE für all diese Kleincomputer zur Verfügung
- PlatformIO
http://platformio.org