/* V2 RoboticaXYZ.com */ #include // Incluimos la librería para poder usarla #include //Incluye la librería ESP8266WiFi const char ssid[] = "A-CultivoVertical-RobotXYZ-0002"; //Definimos la SSDI WIFI -nombre de red- const char password[] = "0987654321"; //Definimos la contraseña de WIFI WiFiServer server(80); //Definimos el puerto de comunicaciones int PinLED = 2; //Definimos el pin de salida - GPIO2 / D4 int estado = LOW; //Definimos la variable que va a recoger el estado del LED // Creamos un tipo de objeto personalizado struct Obj{ char fecha1[9]; char fecha2[9]; char fecha3[9]; char fecha4[9]; char fecha5[9]; char fecha6[9]; char fecha7[9]; char fecha8[9]; }; void setup() { //float f = 0.00f; // Variable to store data read from EEPROM. int eeAddress = 0; // Dirección EEPROM donde leer/Escribir Serial.begin(9600); // Datos a guardar. Obj customVarW = { "19/11/23", "19/11/23", "19/11/23", "19/11/23", "19/11/23", "19/11/23", "19/11/23", "19/11/23" }; // Escribiendo datos EEPROM.put(eeAddress, customVarW); Serial.print(" ¡Datos escritos! "); // Recuperamos los datos Obj customVarR; EEPROM.get(eeAddress, customVarR); // Mostramos los datos leídos, los cuales deben coincidir Serial.println(" -- Leyendo fecha de la EEPROM: "); Serial.println(customVarR.fecha1); Serial.println(customVarR.fecha2); Serial.println(customVarR.fecha3); Serial.println(customVarR.fecha4); Serial.println(customVarR.fecha5); Serial.println(customVarR.fecha6); Serial.println(customVarR.fecha7); Serial.println(customVarR.fecha8); pinMode(PinLED, OUTPUT); //Inicializamos el GPIO2 como salida digitalWrite(PinLED, LOW); //Dejamos inicialmente el GPIO2 apagado server.begin(); //inicializamos el servidor WiFi.mode(WIFI_AP); //WiFi.softAP(ssid, password); //Red con clave, en el canal 1 y visible //WiFi.softAP(ssid, password,3,1); //Red con clave, en el canal 3 y visible WiFi.softAP(ssid); //Red abierta Serial.println(); Serial.print("Direccion IP Punto de acceso - por defecto: "); //Imprime la dirección IP Serial.println(WiFi.softAPIP()); Serial.print("Direccion MAC Punto de acceso: "); //Imprime la dirección MAC Serial.println(WiFi.softAPmacAddress()); } void loop() { // Comprueba si el cliente ha conectado WiFiClient client = server.available(); if (!client) { return; } // Espera hasta que el cliente envía alguna petición Serial.println("Cliente Nuevo"); while(!client.available()){ delay(1); } // Imprime el número de clientes conectados Serial.printf("Clientes conectados al Punto de acceso: %dn", WiFi.softAPgetStationNum()); // Lee la petición String peticion = client.readStringUntil('r'); Serial.println(peticion); client.flush(); // Comprueba la petición if (peticion.indexOf('/BOMBA=ON') != -1) { estado = HIGH; } if (peticion.indexOf('/BOMBA=OFF') != -1){ estado = LOW; } //Enciende o apaga el LED en función de la petición digitalWrite(PinLED, estado); // Comprueba la petición if (peticion.indexOf('/Save=ON') != -1) { Serial.println("Fecha Guardada Separar todas las fechas que llegan por get para guardar en la eeprom"); } // Envía la página HTML de respuesta al cliente client.println("HTTP/1.1 200 OK"); client.println(""); client.println(""); client.println(""); client.println("Hidroponia-RoboticaXYZ
"); client.println("
"); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println("

"); client.println(ssid); client.println("

Cultivo Vertical Automatizado

"); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println("
Panel Solar"); client.println("

Calendario Digital

GeneradorInicio"); client.println("Fin"); client.println("
|      |
"); client.println("\ 1 /"); client.println("
| |
"); client.println(""); client.println("
|      |
"); client.println("\ 2 /"); client.println("
| |
"); client.println(""); client.println("
|      |
"); client.println("\ 3 /"); client.println("
| |
"); client.println(""); client.println("
|      |
"); client.println("\ 4 /"); client.println("
| |
"); client.println(""); client.println("
|      |
"); client.println("\ 5 /"); client.println("
| |
"); client.println(""); client.println("
|      |
"); client.println("\ 6 /"); client.println("
| |
"); client.println(""); client.println("
|      |
"); client.println("\ 7 /"); client.println("
| |
"); client.println(""); client.println("
|      |
"); client.println("\ 8 /"); client.println("
| |
"); client.println(""); client.println("
Sensor Humedad "); client.println("Buscando...
Bomba de Agua"); if(estado == HIGH) { client.print("Encendida"); } else { client.print("Apagada"); } client.println(""); //client.print(""); client.print(""); client.println("
Nivel
Tanque Agua
RoboticaXYZ
"); client.println("

"); client.println(""); client.println(""); client.println("
"); client.println("

Energía

"); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println(""); client.println("
-- Sin Bateria --
Panel Solar
Generador
"); client.println("

"); client.println("

Agua y Humedad

"); client.println(""); client.println(""); client.println("

"); //Imprime el estado del led client.print("

Bomba de Agua: "); if(estado == HIGH) { client.print("ENCENDIDO

"); } else { client.print("APAGADO"); } client.println("
"); if(estado == HIGH) { client.println(""); } else { client.println(""); } client.println("
"); client.println("
"); client.println("
"); client.println(""); delay(1); Serial.println("Esperando Cliente"); }