http://www.esp8266.com/viewtopic.php?f=19&t=3101
en lua: http://www.1br.de/simple-standalone-http-server-made-with-esp8266-and-nodemcu/
;ino! http://www.esp8266.com/viewtopic.php?f=32&t=3811
maquette communication wifi avec un
PoTrollWifi SANS passer par le réseaulocal
sera utilisé pour la configuration lors d'une installation!
soluce:
à alléger ne garder que la communication et une diode
#include <ESP8266WiFi.h>
const char *ssid = "ESPap";
WiFiServer server(80);
int ledPinRed = 15; // GPIO13
int ledPinGreen = 13; // GPIO13
int ledPinBlue = 3; // GPIO13 ok
int valueRed = LOW;
int valueGreen = LOW;
int valueBlue = LOW;
void setup() {
delay(1000);
Serial.begin(115200);
Serial.println();
delay(1000);
Serial.println("Configuring access point...");
pinMode(ledPinRed, OUTPUT);
pinMode(ledPinGreen, OUTPUT);
pinMode(ledPinBlue, OUTPUT);
digitalWrite(ledPinRed, LOW);
digitalWrite(ledPinBlue, LOW);
digitalWrite(ledPinGreen, LOW);
WiFi.softAP(ssid);
delay(1000);
Serial.println("Softap done...");
// while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(WiFi.status()); }
delay(1000);
Serial.println("Connected...");
Serial.println("done");
IPAddress myIP = WiFi.softAPIP();
Serial.print("AP IP address: ");
Serial.println(myIP);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
// Check if a client has connected
WiFiClient client = server.available();
if (!client) {
return;
}
// Wait until the client sends some data
// Serial.println("new client");
while(!client.available()){
delay(1);
}
// Read the first line of the request
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Match the request
if (request.indexOf("/RED=ON") != -1) {
digitalWrite(ledPinRed, HIGH);
valueRed = HIGH;
}
if (request.indexOf("/GREEN=ON") != -1) {
digitalWrite(ledPinGreen, HIGH);
valueGreen = HIGH;
}
if (request.indexOf("/BLUE=ON") != -1) {
digitalWrite(ledPinBlue, HIGH);
valueBlue = HIGH;
}
if (request.indexOf("/RED=OFF") != -1) {
digitalWrite(ledPinRed, LOW);
valueRed = LOW;
}
if (request.indexOf("/GREEN=OFF") != -1) {
digitalWrite(ledPinGreen, LOW);
valueGreen = LOW;
}
if (request.indexOf("/BLUE=OFF") != -1) {
digitalWrite(ledPinBlue, LOW);
valueBlue = LOW;
}
if (request.indexOf("/LED=OFF") != -1) {
digitalWrite(ledPinRed, LOW);
digitalWrite(ledPinGreen, LOW);
digitalWrite(ledPinBlue, LOW);
valueRed = LOW;
valueGreen = LOW;
valueBlue = LOW;
}
// Set ledPin according to the request
//digitalWrite(ledPin, value);
// Return the response
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.print("traffic light ");
// client.println(VERSION);
/* if(value == HIGH) {
client.print("On");
} else {
client.print("Off");
}
*/
client.println("<br>");
// setone(valueRed,"RED","ROUGE","rouge");
if (valueRed==HIGH) client.println("<a href=\"/RED=OFF\"\"><button>rouge </button></a>");
else client.println("<a href=\"/RED=ON\"\"><button>ROUGE</button></a>");
if (valueBlue==HIGH) client.println("<a href=\"/BLUE=OFF\"\"><button>bleu </button></a>");
else client.println("<a href=\"/BLUE=ON\"\"><button>BLUE</button></a>");
if (valueGreen==HIGH) client.println("<a href=\"/GREEN=OFF\"\"><button>vert </button></a>");
else client.println("<a href=\"/GREEN=ON\"\"><button>VERT</button></a>");
client.println("<a href=\"/LED=OFF\"\"><button>ETEINDRE </button></a>");
client.println("</html>");
delay(1);
// Serial.println("Client disonnected");
Serial.println("");
}