Piloter une LED avec Wemos D1 mini ESP8266 grâce à une paje Web *

 

 

    Prérequis :

Matériel :

  • 1 x Carte Wemos D1 mini ESP8266
  • 1 x Résistance 220 Ω
  • 1 x Led
  • Fils de connexion
  • 1 x Breadboard

Version IDE :

Bibliothèque :

  • ESP8266WiFi.h

 

 

Vidéo de démonstration :

 

Schéma de câblage :

 

Code :

#include <ESP8266WiFi.h>
 
/*Vous devez modifier les deux variables suivantes avec vos informations d'identification réseau*/
const char* ssid = "Freebox-blablabla";  // Nom de votre réseau
const char* password = "votre mdp wifi";  //Mot de pass de votre wifi
 
int ledPin = D5;
WiFiServer server(80);
 
void setup() {
  Serial.begin(115200);
  delay(10);
 
 
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
 
 //connection à votre réseau wi-fi local
  WiFi.begin(ssid, password);

  //vérifie que le wi-fi est connecté au réseau wi-fi
  while (WiFi.status() != WL_CONNECTED) {
  delay(1000);
  Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected..!");
  Serial.print("Got IP: ");  Serial.println(WiFi.localIP());

  server.begin();
  Serial.println("HTTP server started");
 
}
 
void loop() {
  // On vérifie si un client s'est connecté
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
 
  // Attend que le client envoie des données
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  int value = LOW;
  if (request.indexOf("/LED=ON") != -1) {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  } 
  if (request.indexOf("/LED=OFF") != -1){
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
 
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
  client.println("<center>");
  client.print("<h3>La broche de la LED est maintenant: </h3>");
 
  if(value == HIGH) {
    client.print("<font color='green'>On</font>");  
  } else {
    client.print("<font color='red'>Off</font>");
  }
  client.println("<br><br>");
  
  client.println("<table><tr><td>");
  client.println("<form action=\"/LED=ON\">");
  client.println("<button type=\"submit\">ON</button>");
  client.println("</form>");
  client.println("</td><td>");
  client.println("<form action=\"/LED=OFF\">");
  client.println("<button type=\"submit\">OFF</button>");
  client.println("</form>");
  client.println("</td></tr></table>");
  client.println("<br><br>");
  client.println("<h1><font='red'>www.robdomo.com</font></h1>");
  client.println("</center>");
  client.println("</html>");
  
 
  delay(1);
  Serial.println("Client disconnected");
  Serial.println("");
 
}

 


 

Laisser un commentaire