#include <ESP8266WiFi.h> #define VERSION "20161212 see: <A href=\"http://antiguide.free.fr/wiki/wakka.php?wiki=Esp8266NodeMcuWebServerTRVB\">here</a>" const char* ssid = "lelac"; const char* password = ".........."; int ledPinRed = 15; // GPIO13 int ledPinGreen = 13; // GPIO13 int ledPinBlue = 3; // GPIO13 ok WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); pinMode(ledPinRed, OUTPUT); pinMode(ledPinGreen, OUTPUT); pinMode(ledPinBlue, OUTPUT); digitalWrite(ledPinRed, LOW); digitalWrite(ledPinBlue, LOW); digitalWrite(ledPinGreen, LOW); // Connect to WiFi network Serial.println(); Serial.println(VERSION); Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); Serial.println("sent"); while (WiFi.status() != WL_CONNECTED) { // Serial.println(WiFi.status); 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("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } int valueRed = LOW; int valueGreen = LOW; int valueBlue = LOW; 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 if (request.indexOf("/RED=ON") != -1) { digitalWrite(ledPinRed, HIGH); valueRed = HIGH; } if (request.indexOf("/GREEN=ON") != -1) { digitalWrite(ledPinGreen, HIGH); valueGreen = HIGH; } if (request.indexOf("/BLUE=ON") != -1) { digitalWrite(ledPinBlue, HIGH); valueBlue = HIGH; } if (request.indexOf("/RED=OFF") != -1) { digitalWrite(ledPinRed, LOW); valueRed = LOW; } if (request.indexOf("/GREEN=OFF") != -1) { digitalWrite(ledPinGreen, LOW); valueGreen = LOW; } if (request.indexOf("/BLUE=OFF") != -1) { digitalWrite(ledPinBlue, LOW); valueBlue = LOW; } if (request.indexOf("/LED=OFF") != -1) { digitalWrite(ledPinRed, LOW); digitalWrite(ledPinGreen, LOW); digitalWrite(ledPinBlue, LOW); valueRed = LOW; valueGreen = LOW; valueBlue = LOW; } // Set ledPin according to the request //digitalWrite(ledPin, value); // Return the response client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(""); // do not forget this one client.println("<!DOCTYPE HTML>"); client.println("<html>"); client.print("traffic light "); client.println(VERSION); /* if(value == HIGH) { client.print("On"); } else { client.print("Off"); } */ client.println("<br>"); // setone(valueRed,"RED","ROUGE","rouge"); if (valueRed==HIGH) client.println("<a href=\"/RED=OFF\"\"><button>rouge </button></a>"); else client.println("<a href=\"/RED=ON\"\"><button>ROUGE</button></a>"); if (valueBlue==HIGH) client.println("<a href=\"/BLUE=OFF\"\"><button>bleu </button></a>"); else client.println("<a href=\"/BLUE=ON\"\"><button>BLUE</button></a>"); if (valueGreen==HIGH) client.println("<a href=\"/GREEN=OFF\"\"><button>vert </button></a>"); else client.println("<a href=\"/GREEN=ON\"\"><button>VERT</button></a>"); client.println("<a href=\"/LED=OFF\"\"><button>ETEINDRE </button></a>"); client.println("</html>"); delay(1); // Serial.println("Client disonnected"); Serial.println(""); }