Untitled

 avatar
unknown
plain_text
a year ago
3.5 kB
4
Indexable
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
// ESP Web Server Library to host a web page
#include <ESP8266WebServer.h>
//---------------------------------------------------------------
// Our HTML webpage contents in program memory
// Main
const char MAIN_page[] PROGMEM = R"=====(
<!DOCTYPE html>
<html>
<body>
<center>
<h1>State of LED: __</h1><br>
<a href="ledOn"><button>ON</button></a><br>
<a href="ledOff"><button>OFF</button></a><br>
</center>
</body>
</html>
)=====";

// Led on
const char LEDON_page[] PROGMEM = R"=====(
<!DOCTYPE html>
<html>
<body>
<center>
<h1>State of LED: ON</h1><br>
<a href="ledOn"><button>ON</button></a><br>
<a href="ledOff"><button>OFF</button></a><br>
</center>
</body>
</html>
)=====";

// Led off
const char LEDOFF_page[] PROGMEM = R"=====(
<!DOCTYPE html>
<html>
<body>
<center>
<h1>State of LED: OFF</h1><br>
<a href="ledOn"><button>ON</button></a><br>
<a href="ledOff"><button>OFF</button></a><br>
</center>
</body>
</html>
)=====";

#define LED LED_BUILTIN
// SSID and Password of your WiFi router
const char *ssid = "admin";
const char *password = "12345689";
// Declare a global object variable from the ESP8266WebServer class.

ESP8266WebServer server(80); // Server on port 80
//===============================================================
// This routine is executed when you open its IP in browser
//===============================================================
void handleRoot()
{
  Serial.println("You called root page");
  String html = MAIN_page;             // Read HTML contents
  server.send(200, "text/html", html); // Send web page
}
void handleLEDon()
{
  Serial.println("LED on page");
  digitalWrite(LED, LOW);              // LED is connected in reverse
  String html = LEDON_page;            // Read HTML contents
  server.send(200, "text/html", html); // Send ADC value only to client ajax request
}
void handleLEDoff()
{
  Serial.println("LED off page");
  digitalWrite(LED, HIGH);             // LED off
  String html = LEDOFF_page;           // Read HTML contents
  server.send(200, "text/html", html); // Send ADC value only to client ajax request
}
//==============================================================
// SETUP
//==============================================================

void setup()
{
  Serial.begin(115200);
  WiFi.begin(ssid, password); // Connect to your WiFi router
  Serial.println("");
  // Onboard LED port Direction output
  pinMode(LED, OUTPUT);
  // Power on LED state off
  digitalWrite(LED, HIGH);
  // Wait for connection
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  // If connection successful show IP address in serial monitor
  Serial.println("");

  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP()); // IP address assigned to your ESP
  server.on("/", handleRoot);     // Which routine to handle at root location. This is
  display page
      server.on("/ledOn", handleLEDon); // as Per <a href="ledOn">, Subroutine to be called
  server.on("/ledOff", handleLEDoff);
  server.begin(); // Start server
  Serial.println("HTTP server started");
}
//==============================================================
// LOOP
//==============================================================
void loop()
{
  server.handleClient(); // Handle client requests
}
Editor is loading...
Leave a Comment