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);
}
}
}