AntiGuide: Esp8266NodeMcuSoftApWebServer



PagePrincipale :: DerniersChangements :: ParametresUtilisateur :: Vous êtes 216.73.216.235 :: Signaler un abus :: le: 20250626 17:00:35

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("");
 
}