Prof. J. Walter - Informationstechnik, Mikrocomputertechnik, Digitale Medien Konzeptentwicklung
Hochschule Karlsruhe Logo Informationstechnik
MixHit ESP32 3
Wintersemester 2017/18
Martin Hoffmann

Patrick Suing

Konzeptentwicklung

Objektorientierung

Abb.: Übersicht Objekte / Klassen (nicht vollständig)

testaufbau
Abb.: Testaufbau MixHit ESP32 Steuerung

Das Testen des neuen Sourcecodes mit den neu programmierten Klassen erfolgt anhand des Testaufbaus. Die Inbetriebnahme erfolgt hierbei Stück für Stück. Dabei werden die einzelnen Hardware-Komponenten einzeln angesteuert wie z.B. Display-Ausgabe oder Motor drehen.

Einrichten der Entwicklungsumgebung für den ESP32

Quelle dieser Anleitung ist die Website:

https://github.com/espressif/arduino-esp32#installation-instructions

und die Ausgabe 22 der Zeitschrift c't vom 14.10.17. Ein Link zu den Inforamtionen aus der Zeitschrift:

c't Link

Anleitung für Windows:
Für die Programmierung des ESP32 kann die integrierte Entwicklungsumgebung (IDE) von Arduino genommen werden. Hierfür läd man die aktuellste Version auf der Arduino Website (Arduino.cc) herunter. Danach installiert man die IDE und startet das Programm einmal um es dann gleich wieder zu beenden. Dieser Schritt ist notwendig damit die benötigten Ordner angelegt werden. Nun fehlen noch einige Libraries und Treiber für den ESP32. Dafür läd man sich das Programm Git (git-scm.com) herunter und installiert es. Nach erfolgreicher Installation startet man das Programm "Git GUI" und wählt den Menüpunkt "Cloning Existing Repository". Als Quelle "Source Location" wird die Adresse des Git-Repositories eingetragen: https://github.com/espressif/arduino-esp32.git
Als Ziel "Target Directory" wird das Verzeichnis:
C:/Users/[BENUTZERNAME]/Dokumente/Arduino/hardware/espressif/esp32
angegeben, solange keine anderen Einstellungen in der Arduino IDE vorgenommen wurden.
Nun startet man den Download mit einem Klick auf "Clone". Hierbei wird der "Arduino Core for ESP32" heruntergeladen.
Ist dieser Vorgang abgeschlossen wechselt man in das Verzeichnis
C:/Users/[BENUTZERNAME]/Dokumente/Arduino/hardware/espressif/esp32/tools
und führt dort das Programm "get.exe" aus. Dadurch wird der Compiler für den ESP32 herunter geladen.
Anschließend verbindet man das ESP32-Board per USB-Kabel mit dem PC und es werden die nötigen Treiber installiert. In der Arduino IDE selber muss dann noch das Richtige Board ausgewählt werden (siehe Abbildung).

Abb.: Auswahl Board ESP32 Arduino IDE

Anleitung für Linux (Ubuntu):
Zunächst muss hier die aktuellste Version der Arduino IDE manuell installiert werden (bei uns 1.8.5). Die Version aus den Paketquellen ist zu alt und nicht geeignet. Nach dem Download der aktuellsten Version von Arduino.cc wird die Datei entpackt und danach führt man das Skript install.sh aus. Um Zugriff auf die serielle Schnittstelle muss der aktuelle Benutzer Mitglied der Gruppe "dialout" werden. Dies geschieht über die Konsole mit dem Befehl:

>sudo usermod -a -G dialout $USER
($USER ist hier der Benutzername)

Weiterhin werden zum Flashen der Software auf den ESP32 einige Python-Skripte benötigt. Das benötigte Python-Modul wird über den Befehl:

>sudo apt install git python-serial

installiert.

Danch muss das Verzeichnis "~/Arduino/hardware/espressif" erstellt werden. Dies kann über den Befehl:

>mkdir -p ~/Arduino/hardware/espressif

realisiert werden.

Ins erstellte Verzeichnis wechseln:

>cd ~/Arduino/hardware/espressif

und folgenden Befehl ausführen:

>git clone https://github.com/espressif/arduino-esp32.git esp32

Dies läd den "Arduino Core for ESP32" herunter. Danach wechselt man in das Verzeichnis esp32/tools:

>cd ~/Arduino/hardware/espressif/esp32/tools

und führt den Befehl:

>python get.py

aus. Dies läd den Compiler herunter. Anschließend einmal ab- und wieder anmelden um Zugriff auf die serielle Schnittstelle zu kriegen. Nun taucht der ESP32 in der Boardverwaltung der Arduino IDE auf.

Acces Point ESP32

Des Weiteren ist es gelungen einen Acces Point mithilfe des ESP32 einzurichten. Dieser wird benötigt um einen Webserver aufzusetzen über den die Bestellung vorgenommen wird.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

17
18
#include <WiFi.h>

const char *ssid = "ESP32ap";
const char *password = "12345678";
void setup() {
Serial.begin(115200);
Serial.println();
Serial.print("Configuring access point...");

WiFi.softAP(ssid, password);

IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);


void loop() {
}
 
Abb.: Sourcecode
Abb.: Serielle Ausgabe

Abb.: Screenshot Netzwerk "ESP32ap" verbunden

Konzept Webserver

Abb.: Konzept des Webservers

 



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