NodeMCU ESP8266 Piloter une LED Via Serveur Web

Niveau APPRENTISSAGE :   ► Fort

 

    Prérequis :

Matériel :

  • 1 x NodeMCU Microcontroller Board
  • 2 x Leds
  • 2 x Résistances 220KΩ
  • Fils de connexion
  • 1 x Breadboard

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

#include <ESP8266WiFi.h>

const char* ssid = "xxxxxx"; // "Votre Nom_du_routeur"
const char* password = "xxxxx"; // "Votre Mot_de_passe_du_routeur"
int ledPinVert = 5;
int ledPinRouge = 4;

WiFiServer server(80);

void setup()
{
Serial.begin(115200);

pinMode(ledPinVert, OUTPUT);
digitalWrite(ledPinVert, LOW);
pinMode(ledPinRouge, OUTPUT);
digitalWrite(ledPinRouge, LOW);

// Connect to WiFi network
Serial.println();
Serial.print("Connexion Wi-Fi à ");
Serial.println(ssid);

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Wi-Fi Connecté avec Succès !");
digitalWrite( ledPinVert , HIGH);

// Start the server
server.begin();
Serial.println("Server started");

// Print the IP address
Serial.print("Utiliser cette URL pour vous connecter : ");
Serial.print(WiFi.localIP());
Serial.println("/");

}

void loop()
{
// Vérifie si un client s'est connecté.
WiFiClient client = server.available();
if (!client)
{
return;
}

// Attends que le client envoie des données.
while (!client.available())
{
delay(1);
}

// Lire la première ligne de la requête
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();

int value = LOW;
if (request.indexOf("/LED=ON") != -1)
{
Serial.println("LED=ON");
digitalWrite(ledPinRouge, HIGH);
value = HIGH;
}
if (request.indexOf("/LED=OFF") != -1)
{
Serial.println("RELAY=OFF");
digitalWrite(ledPinRouge, LOW);
value = LOW;
}

// Renvoyez la réponse
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head><title>ESP8266 Led Controm</title></head>");
client.println("<center>");
client.print("La led est : ");

if (value == LOW)
{
client.print("OFF");
}
else
{
client.print("ON");
}
client.println("<br><br>");
client.println("<a href=\"/LED=OFF\"><input type=\"button\" value=\"OFF\" style=\"width:130px\"></a>   ");
client.println("<a href=\"/LED=ON\"><input type=\"button\" value=\"ON\" style=\"width:130px\"></a> <br>");
client.println("</center>");
client.println("</html>");

delay(1);
Serial.println("");
}

 

 


+ Infos sur le langage utilisé :

1. Fonctions
2. Variables
3. Stucture

 

Laisser un commentaire