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
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("");
}
Nombre de vues: 1 738