Ich habe jetzt folgendes:
WiFiServer server(80);
void setup() {
pinMode(13, OUTPUT);
initWiFi();
}
void loop() {
WiFiClient client = server.available();
if(!client){
return;
}
if(WiFi.status() != WL_CONNECTED){
initWiFi();
}
String request = client.readStringUntil('\r');
client.flush();
if(request==""){
client.stop();
return;
}
//GPIOS schalten
if(request.indexOf("mode=1")>=0){
digitalWrite(13, LOW);
delay(1000);
digitalWrite(13, HIGH);
delay(1000);
}
//Ausgabe erzeugen
String output;
output += "http/1.x 200 OK\n";
output += "Content-Type: text/html; charset=UTF-8\n\n";
output += "<!DOCTYPE HTML>";
output += "<html>";
output += "<h1>LED schalten</h1>";
output += "<form action=\"\" method=\"GET\">";
output += "<button name=\"mode\" value=\"1\">Öffnen/Schließen</button>";
output += "<br><br>";
output += "<button name=\"mode\" value=\"0\">AUS</button>";
output += "</form>";
output += "</html>";
client.print(output);
client.stop();
}
void initWiFi(){
WiFi.begin(SSID, PSK);
while(WiFi.status() != WL_CONNECTED){
delay(500);
}
server.begin();
}
Problem ist, wenn der Node neugestartet ist, blinkt die FB so lange, bis ich auf AUS geklickt habe, dann kann ich den Taster Öffnen/Schließen anklicken und er sendet ein kurzes Signal, wie gewünscht. Wo liegt der Fehler?