#include <WiFi.h>
//------------------Servidor Web en puerto 80---------------------
WiFiServer server(80);
//---------------------Credenciales de WiFi-----------------------
const char* ssid ="Vale Sanchez" ;
const char* password = "dianita28";
//---------------------VARIABLES GLOBALES-------------------------
int SensorHum = 32;
int LED = 14;
int LED_2 = 27 ;
int LUMINOSIDAD = 33;
int Bomba = 34;
int VALOR_FOTO;
int humedad;
String currentLine = "";
String header; // Variable para guardar el HTTP request
//------------------------CODIGO HTML------------------------------
String generarPaginaHTML(){
String paginaInicio = "<!DOCTYPE html>"
"<html>"
"<head>"
"<meta charset='utf-8' />"
"<META HTTP-EQUIV='Refresh' CONTENT='1'>"
"<title>Servidor detector huemdad en el suelo </title>" //PONER TITULO A LA PAGINA WEB
"</head>"
"<body>"
"<center>"
"<h3 style='font-size:16rem; color:red;'>Servidor detector humedad en el suelo/h3>"
"<p style='font-size:10rem; color: green background-col or:#B7B7B7;'>Humedad:</p>>"
"<p style='font-size:10rem; color: blue background-col or:#B7B7B7;'>LUMINOSIDAD:</p>>"
"<p style='font-size:8rem; color: black'>";
String paginaFin = "</p></center>"
"</body>"
"</html>";
return paginaInicio;
}
//---------------------------SETUP--------------------------------
void setup() {
//Declaramos los pines como entradas y salidas
pinMode(LED,OUTPUT);
pinMode(LED_2,OUTPUT);
pinMode(SensorHum, INPUT);
pinMode(LUMINOSIDAD, INPUT);
pinMode(Bomba, OUTPUT);
Serial.begin(115200);
Serial.println("");
//Empezamos conectándonos a una red WiFi network
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected.");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
server.begin();
}
//----------------------------LOOP----------------------------------
void loop(){
humedad = analogRead(SensorHum);
VALOR_FOTO =analogRead (LUMINOSIDAD);
WiFiClient client = server.available(); // Escucha a los clientes entrantes
if (client) { // Si se conecta un nuevo cliente
Serial.println("New Client.");
// //
while (client.connected()) { // loop mientras el cliente está conectado
if (client.available()) { // si hay bytes para leer desde el cliente
char c = client.read(); // lee un byte
Serial.write(c); // imprime ese byte en el monitor serial
header += c;
if (c == '\n') { // si el byte es un caracter de salto de linea
// si la nueva linea está en blanco significa que es el fin del
// HTTP request del cliente, entonces respondemos:
if (currentLine.length() == 0) {
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
// enciende y apaga el LED
if(currentLine.endsWith("GET /H")){
digitalWrite(LED,HIGH);
digitalWrite(Bomba, LOW);
}
if(currentLine.endsWith("GET /L")){
digitalWrite(LED,LOW);
digitalWrite(Bomba, HIGH);
}
if(VALOR_FOTO<280){
analogWrite(LED_2,LOW);
}
if(VALOR_FOTO>300){
analogWrite(LED_2,HIGH);
}
Serial.println(VALOR_FOTO);
// Muestra la página web
String html = generarPaginaHTML();
client.println(html);
// la respuesta HTTP temina con una linea en blanco
client.println();
break;
} else { // si tenemos una nueva linea limpiamos currentLine
currentLine = "";
}
} else if (c != '\r') { // si C es distinto al caracter de retorno de carro
currentLine += c; // lo agrega al final de currentLine
}
}
}
header = ""; // Limpiamos la variable header
// Cerramos la conexión
client.stop();
Serial.println("Client disconnected.");
Serial.println("");
}
}