// import des librairies
#include <ESP8266WiFi.h> // pour la gestion du wifi
#include <ESP8266WebServer.h> // pour créer un serveur web
// vos identifiants réseau
const char* ssid = "XXXX"; // votre SSID
const char* password = "YYYY"; // votre cle WIFI
ESP8266WebServer serveur(80); // on instance un serveur web nommé serveur accessible sur le port 80
// la fonction appelé dés qu'on ouvre la page d'accueil du serveur (un simple texte qui nous dit quelle page appelé pour faire quoi)
void handleRoot() {
serveur.send(200, "text/plain", "Ajouter /ON ou /OFF a l'URL pour allumer ou eteindre la led\n");
}
// la fonction allume
void allume() {
digitalWrite(LED_BUILTIN, LOW); // on allume la led interne du nodeMCU
serveur.send(200, "text/plain", "led ON"); // on écrit sur la page web
}
// la fonction eteint
void eteint() {
digitalWrite(LED_BUILTIN, HIGH); // on eteint la led interne du nodeMCU
serveur.send(200, "text/plain", "led OFF"); // on écrit sur la page web
}
// le setup
void setup(void){
pinMode(LED_BUILTIN, OUTPUT); // on met la led interne du NodeMCU en sortie
digitalWrite(LED_BUILTIN, HIGH); // on l'active pour l'éteindre (l'inverse du led branché sur un gpio)
Serial.begin(115200); // on ouvre la come série
WiFi.begin(ssid, password); // on se connecte au réseau
Serial.println();
while (WiFi.status() != WL_CONNECTED) { // on attend d'être connecté
delay(500);
Serial.print(".");
}
Serial.println(); // on donne les infos du réseau
Serial.print("Connecté à ");
Serial.println(ssid);
Serial.print("Addresse IP : ");
Serial.println(WiFi.localIP());
serveur.on("/", handleRoot); // on associe la fonction handleRoot a la racine du serveur web
serveur.on("/ON", allume); // on associe la fonction allume a la page /ON du serveur
serveur.on("/OFF", eteint); // on associe la fonction eteint a la page /OFF du serveur
serveur.begin(); // on démarre le serveur web
Serial.print("Pour allumer ou eteindre la LED : ");
Serial.print(WiFi.localIP());
Serial.print("/ON ou ");
Serial.print(WiFi.localIP());
Serial.println("/OFF");
}
// la boucle
void loop(void){
serveur.handleClient(); // on lance l'écoute d'un client (une connexion au serveur)
}