bonjour
suite à une premier topic je reviens vers vous car je suis confronté à deux difficultés que je n’arrive pas à résoudre
La première relève du programme :
j’ai créé un point d’accès avec à cette adresse IP un serveur qui attend une requête GET
Lorsque je me connecte à ce serveur et que j’envoie ma requête mon programme à un comportement instable.
soit il exécute la requête en envoyant le message prévu puis repart dans une boucle d’attente, soit il exécute une fois la requête et il se bloque sur la ligne
Serial.println(“Nouveau client”);
La seconde difficulté est relative au comportement électrique de l’ESP8266
A terme j’ai prévu de piloter un relai statique mais pour l’instant j’utilise une led pilotée par le port GPIO2 via un transistor qui fonctionne en tout ou rien
le transistor est la diode étant eux alimentés sous 5 v j’ai mis, après calcul comme résistance de collecteur une valeur de 300 ohms et de 3 k pour la base ce qui donne un courant sur le gpio 2 de 1 Ma
En fonction des cas soit après le reset la diode s’allume sans commande et le programme fait que rebooter, soit cela fonctionne bien mais dès la première commutation la diode reste allumée
En espérant avoir une aide de votre part
cordialement
je joins mon programme
/*
Date : 23/09/2017
Description : Pilotage LED avec un browser WEB
Source : Exemple IDE Arduino
*/
#include <ESP8266WiFi.h>// varialbles et constantes
IPAddress local_IP(192,168,4,22);
IPAddress gateway(192,168,4,9);
IPAddress subnet(255,255,255,0);
const char* ssid = “Eclairage”;
const char* password = “xxxxxxxxx;”;
int valref=1;
int val=1;// Creation d un serveur qui ecoute sur le port 8080
WiFiServer server(local_IP,8080);void setup() {
Serial.begin(115200);
delay(10);// Declaration port GPIO2 en sortie
pinMode(2, OUTPUT);
digitalWrite(2, 0);//Création du point d’accès
Serial.println();
Serial.println();
Serial.println(" création;IP;gateway, chanel");Serial.print("Setting soft-AP configuration … ");
Serial.println(WiFi.softAPConfig(local_IP, gateway, subnet) ? “Ready” : “Failed!”);Serial.print("Setting soft-AP … ");
Serial.println(WiFi.softAP(ssid,password) ? “Ready” : “Failed!”);Serial.print("Soft-AP IP address = ");
Serial.println("");
Serial.println(“WiFi OK”);// demarrage du serveur
server.begin();
Serial.println(“Server OK”);// Adresse IP locale attribuee
Serial.println(WiFi.localIP());
}void loop() {
val=0;
// Un client est-il connecte ?
WiFiClient client = server.available();
if (!client) {
Serial.println(“Pas de client connecté”);
return;
}// Attente donnees envoyees par un client
Serial.println(“Nouveau client”);
while(!client.available()){
delay(1);
}// Lecture premiere ligne de la requete
String req = client.readStringUntil(’\r’);
Serial.println(req);
client.flush();// Decodage de la requete recue
if (req.indexOf("/gpio/1") != -1){
val = 1;
Serial.println(“Demande allumage LED”);}
else {
Serial.println(“Requete invalide”);
client.stop();
return;
}// Positionnement port GPIO2
digitalWrite(2, val);client.flush();
// Prepararation de la reponse au client WEB
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\nGPIO est maintenant ";
s += (val)?“allumee”:“eteinte”;
s += “\n”;// Envoi de la reponse au client
client.print(s);
delay(1);
Serial.println(“Client deconnecte”);if (val=1) {
delay(10000);
val=0;}
Serial.println(val);}