#include<WiFi.h>
const char* ssid="RED_TUTOELECTRO";
const char* password="tutoelectro123";
WiFiServer server(8080);
const int LED1=18;
const int LED2=19;
//variable cliente
char linebuf[80];
int charcount=0;
void setup() {
Serial.begin(115200);
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
Serial.printf("Conectando a: %s\n", ssid);
WiFi.begin(ssid, password);
//intentamos que se conecte a la red wifi
while(WiFi.status() != WL_CONNECTED){
Serial.println("Conectando.........");
delay(1000);
}
Serial.print("conectado");
Serial.print("Direccion IP del Modulo: ");
Serial.println(WiFi.localIP());
server.begin();
}
void loop() {
WiFiClient client=server.available();
if(client){
Serial.print("Nuevo cliente");
memset(linebuf,0,sizeof(linebuf));
charcount=0;
boolean currentLineIsBlank=true;
while(client.connected()){
if(client.available()){
char c=client,read();
Serial.write(c);
linebuf[charcount]=c;
if(charcount<sizeof(linebuf)-1) charcount++;
if(c=='\n' && currentLineIsBlank){
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
client.println("<!DOCTYPE HTML><html><head>");
client.println("<body style=\"background-color:#006aa:\">");
client.println("<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head>");
client.println("<h1 style=\"width:500px;height:20px;color:#ffffff;\">Tutorial Web Server Esp32 </h1>");
client.println("<p style=\*color:#ffffff\">LED #1 <a href=\"on1\"><button>ON</button></a>$nbsp;<a href=\"off1\"><button>OFF</button></a></p>");
client.println("<p style=\*color:#ffffff\">LED #2 <a href=\"on2\"><button>ON</button></a>$nbsp;<a href=\"off2\"><button>OFF</button></a></p>");
client.println("</html>");
break;
}
if(c=='\n'){
currentLineIsBlank=true;
if(strstr(linebuf,"GET /on1")>0){
Serial.println("LED 1 ON");
digitalWrite(LED1, HIGH);
}
else if(strstr(linebuf,"GET /off1")>0){
Serial.println("LED 1 OFF");
digitalWrite(LED1, LOW);
}
else if(strstr(linebuf,"GET /on2")>0){
Serial.println("LED 2 ON");
digitalWrite(LED2, HIGH);
}
else if(strstr(linebuf,"GET /off2")>0){
Serial.println("LED 2 OFF");
digitalWrite(LED2, LOW);
}
currentLineIsBlank=true;
memset(linebuf,0,sizeof(linebuf));
charcount=0;
} else if(c!='\r'){
currentLineIsBlank=false;
}
}
}
delay(1);
client.stop();
Serial.println("cliente desconectado");
}
}