#include // WLAN-Funktion für ESP32 #include // I2C Kommunikation (für OLED) #include // Grafik-Basisbibliothek (Text, Linien) #include // OLED-Treiber (SSD1306 Display) #define SCREEN_WIDTH 128 // OLED Breite in Pixeln #define SCREEN_HEIGHT 64 // OLED Höhe in Pixeln // OLED Display Objekt erstellen Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // WLAN Zugangsdaten const char* ssid = "Galaxy Julian"; const char* password = "0987654321"; // ----------------------------------------------------- // Funktion: zeigt IP-Adresse und WLAN Status an // ----------------------------------------------------- void showIP(String ip) { display.clearDisplay(); // Bildschirm löschen (neuer Frame) display.setTextSize(2); // große Schrift (Achtung: braucht viel Platz) display.setTextColor(SSD1306_WHITE);// Textfarbe: weiß (OLED kennt nur an/aus) // Zeile 1: Status display.setCursor(0, 0); // oben links starten display.println("WLAN OK"); // WLAN verbunden // Zeile 2: Label display.setCursor(0, 28); // etwas nach unten (Abstand wegen großer Schrift) display.println("IP:"); // Zeile 3: IP-Adresse display.setCursor(0, 48); // fast unten im Display display.println(ip); // echte IP vom Router display.display(); // alles auf OLED „anzeigen“ (Buffer → Screen) } // ----------------------------------------------------- // Setup: läuft EINMAL beim Start des ESP // ----------------------------------------------------- void setup() { Wire.begin(21, 22); // I2C starten (SDA=21, SCL=22) display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // OLED starten (Adresse 0x3C Standard) // Startbildschirm: WLAN wird verbunden display.clearDisplay(); display.setTextSize(2); // große Schrift für „Verbinde WLAN“ display.setCursor(0, 28); // ungefähr Mitte display.println("Verbinde WLAN..."); display.display(); // anzeigen // WLAN verbinden WiFi.begin(ssid, password); // warten bis Verbindung steht while (WiFi.status() != WL_CONNECTED) { delay(500); // alle 0.5s prüfen } // wenn verbunden → IP holen String ip = WiFi.localIP().toString(); // IP + Status anzeigen showIP(ip); } // ----------------------------------------------------- // Loop: läuft dauerhaft (hier aktuell NICHT benutzt) // ----------------------------------------------------- void loop() { // später: hier kommen Buttons, Webserver, Nachrichten usw. }