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