/* 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(115200); delay(10); // 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(); }