#include #include const char *SSID = "***********"; const char *PASS = "***********"; WiFiServer server(80); #define POMP_PIN 4 // dit is de pomp sturing aan/uit. #define KLEP1_PIN 2 // dit is de klep van de groep die het gazon beregent. #define KLEP2_PIN 16 // dit is de klep van de groep die de voortuin beregent. #define KLEP3_PIN 17 // dit is de klep van de groep die de borders beregent. int merkerpomp; int merkergazon; int merkervoortuin; int merkerborders; void setup() { // put your setup code here, to run once: Serial.begin(115200); pinMode(POMP_PIN, OUTPUT); pinMode(KLEP1_PIN, OUTPUT); pinMode(KLEP2_PIN, OUTPUT); pinMode(KLEP3_PIN, OUTPUT); delay(10); Serial.println("connecting"); WiFi.begin(SSID, PASS); while (WiFi.status() !=WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(WiFi.localIP()); server.begin(); } void(* resetFunc) (void) = 0;//declare reset function at address 0 void sproeiinstallatie(){ // sturing van de pomp if (merkerpomp==false) { digitalWrite (POMP_PIN, LOW); } if (merkerpomp==true) { digitalWrite (POMP_PIN, HIGH); } else { digitalWrite (POMP_PIN, LOW); digitalWrite (KLEP1_PIN, LOW); digitalWrite (KLEP2_PIN, LOW); digitalWrite (KLEP3_PIN, LOW); (merkerpomp = LOW); (merkergazon = LOW); (merkervoortuin = LOW); (merkerborders = LOW); } // sturing van de pomp met de klep van het gazon if (merkerpomp==true && merkergazon==true) { digitalWrite (KLEP1_PIN, HIGH); digitalWrite (KLEP2_PIN, LOW); digitalWrite (KLEP3_PIN, LOW); (merkervoortuin = LOW); (merkerborders = LOW); } else { digitalWrite (KLEP1_PIN, LOW); (merkergazon = LOW); } // sturing van de pomp met de klep van de voortuin if (merkerpomp==true && merkervoortuin==true) { digitalWrite (KLEP2_PIN, HIGH); digitalWrite (KLEP1_PIN, LOW); digitalWrite (KLEP3_PIN, LOW); (merkergazon = LOW); (merkerborders = LOW); } else { digitalWrite (KLEP2_PIN, LOW); (merkervoortuin = LOW); } // sturing van de pomp met de klep van de borders if (merkerpomp==true && merkerborders==true) { digitalWrite (KLEP3_PIN, HIGH); digitalWrite (KLEP1_PIN, LOW); digitalWrite (KLEP2_PIN, LOW); (merkergazon = LOW); (merkervoortuin = LOW); } else { digitalWrite (KLEP3_PIN, LOW); (merkerborders = LOW); } } void loop() { WiFiClient Client = server.available(); if (!Client) {return;} String request=Client.readStringUntil('\r'); Serial.println(request); resetFunc(); //call reset if (request.indexOf("POMP_ON")!=-1); {merkerpomp = HIGH;} //digitalWrite(POMP_PIN, HIGH) if (request.indexOf("POMP_OFF")!=-1) {merkerpomp = LOW;} //digitalWrite(POMP_PIN, LOW); if (request.indexOf("KLEP1_ON")!=-1) {merkergazon = HIGH;} //digitalWrite(KLEP1_PIN, HIGH); if (request.indexOf("KLEP1_OFF")!=-1) {merkergazon = LOW;} //digitalWrite(KLEP1_PIN, LOW); if (request.indexOf("KLEP2_ON")!=-1) {merkervoortuin = HIGH;} //digitalWrite(KLEP2_PIN, HIGH); if (request.indexOf("KLEP2_OFF")!=-1) {merkervoortuin = LOW;} //digitalWrite(KLEP2_PIN, LOW); if (request.indexOf("KLEP3_ON")!=-1) {merkerborders = HIGH;} //digitalWrite(KLEP3_PIN, HIGH); if (request.indexOf("KLEP3_OFF")!=-1) {merkerborders = LOW;} //digitalWrite(KLEP3_PIN, LOW); Client.println("HTTP/1.1 200 ok");////Mandatory Client.println("");// //Mandatory Client.println("
"); Client.println("

Web page created by Martijn Pannekoek

"); Client.print("click here to turn the LED on
"); Client.print("click here to turn the LED off
"); Client.println("
"); Client.println("
"); Client.println("
"); Client.println("
"); Client.println("© Martijn 2021"); Client.flush();//Mandatory delay(1); sproeiinstallatie; }