ESP32 Einführung:
Was ist ein ESP32?
ESP32 ist ein SoC ("System on a chip") welches anders als z.B. Arduino (bis Rev3) bereits Wi-Fi und Bluetooth eingebaut hat.
Es ist daher insbesondere für IoT-Projekte geeignet.
Entwickelt wurde der ESP32 von Espressif. Die meisten Entwicklungsplatinen die man in Deutschland kaufen kann,
bauen jedoch meist auf den baugleichen Chips von AI-Thinker (z.b. ESP32-S baugleich zum original ESP32) auf.
Arduino-IDE
Ein ESP32 kann "relativ leicht" über die Arduino IDE programmiert werden.
Allerdings ist es notwendig zunächst die IDE mit den notwendigen Informationen über die Boards zu versorgen.
Dafür öffnen wir die Preferences und fügen unter additional boards manager URLs folgenden Link hinzu:
https://dl.espressif.com/dl/package_esp32_index.json
Gleiches vorgehen gilt für ESP8266 Chips oder auch ESP32 LORA-WAN Chips von HELTEC mit folgenden Links:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/releases/download/0.0.7/package_heltec_esp32_index.json
Die Arduino IDE lädt daraufhin die Board Informationen aus den hinterlegten JSON-Dateien herunter.
Beim Upload der Programme ist bei manchen ESP-Chips außerdem zu beachten, dass es einen "Prog-Pin"-geben könnte.
Oft ist das IO-Pin 0. Auf manchen Boards ist hier bereits ein Button integriert. Diesen muss man dann während des Hochladens
gedrückt halten. Ist kein Button vorhanden muss der Pin über ein Jumper-Kabel mit GnD verbunden werden.
Eine weitere Hürde ist, dass einige ESP-Boards keinen USP-Anschluss haben und nur mit einem extra USB zu Seriel Konverter
programmiert werden können. Ein beliebter Chip ist hier der CP2102. Es müssen dafür unbedingt die USB-UART Treiber von
der Silicon Labs Website installiert werden, ansonsten wird das USB-Gerät nicht erkannt.
MAC-Adresse:
Will man einen ESP32 im eigenem Netzwerk nutzen, kann es passieren, dass man dessen MAC-Adresse benötigt,
weil z.B. eine Whitelist auf dem Router hinterlegt wurde.
Dafür kann folgendes kleines Programm genutzt werden. Gleichzeitig kann man damit direkt testen,
ob der Upload auf den ESP32 mittels der Arduino IDE funktioniert.
void setup() {
Serial.begin(115200);
delay(100);
Serial.println();
Serial.print("MAC-Address: ");
Serial.println(WiFi.macAddress());
}
void loop() {
}