Inhaltsverzeichnis:

Farbton-Magie - Gunook
Farbton-Magie - Gunook

Video: Farbton-Magie - Gunook

Video: Farbton-Magie - Gunook
Video: Eine Verlegte Tv Fernbedienung Wieder Finden 2024, September
Anonim
Image
Image

Willkommen Zauberer!

Vor ein paar Monaten habe ich für meinen 3-jährigen Sohn eine kleine Zauberkiste mit Zauberstab gebastelt. Wenn er die Schachtel mit dem Zauberstab berührt, wird ein sich änderndes Farblicht aus der Schachtel emittieren. Wenn er eine Farbe sieht, die er besonders mag, kann er den Zauberstab auf die Tischlampe richten (mit einer Philips Hue-Glühbirne darin), einen Zauber wirken und die Farbe aus der Schachtel springt wie von Zauberhand auf die Lampe! Lampe und Licht aus der Box haben plötzlich die gleiche Farbe…

Nach einigen Sekunden verblasst die Farbe und die Tischlampe kehrt in den Zustand vor dem Zauber zurück. Bis ein neuer Zauberspruch gewirkt wird…

Schritt 1: Was Sie brauchen, um dieses Projekt zu erstellen

Was Sie brauchen, um dieses Projekt zu erstellen
Was Sie brauchen, um dieses Projekt zu erstellen
Was Sie brauchen, um dieses Projekt zu erstellen
Was Sie brauchen, um dieses Projekt zu erstellen
Was Sie brauchen, um dieses Projekt zu erstellen
Was Sie brauchen, um dieses Projekt zu erstellen

Um dieses Projekt zu erstellen, benötigen Sie die folgenden Materialien:

    • 1 (oder mehr) Philips Hue Farbbirne und eine Hue Bridge
    • 1 Wemos D1 mini oder ähnlicher esp8266-basierter Mikrocontroller
    • 1 (Arduino) Berührungssensor (z. B. TTP223R)
    • 1 (Arduino) Kurzzeittaste
    • 1 10uF Kondensator
    • 1 RGB-LED (gemeinsamer Anodentyp)
    • 5 Widerstände (10, 22 und 47 Ohm, 2x 10K Ohm)
    • 2 kleine Prototyping-Platinen (2x3 Zoll oder ca. 5x7 cm sollten groß genug sein)
    • einige (Überbrückungs-) Drähte
    • ein Lötkolben
    • ein Zauberstab (kann als Fertigprodukt in einem Spielzeugladen gekauft oder selbst hergestellt werden)
    • eine kleine Schachtel aus Pappe oder Holz (kann eine vorhandene Schachtel sein, aber du kannst natürlich auch eine Schachtel von Grund auf neu bauen)
    • etwas Klebeband
    • etwas Kleber und/oder Muttern und Schrauben, um die Leiterplatten in der Box zu montieren.
    • optional: Geschenkpapier für die Box

NB: Ein wenig Erfahrung im Lesen von Schaltplänen ist hilfreich, wenn Sie diese Anleitung durchgehen. Mein Diagramm ist nicht übermäßig komplex: Wenn Sie einen Kondensator von einem Widerstand unterscheiden können, wird es Ihnen wahrscheinlich gut gehen.

Einige Erfahrungen mit der Arduino-Programmierung mit der Arduino-IDE sind ebenfalls hilfreich. Eher grundlegende Erfahrung sollte ausreichen, da ich Ihnen den vollständigen Code zum Kopieren/Einfügen zur Verfügung stelle. Sie müssen jedoch ein paar Dinge anpassen, damit es in Ihrem speziellen Setup funktioniert (z. B. Ihre Netzwerkeinstellungen und einige Details aus Ihrer Hue-Konfiguration). Wenn dies ein wenig einschüchternd klingt, machen Sie sich keine Sorgen, ich helfe Ihnen, alle benötigten Informationen abzurufen.

Schritt 2: Die Box & Zauberstab

Die Box & Zauberstab
Die Box & Zauberstab
Die Box & Zauberstab
Die Box & Zauberstab

Die ersten Schritte sind normalerweise die schwierigsten, aber nicht in diesem anweisbaren! Für den Anfang kannst du dir einfach einen Zauberstab aus einem Spielzeugladen kaufen und für die Schachtel kannst du einfach eine vorhandene kleine Schachtel wiederverwenden, die du bereits herumliegen hast. Stellen Sie nur sicher, dass die Box nicht aus Metall besteht, da dies die WLAN-Signale blockiert und wir diese für die Magie brauchen;-).

Wenn Sie eine vorhandene Box umfunktionieren, müssen Sie lediglich zwei Löcher in die Oberseite der Box bohren: 1 kleines Loch (Größe 5 mm = 0,2") für die RGB-LED und ein größeres Loch (ca. 14 mm oder etwa 0,5") für den Berührungssensor.

Die genaue Platzierung der Löcher ist nicht entscheidend, platzieren Sie sie einfach nach Ihrem Sinn für Ästhetik, aber beachten Sie ein paar Dinge:

  • Halten Sie einen gewissen Abstand zwischen den beiden Löchern ein, um sicherzustellen, dass die Komponenten, die unter den Löchern montiert werden (die RGB-LED und der Berührungssensor) beide genügend Platz für die Montage und Verdrahtung einnehmen.
  • Das größte Loch ist für den Berührungssensor. Dieser Sensor wird direkt unter dem Loch so montiert, dass er mit dem Stab berührt (und sogar leicht gedrückt) werden kann. Achte also darauf, dass der Zauberstab, den du kaufst, nicht zu dick ist!

Optional können Sie (Sprüh-)Farbe oder Geschenkpapier verwenden und Plastik abdecken, um Ihre Box ein wenig schöner zu machen und sie vor Lebensmittelspritzern und schmutzigen Händen zu schützen.

Wenn Ihnen dieser erste Schritt etwas zu anspruchslos ist, erstellen Sie bitte eine Schachtel und einen Zauberstab komplett von Grund auf neu! Es gibt mehrere Anleitungen, die Ihnen helfen, einen schönen Zauberstab zu erstellen

Welchen Weg Sie auch wählen, es ist jetzt an der Zeit, das Innere der Box zu erkunden.

Schritt 3: Die Hardware im Inneren

Die Hardware im Inneren
Die Hardware im Inneren
Die Hardware im Inneren
Die Hardware im Inneren
Die Hardware im Inneren
Die Hardware im Inneren

Verwenden Sie einen Lötkolben, um die elektronischen Komponenten gemäß obigem Schaltplan zu verbinden. Es gibt ein paar Dinge, auf die Sie besonders achten sollten:

  • Die Kabel zwischen dem Wemos D1 Mini und der RGB-LED sollten lang genug sein, damit die RGB-LED in das Loch im Deckel der Box montiert werden kann.
  • Gleiches gilt für die Kabel an Taster und Tastsensor, da diese über das andere Loch im Deckel zugänglich sein sollen.
  • Der Taster des Tasters sollte auf die Unterseite (die unempfindliche Seite) des Touchsensors geklebt werden, so dass Sie den Taster mit dem oben aufgeklebten Touchsensor wieder auf den Taster legen können (siehe Bild). Der Berührungssensor ist oben auf dem Taster angebracht, um Tastendrücke durch einen Finger zu erkennen. In diesem Fall wird der Tastendruck ignoriert. Erst wenn der Knopf vom Zauberstab gedrückt wird (der nicht leitend sein sollte, damit Kunststoff und Holz in Ordnung sind), beginnt der Zauberzyklus.
  • Montieren Sie den Taster mit Touchsensor oben nicht zu tief unter dem Loch im Deckel, da er mit dem Zauberstab erreichbar sein muss, um die Magie in Gang zu setzen.
  • Achten Sie beim Löten auf die Polarität des Kondensators. Wenn Sie die positiven und negativen Leitungen vertauschen, wird der Kondensator wahrscheinlich etwas magischen Rauch abgeben und Ihren Stromkreis in einen ewigen Schlaf versetzen.
  • Kleben, kleben und/oder schrauben Sie den Batteriehalter und die Leiterplatte(n) fest. Es muss nicht ordentlich sein, da es nicht in Sichtweite ist. Es sollte nur sturzsicher sein.

Auf zur Software!

Schritt 4: Die Software

Stellen Sie sicher, dass Sie über den neuesten (kostenlosen) Arduino-Software-Editor verfügen, der unter https://www.arduino.cc/en/Main/Software heruntergeladen werden kann. Um Unterstützung für das Wemos D1 mini und andere ESP8266-basierte Boards hinzuzufügen, führen Sie die folgenden Schritte aus:

  • Starten Sie nach der Installation die Arduino-Software und öffnen Sie das Einstellungsfenster.
  • Geben Sie https://arduino.esp8266.com/stable/package_esp8266com_index.json in das Feld "Additional Board Manager URLs" ein. Sie können mehrere URLs hinzufügen, indem Sie sie durch Kommas trennen.
  • Öffnen Sie den Boards Manager über Tools > Board-Menü und installieren Sie die ESP8266-Plattform (und vergessen Sie nicht, Ihr ESP8266-Board nach der Installation im Tools > Board-Menü auszuwählen. "LOLIN(WEMOS) D1 R2 & mini" funktioniert am besten für Wemos D1 mini v2 und v3 Bretter.

Wenn Sie weitere Hilfe bei der Installation von Arduino und beim Einrichten der Treiber benötigen, können Sie einen Blick auf https://www.instructables.com/id/Wemos-ESP8266-Getting-Started-Guide-Wemos-101/ werfen.

Öffnen Sie im Arduino-Editor eine neue Datei (Datei> Neu) und kopieren / fügen Sie den folgenden Code in das gerade geöffnete Fenster ein. Überschreiben Sie einfach die bereits vorhandenen Zeilen im neuen Fenster (void setup und void loop).

Jetzt sind Sie fast fertig, aber Sie müssen einige Teile des Codes für Ihr spezielles Setup anpassen.

Als erstes müssen Sie die IP-Adresse in Zeile 34 (im Arduino-Editor sind die Codezeilen nummeriert) in die IP-Adresse Ihrer Hue-Bridge ändern. Wenn Sie Ihre Hue Bridge IP-Adresse nicht kennen, besuchen Sie https://discovery.meethue.com/ und die richtige IP-Adresse wird sofort in Ihrem Browser angezeigt. Die IP-Adresse ist die gepunktete Zahl, der "internalipaddress" vorangestellt ist.

Um mit den Hue-Lichtern zu kommunizieren, müssen Sie einen Hue-API-Benutzer für das Wemos D1 mini erstellen, damit das Wemos über die Hue-API mit dem Hue-Licht kommunizieren kann. Folgen Sie dazu den Anweisungen unter https://developers.meethue.com/develop/get-started-2/ und kopieren Sie den generierten (ziemlich langen) Benutzernamen in das Arduino-Codefenster. Ersetzen Sie einfach jeden "IHR HUE API USERNAME" durch den generierten API-Benutzernamen.

Dann müssen Sie das richtige Hue-Licht auswählen, um die Farbe zu ändern. In der Hue-API hat jedes Licht eine Nummer, daher müssen Sie die Nummer herausfinden, die dem Licht entspricht, das Sie für dieses Projekt verwenden möchten. Eine der einfachsten Möglichkeiten, um herauszufinden, welche Nummer ein bestimmtes Licht hat, besteht darin, die Hue Viewer-App für Android oder iOS herunterzuladen. Ersetzen Sie den Text "IHRE LICHTNUMMER" überall im Arduino-Codefenster durch die richtige Nummer.

Als letztes müssen Sie den Wemos so einrichten, dass er sich mit Ihrem WLAN-Netzwerk verbindet. Dies geschieht, indem Sie den Code auf das Wemos hochladen und auf Ihrem Laptop zu einem anderen WLAN-Netzwerk wechseln: auf "AutoConnectAP". Ihr Browser zeigt dann eine Seite an, auf der Sie die SSID (Name) und das Passwort Ihres WLAN-Netzwerks hinzufügen können, die der Wemos-Controller verwendet, um sich mit Ihrem WLAN-Netzwerk (und der Hue-Bridge) zu verbinden.

Hinweis: Wenn das Hochladen des Codes auf unseren Wemos D1 mini über USB nicht funktioniert, müssen Sie möglicherweise einen Treiber für den USB-Chip auf dem Wemos herunterladen. Ein Treiber für Ihre Plattform (Windows, Mac) kann unter https://sparks.gogo.co.nz/ch340.html heruntergeladen werden

Jetzt können Sie Ihre Kreation testen!

// ESP8266 Hue Magic Wand // Richard van Kampen - 2018 // Dieser Code wurde auf einem Wemos D1 mini getestet, wird aber wahrscheinlich auch auf anderen ESP8266-basierten Entwicklungsboards funktionieren // Um Unterstützung für Wemos D1 mini und andere ESP8266-Boards hinzuzufügen Führen Sie zum Arduino-Editor die folgenden Schritte aus: // - Starten Sie Arduino und öffnen Sie das Einstellungsfenster. // - Geben Sie https://arduino.esp8266.com/stable/package_esp8266com_index.json in das Feld Additional Board Manager URLs ein. Sie können mehrere URLs hinzufügen, indem Sie sie durch Kommas trennen. // - Öffnen Sie den Boards Manager über das Menü Extras > Board und installieren Sie die ESP8266-Plattform (und vergessen Sie nicht, Ihr ESP8266-Board nach der Installation im Menü Extras > Board auszuwählen). // Verwendete Bibliotheken: #include "ESP8266WiFi.h" // ESP8266 Core WiFi Library #include "DNSServer.h" // Lokaler DNS-Server, der zum Umleiten aller Anfragen an das WiFiManager-Konfigurationsportal verwendet wird, wenn keine WIFI-Einstellungen (SSID, Passwort) vorhanden sind noch nicht eingestellt. #include "ESP8266WebServer.h" //Lokaler WebServer, der verwendet wird, um das WiFiManager-Konfigurationsportal zu bedienen #include "WiFiManager.h" // WiFi Configuration Magic-Bibliothek, falls noch nicht installiert, siehe https://github.com/tzapu/WiFiManager #install-through-library-manager #include "RestClient.h" // https://github.com/fabianofranca/ESP8266RestClient, benötigt für die Verwendung der Philips Hue API (siehe https://developers.meethue.com/develop/ hue-api/). #include "ArduinoJson.h" // https://github.com/bblanchon/ArduinoJson, wird benötigt, um die Antwort der Hue-API zu analysieren, bitte installieren Sie Version 5.x über den Bibliotheksmanager in Arduino (Menü "Skizze" > Bibliothek einschließen > Verwalten) Bibliotheken > suchen Sie nach ArduinoJson und ändern Sie die Version auf die neueste 5.x). Version 6 (derzeit in Beta) gibt einen Fehler aus. // Variablen und Init: String-Antwort; const int redPin = 13; // bei Wemos ist dies d7 const int greenPin = 12; // bei Wemos ist dies d6 const int bluePin = 14; // bei Wemos ist dies d5 const int touchSensor = 5; // bei Wemos dies ist d1 const int activationPin = 4; // auf Wemos ist dies d2 bool activation = HIGH; bool touch = LOW; const char* aan_restore; int bri_restore; doppelte x_wiederherstellung; doppelte y_wiederherstellung; doppelte x_magic; doppelte y_magic; bool zuerst = wahr; unsigned long startMillis; unsigned long currentMillis; unsigned lange DauerMillis; RestClient-Client = RestClient("192.168.178.23"); // "Ihre Hue Bridge IP-Adresse" // Wenn Sie Ihre Hue Bridge IP-Adresse nicht kennen, besuchen Sie https://discovery.meethue.com und sie wird sofort in Ihrem Browser angezeigt. Die IP-Adresse ist die gepunktete Zahl, der "internalipaddress" vorangestellt ist void setup () { analogWriteRange (255); Serial.begin (9600); // Beginnen Sie mit der LED aus. pinMode (AktivierungsPin, INPUT_PULLUP); PinMode (TouchSensor, EINGANG); startMillis = millis(); checkWand(); } void loop() { // hier nichts zu tun, leer lassen… } void checkWand() { int rgbColour[3]; // RGB-Farbcode von James Harton, https://gist.github.com/jamesotron/766994 // Beginnen Sie mit Rot. rgbFarbe[0] = 255; rgbFarbe[1] = 0; rgbFarbe[2] = 0; Aktivierung = digitalRead (activationPin); // LOW bedeutet, dass der Zauberstab verwendet wird. touch = digitalRead (touchSensor); // HIGH bedeutet, dass der Finger anstelle des Zauberstabs verwendet wird, was nicht der Fall sein sollte. while (Aktivierung == LOW && touch == LOW) {// Wählen Sie die Farben zum Erhöhen und Verringern. for (int decColour = 0; decColour < 3; decColor += 1) { int incColour = decColor == 2 ? 0: deFarbe + 1; //= ternärer Operator, bedeutet: int incColour;if (decColour == 2) {incColour = 0;} else {incColour = decColour +1;} // Überblendung der beiden Farben. für (int i = 0; i <255; i += 1) { rgbColour[decColour] -= 1; rgbFarbe[incFarbe] += 1; // Da unsere RGB-LED eine gemeinsame Anode anstelle einer Kathode hat (wir müssen also an +3,3 V anstelle von Masse anschließen), benötigen wir inverse Werte für RGB: int red = 255 - rgbColour[0]; int grün = 255 - rgbFarbe[1]; int blau = 255 - rgbFarbe[2]; analogWrite (rotPin, rot); analogWrite (grünPin, grün); analogWrite (bluePin, blau); Verzögerung(8); Aktivierung = digitalRead (AktivierungsPin); if (Aktivierung == HIGH) {// HIGH bedeutet, dass der Zauberstab angehoben wird. gehe zu stopColorCycling; } } } } stopColorCycling: currentMillis = millis(); DauerMillis = (currentMillis - startMillis); if (durationMillis> 1000) { RGBtoxy (rgbFarbe[0], rgbFarbe[1], rgbFarbe[2]); aufrechtzuerhalten. Sonst { // Wemos in den Schlafmodus versetzen: ESP.deepSleep (0); }} void RGBtoxy (int red, int green, int blue) {//siehe https://developers.meethue.com/documentation/color-conversions-rgb-xy double R = map(red, 0, 255, 0, 1000); R/= 1000; doppeltes G = Karte (grün, 0, 255, 0, 1000); G/= 1000; Doppel B = Karte (blau, 0, 255, 0, 1000); B/= 1000; R = (R > 0,04045f) ? pow((R + 0,055f)/(1,0f + 0,055f), 2,4f): (R/12,92f); G = (G > 0,04045f) ? pow((G + 0,055f)/(1,0f + 0,055f), 2,4f): (G/12,92f); B = (B > 0,04045f) ? pow((B + 0,055f)/(1,0f + 0,055f), 2,4f): (B/12,92f); doppeltes X = R * 0,649926f + G * 0,103455f + B * 0,197109f; doppeltes Y = R * 0,234327f + G * 0,743075f + B * 0,022598f; doppeltes Z = R * 0,000000f + G * 0,053077f + B * 1,035763f; doppeltes x = X / (X + Y + Z); doppeltes y = Y/(X + Y + Z); // Konvertierung nicht vollständig abgeschlossen, aber wahrscheinlich gut genug für das, was wir erreichen möchten, also belassen Sie es dabei und senden Sie XY-Werte an die Lampe: sendtoHue(x, y); aufrechtzuerhalten. aufrechtzuerhalten. Void sendtoHue (double a, double b) {// tatsächliche Farbänderung von Zauberstab Magie if (erster) {//erster Durchgang: aktuellen Lampenzustand abrufen getCurrentValues (); } // sende dann Zauberstabfarben: // warte auf Zauber: langes Warten; x_magic = a; y_magic = b; // Lampe in Zauberstabfarbe an: response = ""; int temp = zufällig (2, 9); const char* state = "wahr"; for (int i = 1; i <= temp; i++) { // char-Array erstellen, um es an Bridge zu senden: String temp_body1 = "{"on\": " + String(state) +", \"bri\": 220, \"xy\": [" + String(x_magic) +", " + String(y_magic) + "], \"transitiontime\": 1}"; int str_len1 = temp_body1.length() + 1; char post_body1[str_len1]; temp_body1.toCharArray(post_body1, str_len1); // jetzt haben wir post_body1 als char-Array; // Restaufruf machen: int statusCodePut1 = client.put("/api/IHR HUE API BENUTZERNAME/lights/IHRE LICHTNUMMER/state", post_body1, &response); warten = zufällig (100, 600); verzögern (warten); if (state == "true") { state = "false"; } else { state = "wahr"; } } // Helligkeit reduzieren…: response = ""; temp = zufällig (4, 17); // char-Array zum Senden an Bridge erstellen: String temp_body2 = "{"on\": true, \"bri\": 154, \"transitiontime\": " + String(temp) + "}"; int str_len2 = temp_body2.length() + 1; char post_body2[str_len2]; temp_body2.toCharArray(post_body2, str_len2); // jetzt haben wir post_body2 als char-Array; // Restaufruf machen: int statusCodePut2 = client.put("/api/IHR HUE API BENUTZERNAME/lights/IHRE LICHTNUMMER/state", post_body2, &response); warten = zufällig (1000, 2500); verzögern (warten); //..und wieder heller machen: response = ""; temp = zufällig (4, 17); // char-Array erstellen, um es an Bridge zu senden: String temp_body3 = "{"bri_inc\": 100, \"transitiontime\": }"; int str_len3 = temp_body3.length() + 1; char post_body3[str_len3]; temp_body3.toCharArray(post_body3, str_len3); // jetzt haben wir post_body3 als char-Array; // Restaufruf machen: int statusCodePut3 = client.put("/api/IHR HUE API BENUTZERNAME/lights/IHRE LICHTNUMMER/state", post_body3, &response); warten = zufällig (2500, 5000); // 2-5 Sekunden warten delay (wait); // und auf alten Wert zurückblenden: response = ""; // char-Array erstellen, um es an Bridge zu senden: String temp_body4 = "{"on\": " + String(aan_restore) +", \"bri\": " + String(bri_restore) +", \"xy\": [" + String(x_restore) +", " + String(y_restore) + "], \"Übergangszeit\": " + String(20) + "}"; int str_len4 = temp_body4.length() + 1; char post_body4[str_len4]; temp_body4.toCharArray(post_body4, str_len4); // jetzt haben wir post_body4 als char-Array; // Restaufruf machen: int statusCodePut4 = client.put("/api/IHR HUE API BENUTZERNAME/lights/IHRE LICHTNUMMER/state", post_body4, &response); ESP.deepSleep(0); //wieder schlafen gehen…. } unsigned int getCurrentValues () { connectWifi (); // zuerst mit Wifi verbinden Antwort = ""; // Restaufruf machen: int statusCodeGet = client.get("/api/IHR HUE API BENUTZERNAME/lights/IHRE LICHTNUMMER", &response); Serial.print ("Statuscode vom Server nach GET: "); Serial.println (statusCodeGet); Serial.print ("Antworttext vom Server: "); Serial.println (Antwort); StaticJsonBuffer jsonBuffer; // Parsen der Json-Antwort // Root des Objektbaums. // // Es ist eine Referenz auf das JsonObject, die tatsächlichen Bytes befinden sich im // jsonBuffer mit allen anderen Knoten des Objektbaums. // Speicher wird freigegeben, wenn jsonBuffer den Gültigkeitsbereich verlässt. JsonObject& root = jsonBuffer.parseObject(Antwort); JsonObject& state = root["state"]; // Testen, ob das Parsen erfolgreich ist. if (!root.success ()) { Serial.println ("parseObject () fehlgeschlagen"); } // Werte abrufen. aan_restore = state["on"]; Serial.println (aan_restore); bri_restore = state["bri"]; x_restore = Zustand["xy"][0]; y_restore = Zustand["xy"][1]; first = false;} void connectWifi() {//Lokale Initialisierung. Sobald das Geschäft erledigt ist, müssen Sie es nicht mehr in WiFiManager wifiManager aufbewahren; //Einstellungen zurücksetzen - zum Testen: //wifiManager.resetSettings(); // Rückruf einstellen, der aufgerufen wird, wenn die Verbindung zu einem vorherigen WLAN fehlschlägt, und in den Access Point-Modus wechseln wifiManager.setAPCallback (configModeCallback); //ruft ssid und pass ab und versucht sich zu verbinden //wenn es keine Verbindung herstellt, startet es einen Zugangspunkt mit dem angegebenen Namen //hier "AutoConnectAP" //und geht in eine Blockierungsschleife, die auf die Konfiguration wartet if (!wifiManager.autoConnect()) {Serial.println ("Verbindung fehlgeschlagen und Timeout erreicht"); // zurücksetzen und erneut versuchen, oder vielleicht in den Tiefschlaf versetzen ESP.reset (); Verzögerung (1000); } // Wenn Sie hierher kommen, haben Sie eine Verbindung zum WiFi Serial.println ("connected…yeey:)"); Serial.print("Verbunden mit:"); Serial.println (WiFi. SSID()); Serial.print ("IP-Adresse: "); Serial.println (WiFi.localIP()); // Ihrem ESP (Wemos) zugewiesene IP-Adresse // Drucken Sie die empfangene Signalstärke aus: long rssi = WiFi. RSSI(); Serial.print ("Signalstärke (RSSI):"); Serial.println (rssi); aufrechtzuerhalten. Void configModeCallback (WiFiManager * myWiFiManager) { Serial.println ("Eingegebener Konfigurationsmodus"); Serial.println (WiFi.softAPIP()); // Wenn Sie eine automatisch generierte SSID verwendet haben, drucken Sie sie aus Serial.println (myWiFiManager-> getConfigPortalSSID ()); }