#include <ESP8266WiFi.h>
// Changer vos SSID et Password
const char* ssid = "XXXX";
const char* password = "YYYY";
bool etatled = HIGH; // FLAG pour le changement d'etat de la led a chaque boucle
IPAddress server(192,168,0,80); // l'adresse ip du serveur
WiFiClient client;
void setup() {
Serial.begin(115200); // on ouvre la com serie
WiFi.begin(ssid, password); // on se connecte au réseau WiFi
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(500);
}
Serial.print("Connected to ");
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, etatled); // on éteint la LED (logic inversé pour cette led)
}
void loop () {
client.connect(server, 80); // Connexion au serveur
Serial.println(".");
etatled = !etatled; // on change le FLAG etatled
if (etatled == LOW) { // si l'état = 0
client.println("LOW\r"); // on envoi le mot LOW au serveur
}
if (etatled == HIGH) { // si l'état = 1
client.println("HIGH\r"); // on envoi le mot HIGH au serveur
}
String reponse = client.readStringUntil('\r'); // on récupère le message du serveur jusqu'a \r
Serial.println("from server: " + reponse); // on affiche le message
client.flush(); // une fois tout récupéré on vide le buffer
if (reponse == "LOW") { // si la reponse est le mot LOW
digitalWrite(LED_BUILTIN, HIGH); // on éteint la LED (logic inverse pour cette led)
}
if (reponse == "HIGH") { // si la reponse est le mot HIGH
digitalWrite(LED_BUILTIN, LOW); // on allume la LED (logic inverse pour cette led)
}
delay(2000);
}