#include <ESP8266WiFi.h>
// Changer vos SSID et Password
const char* ssid = "XXXX";
const char* password = "YYYY";
WiFiServer serveur(80);
// pour l'ip fixe si vous assigné des ip fixe par votre box vous pouvez supprimer ces 3 lignes et le Wifi.config du setup
IPAddress ip(192, 168, 0, 80); // IP address of the server
IPAddress gateway(192,168,0,254); // gateway of your network
IPAddress subnet(255,255,255,0); // subnet mask of your network
void setup() {
Serial.begin(115200); // on ouvre la com serie
WiFi.config(ip, gateway, subnet); // on contruit l'ip fixe
WiFi.begin(ssid, password); // on se connecte au réseau WiFi
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
serveur.begin(); // on démarre le serveur
Serial.print("Connected to "); // on affiche les infos de connexion
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
Serial.print("IP: ");
Serial.println(WiFi.localIP());
pinMode(LED_BUILTIN, OUTPUT); // on met le gpio de la LED interne en sortie
digitalWrite(LED_BUILTIN, HIGH); // on éteint la LED (logic inversé pour cette led)
}
void loop () {
WiFiClient client = serveur.available(); // quand le serveur est opérationel
if (client) { //
if (client.connected()) { // si un client se connecte
Serial.println(".");
String demande = client.readStringUntil('\r'); // on récuppère le message du client jusqu'a \r
Serial.print("From client: "); // on affiche le message
Serial.println(demande);
client.flush(); // une fois tout récupéré on vide le buffer
if (demande == "LOW") { // si demande est le mot LOW
digitalWrite(LED_BUILTIN, HIGH); // on éteint la LED (logic inverse pour cette led)
}
if (demande == "HIGH") { // si demande est le mot HIGH
digitalWrite(LED_BUILTIN, LOW); // on allume la LED (logic inverse pour cette led)
}
client.print(demande); // on renvoi cette instruction au client
client.println("\r"); // on y ajoute l'instruction de fin de message
}
client.stop(); // on ferme la connexion ave le client
}
}