#include <WiFi.h>
const char* RedWiFi = "Alexis' iPhone"; //Nombre de Red donde nos conectaremos
const char* password = "123456789"; //Depende de pwd de modem local
byte LedPin = 2;
byte WiFiListo = 15;
bool value = false;
WiFiServer server (80);
void setup()
{
Serial.begin(115200);
pinMode(LedPin, OUTPUT);
pinMode(WiFiListo, OUTPUT);
Serial.print("Conectando a la Red: ");
Serial.println(RedWiFi);
WiFi.mode(WIFI_STA);
WiFi.begin(RedWiFi, password);
while (WiFi.status() != WL_CONNECTED)
{
digitalWrite(WiFiListo, HIGH);
Serial.println("...");
delay(80);
digitalWrite(WiFiListo, LOW);
delay(80);
}
digitalWrite(WiFiListo, HIGH);
Serial.println("Iniciando WEB server!!");
server.begin();
Serial.println("Conectarse a la siguiente Dirección WEB: ");
Serial.print("http://");
Serial.println(WiFi.localIP());
}
void loop()
{
WiFiClient client = server.available(); //verifica si hay un usuario entrando
if (client)
{
Serial.println("Usuario Nuevo");
String currentLine = "";
while (client.connected())
{
if (client.available())
{
char c = client.read();
Serial.write(c);
if (c == '\n') //Salto de linea
{
if (currentLine.length() == 0)
{
client.println("HTTP/1.1 200 OR");
client.println("Content_Type:text/html");
client.println("Connection: close");
client.println();
//html de la página web
client.println("<DOCTYPE html><html>");
client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\2>");
client.println("<link rel=\"icon\"data:,\">");
//Encabezado de la página WEB
client.println("<body><h1>ESP 32 Access Point de Alexis</h1>");
client.println("<br><br>");
client.println("<div style>=\"font-size:50px:\">) EL PIN se encuentra ahora: </div>");
client.println("<br><br>");
if(value = true)
{
client.println("<div style>=\"font-size:40px:\">) ENCENDIDO: </div>");
}
if(value = false)
{
client.println("<div style>=\"font-size:40px:\">) APAGADO: </div>");
}
String estilodebotones = height:100px; width: 200px; font-size: 40px;
// Define los botones y las características de los mismos
lient.println("<a href=\"/P\"\"><boton style=\"" + estilodebotones + "\"> Prende </button></a>");
client.println("<a href=\"/A\"\"><boton style=\"" + estilodebotones + "\"> Apaga </button></a><br />");
client.println("<br><br>");
// Definimos link para encender o apagar la salida
client.println("Click <a href=\"/H\"<aqui</a> Para encender el LED. <br>");
client.println("Click <a href=\"/L\"<aqui</a> Para apagar el LED. <br>");
client.println(); //linea en blanco
break;
}
else
currentLine == "";
}//Salto de linea en variable "c"
else if(c != '\r')
{
currentLine += c;
}
if(currentLine.endsWith("GET /P"))
{
digitalWrite(LedPin, HIGH);
value = true;
Serial.println("La salida se encendió con botón");
}
if(currentLine.endsWith("GET /A"))
{
digitalWrite(LedPin, LOW);
value = true;
Serial.println("La salida se apagó con botón");
}
if(currentLine.endsWith("GET /H"))
{
digitalWrite(LedPin, HIGH);
value = true;
Serial.println("La salida se encendió con link");
}
if(currentLine.endsWith("GET /L"))
{
digitalWrite(LedPin, HIGH);
value = true;
Serial.println("La salida se apagó con link");
}
}//Fin Usuario Disponible
}//Fin de condicion client.connected
clien.stop();
} //Fin condición cliente
}//FIN LOOP