#include #include #include ESP8266WebServer server(80); const char* STA_ssid = "Heim-WLAN"; const char* STA_pass = "DasPassword"; IPAddress STA_IP; IPAddress STA_DNS; IPAddress STA_GAT; IPAddress STA_SUB; const char* AP_ssid = "ESP-AP"; const char* AP_pass = "NochEinPassword"; IPAddress AP_IP(192,168,4,1); IPAddress AP_GAT(192,168,4,1); IPAddress AP_SUB(255,255,255,0); int LED=D1; // D1=5 bool LEDS=true; unsigned long previousMillis = 0; void setup() { Serial.begin(115200); Serial.println(); pinMode(D1, OUTPUT); WiFi.mode(WIFI_AP_STA); WiFi.softAPConfig(AP_IP, AP_GAT, AP_SUB); WiFi.softAP(AP_ssid,AP_pass); WiFi.config(STA_IP, STA_GAT, STA_SUB, STA_DNS); WiFi.begin ( STA_ssid, STA_pass ); server.on ( "/" , handleRoot ); server.onNotFound ( handleRoot ); server.begin(); } void loop() { server.handleClient(); if(WiFi.status()!=WL_CONNECTED && // wenn nicht verbunden LEDS == true && // wenn LED AN ist Alias Router Dose millis() - previousMillis >= 15000 // mehr als 15sec vergangen ) { WiFi.begin (); // starte neuen verbindungs versuche previousMillis=millis(); } } void handleRoot() { handleLED(); String msg=""; msg+="\n"; msg+="\n"; msg+="\n"; msg+="\n"; msg+="Untitled Document\n"; msg+="\n"; msg+="\n"; msg+="D2
\n"; msg+="local IP :"; msg+=WiFi.localIP().toString(); msg+="
\n"; msg+="gateway IP :"; msg+=WiFi.gatewayIP().toString(); msg+="
\n"; msg+="subnetMask IP :"; msg+=WiFi.subnetMask().toString(); msg+="
\n"; msg+="\n"; msg+="\n"; server.send ( 200, "text/html", msg ); } void handleLED() { int pin=-1; for ( uint8_t i = 0; i < server.args(); i++ ) { if (server.argName ( i ).equals("LED")) { pin=strtol(server.arg ( i ).c_str(), (char**) NULL, 10); } if (server.argName ( i ).equals("S")) { LEDS=server.arg ( i ).endsWith("ON")? true:false; } } if (pin>-1) { if (LEDS) digitalWrite(pin, HIGH); else digitalWrite(pin, LOW); } }