Bonjour Tous,
Alors voici, j'avais une prise commandée RF que l'on peut trouver dans les magasins comme Aldi ou Lidel :
Voir photo
Apres ouverture et tentative de réparation infructueuse j'y ai installer ceci :
et cela :
le code est la:
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
const char* ssid = "ssid"; // remplacer par le SSID de votre WiFi
const char* password = "password "; // remplacer par le mot de passe de votre WiFi
String state = "OFF" ;
IPAddress ip(192, 168, 0, 200);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
ESP8266WebServer server(80); // on instancie un serveur ecoutant sur le port 80
void setup(void){
Serial.begin(115200);
pinMode(2, OUTPUT);
pinMode(0, OUTPUT);
digitalWrite(2, HIGH);
WiFi.config(ip, gateway, subnet);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
digitalWrite(2, LOW);
digitalWrite(0, HIGH);
server.on("/", [](){
// on recupere le parametre msg dans l'url
String message=server.arg("msg");
if (message == "STATE"){
server.send(200, "text/plain", state);
}
if (message == "ON"){
state = "ON";
digitalWrite(0, LOW);
digitalWrite(2, LOW);
server.send(200, "text/plain", "ON!");
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
}
if (message == "OFF"){
state = "OFF";
digitalWrite(0, HIGH);
digitalWrite(2, LOW);
server.send(200, "text/plain", "OFF!");
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
delay(200);
digitalWrite(2, HIGH);
delay(200);
digitalWrite(2, LOW);
}
server.send(200, "text/plain", "#" + message );
});
server.begin();
}
void loop(void){
// a chaque iteration, on appelle handleClient pour que les requetes soient traitees
server.handleClient();
}
Bon je n'ai rien inventé mais le bon côté est qu'il ne faut pas tous jeter !!!!