#include <ESP8266WiFi.h>
const char* ssid = "PagaWifi";
const char* password = "1234";
WiFiServer server(80);
void setup() {
Serial.begin(9600);
delay(10);
//Configuración del GPIO2
pinMode(2, OUTPUT);
digitalWrite(2,LOW);
Serial.println();
Serial.println();
Serial.print("Conectandose a red : ");
Serial.println(ssid);
WiFi.begin(ssid, password); //Conexión a la red
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectado");
server.begin(); //Iniciamos el servidor
Serial.println("Servidor Iniciado");
Serial.println("Ingrese desde un navegador web usando la siguiente IP:");
Serial.println(WiFi.localIP()); //Obtenemos la IP
}
void loop() {
WiFiClient client = server.available();
if (client) //Si hay un cliente presente
{
Serial.println("Nuevo Cliente");
//esperamos hasta que hayan datos disponibles
while(!client.available()&&client.connected())
{
delay(1);
}
// Leemos la primera línea de la petición del cliente.
String linea1 = client.readStringUntil('r');
Serial.println(linea1);
if (linea1.indexOf("LED=ON")>0) //Buscamos un LED=ON en la 1°Linea
{
digitalWrite(2,HIGH);
}
if (linea1.indexOf("LED=OFF")>0)//Buscamos un LED=OFF en la 1°Linea
{
digitalWrite(2,LOW);
}
client.flush();
Serial.println("Enviando respuesta...");
//Encabesado http
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");// La conexión se cierra después de finalizar de la respuesta
client.println();
//Pagina html para en el navegador
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head><title>Naylam Mechatronics</title>");
client.println("<body>");
client.println("<h1 align='center'>Test ESP8266</h1>");
client.println("<div style='text-align:center;'>");
client.println("<br />");
client.println("<button onClick=location.href='./?LED=ON'>LED ON</button>");
client.println("<button onClick=location.href='./?LED=OFF'>LED OFF</button>");
client.println("<br />");
client.println("</div>");
client.println("</body>");
client.println("</html>");
delay(1);
Serial.println("respuesta enviada");
Serial.println();
}
}