From 91072f3405d8e180d7387a114f8939f576f210c1 Mon Sep 17 00:00:00 2001 From: Nico Date: Wed, 8 Jul 2026 11:09:52 +0200 Subject: [PATCH] ESP Programme --- ESP in WLAN zeigt IP.txt | 81 +++++++++++++++++++++++++++ Namen wechseln lassen (optimiert).txt | 44 +++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 ESP in WLAN zeigt IP.txt create mode 100644 Namen wechseln lassen (optimiert).txt diff --git a/ESP in WLAN zeigt IP.txt b/ESP in WLAN zeigt IP.txt new file mode 100644 index 0000000..183716c --- /dev/null +++ b/ESP in WLAN zeigt IP.txt @@ -0,0 +1,81 @@ +#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. +} \ No newline at end of file diff --git a/Namen wechseln lassen (optimiert).txt b/Namen wechseln lassen (optimiert).txt new file mode 100644 index 0000000..2695e39 --- /dev/null +++ b/Namen wechseln lassen (optimiert).txt @@ -0,0 +1,44 @@ +#include +#include +#include + +#define SCREEN_WIDTH 128 +#define SCREEN_HEIGHT 64 + +Adafruit_SSD1306 display( + SCREEN_WIDTH, + SCREEN_HEIGHT, + &Wire, + -1 +); + +void showName(String name) { + display.clearDisplay(); + display.setTextSize(2); + display.setTextColor(SSD1306_WHITE); + display.setCursor(0, 20); + display.println(name); + display.display(); +} + +void setup() { + Wire.begin(21, 22); + + if (!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { + Serial.begin(115200); + Serial.println("Display nicht gefunden!"); + while (true); + } + + showName("Max"); + delay(2000); + + showName("Lea"); + delay(2000); + + showName("Tim"); + delay(2000); +} + +void loop() { +} \ No newline at end of file