Großer Bruder: Espressif ESP32

Seite 2: Plug-in für die Arduino IDE

Inhaltsverzeichnis

Die vielen Möglichkeiten des neuen Chips müssen natürlich auch per Programmcode in die Realität umgesetzt werden. Während bei dem ESP8266 knapp ein Jahr verging, bis die beliebte Arduino IDE zumindest rudimentär den Mikrocontroller unterstützte, ist diesmal bereits parallel zur Beta-Phase ein Github-Projekt zur Integrationdes EPS32 in die Arduino IDE entstanden, das erste Funktionen über die einfach zu bedienende Oberfläche unterstützt.

Für die Integration in die Arduino IDE sind zur Zeit folgende Schritte notwendig:

  • Zunächst muss man sich die ESP-Toolchain für das entsprechende Betriebssystem herunterladen, die später für die Integration in die Arduino IDE gebraucht wird (alle nachfolgenden Links für die Downloads im Github-Repository)
  • Für Windows ist mit cygwin zusätzlich noch eine Linux-ähnliche Umgebung erforderlich, die man downloaden und gleich installieren kann.
  • Danach muss man sich – falls noch nicht vorhanden – eine aktuelle Version der Arduino IDE installieren, die man auf der Webseite von Arduino LLC im Bereich Download findet.
  • Nun lädt man sich auf der Github Projektseite das Respository herunter (grüner Button: Clone or Download/Download ZIP).
  • Das ganze entpackt man und wechselt in das Arduino-Verzeichnis (in Windows etwa: \Program Files (x86)\Arduino\hardware) erstellt dort ein neues Verzeichnis espressif, wechselt in das Verzeichnis und kopiert anschließend die entpackten Dateien hinein.

Neues Verzeichnis für das Repository

Die Schritte funktionieren unter Linux analog. Hier kann man mit dem Befehl git clone https://github.com/me-no-dev/ESP31B.git das Repository auch direkt in das Verzeichnis /hardware/espressif im Arduino-Stammverzeichnis kopieren.

  • Zusätzlich wird noch Python in der Version 2.7 benötigt, das man je nach Betriebssystem über die Installationsmanager installiert, beziehungsweise für Windows heruntergeladen und installiert werden kann.
  • Wichtig: Python2.7 muss in die PATH-Variable des jeweiligen Betriebssystems eingefügt werden. Dies geschieht bei Windows über Einstellungen/System/Systeminfo/Erweiterte Systemeinstellungen. Dort klickt man auf dem Reiter Erweitert auf die Schaltfläche Umgebungsvariablen und bearbeitet dann bei Systemvariablen die Path-Variable.

Anpassung der Variable PATH für die Python-Installation unter Windows
  • Als letztes muss noch die extrahierte Toolchain in das Arduino-Verzeichnis unter hardware/espressif/ESP31B/tools directory kopiert werden.

Verzeichnis mit der Toolchain
  • Hat man die Arduino IDE noch geöffnet, muss man sie beenden und neu starten. Die neuen Boards sind dann unter Werkzeuge/Board/Boardverwalter in die Auswahl integriert.

Github-Repository klonen und schon ist der ESP32 (beziehungsweise die Beta-Version 31B) in die Arduino IDE integriert.

Prinzipiell ist der ESP32 seriell und Over-the-Air (OTA) programmierbar. Over-the-Air lassen sich Firmware-Updates ohne direkte PC-Anbindung per WLANauf das Modul aufspielen. Dafür wird der Flash-Speicher so aufgeteilt, dass bei einem Fehler der vorherige Code erhalten bleibt. Zusätzlich steht ein bisher undokumentiertes JTAG-Interface zur Verfügung.

Espressif nutzt das Realtime Operating System "freeRTOS" mit einem "Lightweight IP" Stack "LwIP". Neben der Arduino IDE existiert mit "UnofficialDevelopment Kit for Espressif ESP32 (Windows toolchain)" ein weiteres Projekt, das die quelloffene Eclipse IDE, die auf verschiedenen Plattformen nutzbar ist, komfortabel in einer Windows-Umgebung mit dem ESP32 SDK aufsetzt. Der Entwickler des Projekts hat diese Umgebung bereits auch für den ESP8266 angepasst. So kann man in Eclipse C-Programme schreiben, testen und übertragen und direkt auf die zahlreichen Funktionen der ESP32 APIs zugreifen. Damit bieten sich deutlich mehr Möglichkeiten als mit der doch recht eingeschränkten Arduino IDE. Wer sich auf der Kommandozeile zuhause fühlt, kann sich die Toolchain natürlich auch unter Linux selbst zusammenstellen. Eine sehr ausführliche Anleitung dazu und was man an Software benötigt, findet man im Espressif ESP32 SDK Github-Repository.