Esp braucht ewig um sich wieder um verbinden

HI,
ich bin neu in dem Gebiet und habe folgendes Problem und weiß nicht, ob das so richtig ist.
Mein Plan liegt darin mir eine smarte Steckdose zu Zaubern (wie im Code beschrieben) aber nachdem mein Mikrocontroller die Verbindung zum Wlan verloren hat, braucht das Gerät so 5 Minuten bis er sich wieder in den Loop begibt (in der Zwischenzeit macht er einfach nichts).
Ich hätte gerne, dass direkt nach dem Verbindungsverlust wieder mit der suche nach dem Netzwerk begonnen wird (kann ich da einfach "WiFi.begin" in den if Befehl mit einfügen?).`

#include <ESP8266WiFi.h>


const char* ssid = "hier Ssid eingeben";
const char* password = "hier Passwort eingeben";
//Der Mikrocontroller soll sich beim Einschalten mit dem vorgegebenen Wlan-Netzwerk verbinden und geht dann in den Loop über. Jetzt überprüft er den Wlan status und
//schaltet die LED ein; sollte nun die verbindung zum Netzwerk getrennt werden, so wartet er 2,5 minuten bis er die Lampe ausschaltet.
//Sollte in diesen 2,5 Minuten jedoch die Verbindng wieder hergestellt werden, so bleibt die LED an.
//Gehen wir davon aus, dass die Verbindung unterbrochen wurde und die LED ausgeschaltet ist, so soll er permanent nach dem Netzwerk suchen.
void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, LOW);

  Serial.begin(9600);
  WiFi.begin("hier Ssid eingeben", "hier Passwort eingeben");
  while (WiFi.status() != WL_CONNECTED) {  //verbindet sich mit dem Wlan
    delay(1000);
  }
}

void loop() {
  Serial.println("test");

  if (WiFi.status() == WL_CONNECTED) {  //überprüft ob verbindug besteht wenn ja; lampe wird eingeschaltet
    digitalWrite(LED_BUILTIN, LOW);

  } else {
    delay(150000);                        //wenn nicht; wartet 2,5 Minuten
    if (WiFi.status() != WL_CONNECTED) {  //wenn wlan dann immernoch aus, dann wird die Lampe ausgeschaltet
      digitalWrite(LED_BUILTIN, HIGH);
    } else {  //wenn Wlan verbindung doch wieder da, dann bleibt alles so wie es ist
      return;
      delay(1000);
    }
  }
}

Setze Deinen Sketch bitte in Codetags. Wie das geht, steht hier.
Außerdem formatiere den Code bitte ordentlich. Strg+T in der IDE hilft Dir dabei.
Das kannst Du auch noch nachträglich ändern.

Gruß Tommy

ist das so besser?

LG

Ja, danke.

Gruß Tommy

Das ist ja bei deinem langen delay() im Sketch kein Wunder.
Hast du dir die Beispiele (WiFiClient) in der IDE mal angesehen. Damit funktioniert das sicher auch schneller.

Und wenn das im Sketch deine originalen Zugangsdaten sind, solltest du die besser ändern.

@slowfoe
Hallo,
wenn du eine Lösung gefunden hast, solltest du diese hier auch posten.
Das hilf dann anderen Fragestellern auch. So ist der Sinn des Forums zu verstehen.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.