Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Quellcode
Hochschule Karlsruhe Logo Informationstechnik
Drehteller Revisited
Wintersemester 2017/18
Nico (beni1015)
Tobias (hato1024)

Quellcode

An dieser Stelle ist dokumentiert, welche Schritte notwendig sind, um den ESP32 in der aufgebauten Konfiguration mit dem funktionierenden Programm für den Drehteller zu flashen. Wir empfehlen, diese Schritte am Anfang auf jeden Fall durchzuführen.

1. Arduino-IDE installieren
Die Software von der Seite https://www.arduino.cc/en/main/software herunterladen und installieren (gibt es auch als portable Version). Danach zuerst unter "Voreinstellungen" den Sketchbook-Speicherort festlegen. In unserem Fall heißt dieser Ordner "arduino-sketchbook". Hier liegen immer (!) die Projekte, wobei jedes Projekt einen eigenen Ordner erhält mit gleichem Namen wie die darin liegende Hauptdatei (die *.ino). Zusätzlich gibt es im Ordner eine Datei für weitere Libraries ("libraries") und zusätzliche Hardware ("hardware").

2. Quellcode für den Drehteller und die benötigten libraries importieren
Dies geht sehr einfach, da wir schon alles in eine zip-Datei gepackt haben (Download). Die Datei entpacken und den Inhalt an die richtige Stelle kopieren (siehe Hinweise zum arduino-sketchbook unter 1.). Die Links zu den Libraries befinden sich für spätere Aktualisierungen in der readme.txt.

3. ESP32-Core für Arduino installieren
Hierzu verweisen wir auf die Anleitungen unter https://github.com/espressif/arduino-esp32. Wichtig ist, dass am Ende im genannten Ordner "hardware" die entsprechenden Dateien liegen.

4. Arduino für ESP32 konfigurieren
Unter "Board" das "ESP32 Dev Module" auswählen und folgende Einstellungen wählen:


Abb.: Screenshot aus ArduinoIDE

Eventuell den Upload Speed zunächst auf "115200" einstellen, später sollte es aber so gehen. Unter Port die serielle Schnittstelle zum angeschlossenen ESP32 wählen (hier nicht angeschlossen, deshalb ausgegraut).

5. Umgang mit Spiffs auf dem ESP32
Dazu haben wir ebenfalls eine zip-Datei gepackt (Download). Deren Inhalt an einer beliebigen Stelle ablegen und die Anweisungen in der enthaltenen readme.txt befolgen. Sie enhält im Ordner "dat" die für das Drehtellerprogramm enthaltenen Web-Dateien - nämlich die index.html und zwei darin verwendete Javascript-Dateien; alle drei auch als gzip (hierfür eigent sich z. B. das Tool "7-ZIP") - sowie zwei Programme. "mkspiffs" zum Erstellen eines Spiffs-Image (aus den Datein in "dat") und "esptool" zum flashen des ESP32. Letzteres ist nur der Bequemlichkeit halber erneut an diese Stelle kopiert worden, damit man die Befehle alle hintereinander in der gleichen Konsole ausführen kann. Das Vorgehen wird in der zusätzlichen readme.txt beschrieben. Hierzu bitte noch den nächsten Punkt beachten.

6. Spiffs nach "erase_flash"
Wenn man den ESP32 mit erase_flash komplett zurückgesetzt hat, muss man danach Spiffs erst einmal "anlegen". Dazu empfehlen wir einfach das Beispiel "SPIFFS_Test" in ArduinoIDE aufzurufen und an diese Stelle zu gehen:


Abb.: Ausschnitt aus Spiffs-Beispiel

Hier bitte die Änderung zu "SPIFFS.begin(true)" durchführen und das Programm flashen. Wenn Spiffs dann funktioniert, sollte das "true" wieder entfernt werden. So ist dies auch in der "DrehtellerESP32.ino".

7. DrehtellerESP32 flashen
Jetzt sollte das Spiffs-image bereits übertragen und alle Vorkehrungen getroffen sein, damit man die "DrehtellerESP32.ino" in ArduinoIDE öffnen, kompillieren und flashen kann. Wir hoffen alles klappt reibungslos.

8. Drehteller ausprobieren
Siehe Bedienungsanleitung.

9. Visual Studio
Die ArduinoIDE ist zwar sehr übersichtlich und reicht für einfache Programme, hat für komplexere Aufgaben aber zu wenig Funktionalität. Deshalb empfehlen wir nach einer Einarbeitungsphase den Übergang zu Visual Studio mit Hilfe des Plugins Visual Micro (http://www.visualmicro.com/). Achtung: ArduinoIDE wird trotzdem weiterhin benötigt! Visual Micro "verknüpft" die beiden Programme lediglich.

10. Github
Wenn noch nicht geschehen, empfehlen wir zudem die Einarbeitung in die Software Development Platform GitHub (https://github.com/). Wenn man weiß, wie dieses System funktioniert, kann man sich eventuell viel Zeit sparen...


  Mit Unterstützung von Prof. J. Walter Wintersemester 2017/18