Ho provato e riprovato.... ![]()
EthernetClient client = server.available();
if (client) {
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
readString.concat(c); //memorizzo ogni carattere della stringa
//if HTTP request has ended
if (c == '\n' && currentLineIsBlank) {
Serial.print(readString);
if(readString.indexOf("IRR1=1") > 0) {// lettura del valore dal web
for (int x = 0 ; x < 200 ; x++){
digitalWrite(IRR1, LOW); //sengo il led
Serial.println("Irrigatore 1 Acceso");
Serial.println(x);
IRRON1 = true;
}
digitalWrite(IRR1, HIGH); //sengo il led
Serial.println("Irrigatore 1 Spento");
IRRON1 = false;
}
if(readString.indexOf("IRR1=0") > 0) {// lettura del valore dal web
//il led sarà spento
digitalWrite(IRR1, HIGH); //sengo il led
Serial.println("Irrigatore 1 Spento");
IRRON1 = false;
}
Allora ho modificato un attimo il codice....
il problema è che quando passo via web la stringa IRR1=1 inizia un if al cui interno c'è un for (specie di timer) ma finchè il for non è completato anche se passo via web la stringa IRR1=0, questa non viene accettata fino alla fine del for...
cosa devo usare?