#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
IPAddress local_ip(192,168,100,5);
IPAddress gateway(192, 168, 100, 2);
IPAddress subnet(255, 255, 255, 0);
WebServer server(80);
uint8_t led1 = 26;
uint8_t led2 = 27;
bool led1_state = LOW;
bool led2_state = LOW;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
WiFi.softAP(ssid, password);
WiFi.softAPConfig(local_ip,gateway,subnet);
delay(100);
Serial.print("Access Point IP address: ");
Serial.println(WiFi.softAPIP());
server.on("/", handle_ledOnConnect);
server.on("/led1ON", handle_led1ON);
server.on("/led2ON", handle_led2ON);
server.on("/led1OFF", handle_led1OFF);
server.on("/led2OFF", handle_led2OFF);
server.onNotFound(handle_notFound);
server.begin();
Serial.println("Connected!");
}
void loop() {
server.handleClient();
if(led1_state){
digitalWrite(led1, HIGH);
}else{
digitalWrite(led1, LOW);
}
if(led2_state){
digitalWrite(led2, HIGH);
}else{
digitalWrite(led2, LOW);
}
}
void handle_ledOnConnect(){
led1_state = LOW;
led2_state = LOW;
Serial.println("Pins LOW");
server.send(200, "text/html", sendHTML(led1_state, led2_state));
}
void handle_led1ON(){
led1_state = HIGH;
led2_state = LOW;
server.send(200, "text/html", sendHTML(led1_state, led2_state));
}
void handle_led2ON(){
led2_state = HIGH;
server.send(200, "text/html", sendHTML(led1_state, led2_state));
}
void handle_led1OFF(){
led1_state = LOW;
server.send(200, "text/html", sendHTML(led1_state, led2_state));
}
void handle_led2OFF(){
led2_state = LOW;
server.send(200, "text/html", sendHTML(led1_state, led2_state));
}
void handle_notFound(){
server.send(404, "text/plain", "Not found!");
}
String sendHTML(uint8_t led1, uint8_t led2){
String page = "<!DOCTYPE><html>\n";
page+= "<head>\n";
page+= "<title>LED control</title>\n";
page+= "</head>\n";
page+= "<body>\n";
if(led1){
page+= "<p>LED 1 ON</p>\n";
page+= "<a href=\"/led1ON\">LED1</a>\n";
}else{
page+= "<p>LED 1 OFF</p>\n";
page+= "<a href=\"/led1OFF\">LED1</a>\n";
}
if(led2){
page+= "<p>LED 2 ON </p>";
page+= "<a href= \"/led2ON\">LED2</a>\n";
}
else{
page+="<p> LED 2 OFF</p>";
page+= "<a href=\"/led2OFF\">LED2</a>\n";
}
page+="</body>";
page+="</html>";
return page;
}