/* Le serveur affectera les sorties GPIO0 et GPIO2 selon les requètes du client : * http://server_ip/o0=0 affectera GPIO0 à l'état bas * http://server_ip/o0=1 affectera GPIO0 à l'état haut * http://server_ip/o2=0 affectera GPIO2 à l'état bas * http://server_ip/o2=1 affectera GPIO2 à l'état haut * http://server_ip/? lecture de l'état des sorties GPIO0 et GPIO2 * * L'adresse Ip du module ESP8266 sera envoyée sur la sortie série du module * dès que celui-ci sera connecté */ #include //Définition des varaibles globales et constantes int val0; int val2; const char* ssid = "Livebox-37cc"; // Le nom de votre réseau Wifi const char* password = "8A6060920A8A86896F770F2C47"; // Creation d'un serveur Web sur le port standard 80 WiFiServer server(80); void setup() { // Création d'un port série à 115200 bauds Serial.begin(9600); delay(200); // Affectations des port GPIO0 et GPIO2 en sorties et à l'état bas // pinMode(0, OUTPUT); // digitalWrite(0, 0); // // pinMode(2, OUTPUT); // digitalWrite(2, 0); // Connection au réseau WiFi Serial.println(); Serial.println(); Serial.print("Connection au réseau Wifi :"); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(100); Serial.print("."); } Serial.println(""); Serial.println("WiFi connectee"); // Démarrage du Serveur server.begin(); Serial.println("Serveur demarre"); // Envoie de l'adresse IP sur le port série Serial.println("Adresse Ip du serveur :"); Serial.println(WiFi.localIP()); } void loop() { // Vérification de la connection d'un client WiFiClient client = server.available(); if (!client) { return; } // Attente des datas du client while (!client.available()) { delay(10); } // Lecture de la requête du client String req = client.readStringUntil('\r'); // Interprétation de la requète if (req.indexOf("/o0=0") != -1) { val0 = 0; } if (req.indexOf("/o0=1") != -1) { val0 = 1; } if (req.indexOf("/o2=0") != -1) { val2 = 0; } if (req.indexOf("/o2=1") != -1) { val2 = 1; } // Affectation des variables aux sorties correspondantes // digitalWrite(2, val2); // digitalWrite(0, val0); // // //Lecture de l'état des sorties // if (req.indexOf("/?") != -1) // { // val0 == digitalRead(0); // val2 == digitalRead(2); // } // Création de la page HTML en réponse à la requête String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\n La led0 est ";//nGPIO is now "; s += (val0) ? "Allumee " : "Eteinte "; s += " La led2 est "; s += (val2) ? "Allumee " : "Eteinte "; // Envoie de la réponse au client client.print(s); client.flush(); Serial.println(s); delay(1); //Déconnection du client client.flush(); }