Yarana Iot Guru
Published © MIT

Control Your ESP32 LED Through A Local Webpage

Control ESP32-connected LEDs directly from your phone/computer via a local webpage — DIY IoT home automation by YaranaIoT Guru.

BeginnerFull instructions provided8 hours343
Control Your ESP32 LED Through A Local Webpage

Things used in this project

Software apps and online services

Arduino IDE
Arduino IDE

Story

Read more

Code

💻 Code Example — ESP32 Web Server

C/C++
#include <WiFi.h>

const char* ssid = "ESP32_Local";
const char* password = "12345678";

WiFiServer server(80);
const int ledPin = 2;
bool ledState = false;

String buildHTML() {
  String html = "<html><head><meta name='viewport' content='width=device-width, initial-scale=1'>";
  html += "<title>ESP32 Local Web LED Control</title>";
  html += "<style>body{text-align:center;font-family:Arial;}button{padding:10px 20px;margin:10px;}</style></head><body>";
  html += "<h2>ESP32 LED Control</h2>";
  html += "<p>LED is " + String(ledState ? "ON" : "OFF") + "</p>";
  html += "<a href='/toggle'><button>Toggle LED</button></a>";
  html += "<p><small>by YaranaIoT Guru</small></p></body></html>";
  return html;
}

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);

  Serial.begin(115200);
  WiFi.softAP(ssid, password);
  Serial.println("AP Started. Connect to Wi-Fi 'ESP32_Local'");
  Serial.println("IP Address: " + WiFi.softAPIP().toString());

  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if(!client) return;

  String request = client.readStringUntil('\r');
  client.flush();

  if(request.indexOf("/toggle") != -1){
    ledState = !ledState;
    digitalWrite(ledPin, ledState);
  }

  server.sendHeader("Location", "/");
  server.send(303);
}
#include <WiFi.h>

const char* ssid = "ESP32_Local";
const char* password = "12345678";

WiFiServer server(80);
const int ledPin = 2;
bool ledState = false;

String buildHTML() {
  String html = "<html><head><meta name='viewport' content='width=device-width, initial-scale=1'>";
  html += "<title>ESP32 Local Web LED Control</title>";
  html += "<style>body{text-align:center;font-family:Arial;}button{padding:10px 20px;margin:10px;}</style></head><body>";
  html += "<h2>ESP32 LED Control</h2>";
  html += "<p>LED is " + String(ledState ? "ON" : "OFF") + "</p>";
  html += "<a href='/toggle'><button>Toggle LED</button></a>";
  html += "<p><small>by YaranaIoT Guru</small></p></body></html>";
  return html;
}

void setup() {
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);

  Serial.begin(115200);
  WiFi.softAP(ssid, password);
  Serial.println("AP Started. Connect to Wi-Fi 'ESP32_Local'");
  Serial.println("IP Address: " + WiFi.softAPIP().toString());

  server.begin();
}

void loop() {
  WiFiClient client = server.available();
  if(!client) return;

  String request = client.readStringUntil('\r');
  client.flush();

  if(request.indexOf("/toggle") != -1){
    ledState = !ledState;
    digitalWrite(ledPin, ledState);
  }

  server.sendHeader("Location", "/");
  server.send(303);
}

Credits

Yarana Iot Guru
48 projects • 25 followers
Yarana Iot GuruYarana IoT Guru: Arduino,ESP32, GSM, NodeMCU & more.Projects, Tutorials & App Development. Innovate with us!
Thanks to YaranaIoT Guru.

Comments