Ich möchte für mich dokumentieren wie das ganze so grob funktioniert, und vielleicht hilft es anderen auch dabei.

„Der ESP32 ist eine kostengünstige und mit geringem Leistungsbedarf ausgeführte 32-Bit-Mikrocontrollerfamilie der chinesischen Firma Espressif, die im Jahr 2016 vorgestellt wurde. Die Mikrocontroller ermöglichen durch ihre offene Bauweise den Aufbau und die Vernetzung von netzwerkbasierten Aktuatoren und Sensoren.

Wikipedia

„Arduino ist eine aus Soft- und Hardware bestehende Physical-Computing-Plattform. Beide Komponenten sind quelloffen. Die Hardware besteht aus einem einfachen E/A-Board mit einem Mikrocontroller und analogen und digitalen Ein- und Ausgängen.

Wikipedia


Bisher hatte ich nur mit Swift und Xcode kleinere Sachen programmiert, und bei Arduino benutzt man C/C++. Von daher waren die Beispiele die in Arduino zu finden sind ganz hilfreich um erstmal zu schauen wie das ganze aufgebaut ist.
Ein solches Beispiel war das BasicOTA (over the Air), bei dem man dem ESP32 Wlan und das flashen über Wlan beibringt.

Das BasicOTA mach ich als als Standart mit auf den ESP32 weil man so auch einfach beim verbauten (z.B im Forrest Habitat) einfach über Wlan Änderungen am Code machen kann.

Im BasicOTA muss man dann noch das Wlan eintragen unter:
const char* ssid = „den Wlan Namen“
const char* password = „das Passwort“

Und dem ESP32 einen Namen geben:
In dem BasicOTA gibt es im void setup() ein paar Zeilen die mit // auskommentiert sind unter denen ist auch
ArduinoOTA.setHostname(„steffiesp32“);
zu finden in die „“ kann man dem ESP32 einen Namen geben, der dann auch als Port in den Netzwerk-Schnittstellen angezeigt wird.

Ich mach dann immer ganz gerne noch eine LED an den ESP32 um zu schauen ob das ganze auch geht und lass die blinken.

Dazu muss man die LED mit einem Pin verbinden.
Man braucht auch einen Vorwiderstand mit 220-330Ω, weil die LED sonst so viel Strom zieht wie verfügbar ist, aber den Strom nicht selbst begrenzen kann, und dann Überhitzen würde.
Also verbinde ich den Widerstand mit dem Pin 16, und das lange Beinchen der LED mit dem Pin, weil vom langen Beinchen(Anode +) in das kurze Beinchen (Kathode -) der Strom fliest.
An das kurze Beinchen der LED muss noch die Masse (GND) verbunden werden.
Man muss darauf achten welche Pins benutzt werden weil sie verschiedene Funktionen haben. Unter https://randomnerdtutorials.com/esp32-pinout-reference-gpios/ gibt es eine gute Übersicht.
Wir benutzen am besten die Pins die Input und Output können und nicht noch andere Eigenschaften haben. (4, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23, 25, 26, 27, 32, 33)


Und jetzt muss man natürlich noch im Arduino die LED blinken lassen.
Als erstes muss man die Pin der LED zuordnen.
Unter dem Wlan Namen/Passwort fügen wir eine weitere konstante hinzu
const int grueneLED = 16;
damit sagen wir das der Pin 16 die gruene LED ist.
Und im void setup() kommt noch ein
pinMode (grueneLED, OUTPUT);
rein um den Digitalpin 16 als Outputpin zu setzen.
Zu guter Letzt sagen wir im Loop noch was mit der LED passieren soll:
Also kommt ins void loop()
digitalWrite (grueneLED, HIGH);
delay(500);
digitalWrite (grueneLED, LOW);
delay(500);

damit schalten wir die LED auf AN warten 500ms und dann auf AUS und warten wieder 500ms und schon blinkt unsere LED.