Regela icon

Esp8266 Web Server TimeLEd

Regela | PRO | 02/26/20 12:56:29 PM UTC | 0 ⭐ | 447 👁️ | Never ⏰ | []
C++ |

1.45 KB

|

None

|

0 👍

/

0 👎

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
const char* ssid = "WiFi";
const char* password = "Password";
int led1=4,led2=5;
ESP8266WebServer server(80);
String head = "<html><head><title>LED</title><meta charset='utf-8'></head><body>";
String tail = "</body></html>";
void handleRoot() {
  String s = "<form action='/LedOn1'> <input type='text' name='time' />"
  " <input type='submit' value='Led1 On'/> </form>"
  "<form action='/LedOn2'> <input type='text' name='time' />"
  " <input type='submit' value='Led2 On'/> </form>";
  server.send(200, "text/html", head + s + tail);
}
void ledOn1() {
  int time =  server.arg(0).toInt();
  server.send(200, "text/plain",  "OK" );
  digitalWrite(led1,1);
  delay(time*1000);
  digitalWrite(led1,0);
}
void ledOn2() {
  int time =  server.arg(0).toInt();
  server.send(200, "text/plain",  "OK" );
  digitalWrite(led2,1);
  delay(time*1000);
  digitalWrite(led2,0);
}
void setup(void) {
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println(WiFi.localIP());
  server.on("/", handleRoot);
  server.on("/LedOn1", ledOn1);
  server.on("/LedOn2", ledOn2);
  server.begin();
  Serial.println("HTTP server started");
}
void loop(void) {
  server.handleClient();
}

Comments