#include const char* ssid = "YOUR SSID"; // fill in here your router or wifi SSID const char* password = "YOUR PASSWORD"; // fill in here your router or wifi password #define RELAY 0 // relay connected to GPIO0 WiFiServer server(80); void setup() { Serial.begin(115200); // must be same baudrate with the Serial Monitor pinMode(RELAY,OUTPUT); digitalWrite(RELAY, LOW); // Connect to WiFi network Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // Start the server server.begin(); Serial.println("Server started"); // Print the IP address Serial.print("Use this URL to connect: "); Serial.print("https://192.168.0.178/"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { // Check if a client has connected WiFiClient client = server.available(); if (!client) { return; } // Wait until the client sends some data Serial.println("new client"); while(!client.available()) { delay(1); } // Read the first line of the request String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); // Match the request int value = LOW; if (request.indexOf("/RELAY=ON") != -1) { Serial.println("RELAY=ON"); digitalWrite(RELAY,LOW); value = LOW; } if (request.indexOf("/RELAY=OFF") != -1) { Serial.println("RELAY=OFF"); digitalWrite(RELAY,HIGH); value = HIGH; } // Return the response client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // this is a must client.println(""); client.println(""); client.println("ESP8266 RELAY Control"); client.print("Relay is now: "); if(value == HIGH) { client.print("OFF"); } else { client.print("ON"); } client.println("

"); client.println("Turn OFF RELAY
"); client.println("Turn ON RELAY
"); client.println(""); delay(1); Serial.println("Client disonnected"); Serial.println(""); }