From 3802521e03d1b90f663590d920d7e462bcb685df Mon Sep 17 00:00:00 2001 From: "jp.av.dev" Date: Wed, 14 Jul 2021 20:48:37 -0400 Subject: [PATCH] =?UTF-8?q?codigo=20m=C3=B3dulo=20ESP01=20y=20readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- caldera_esp/README.md | 25 +++++ caldera_esp/caldera_esp.ino | 177 ++++++++++++++++++++++++++++++++++++ 2 files changed, 202 insertions(+) create mode 100644 caldera_esp/README.md create mode 100755 caldera_esp/caldera_esp.ino diff --git a/caldera_esp/README.md b/caldera_esp/README.md new file mode 100644 index 0000000..e61cba6 --- /dev/null +++ b/caldera_esp/README.md @@ -0,0 +1,25 @@ +ESP01 +===== + +Archivo de configuracion ***confidencial.h*** +```c +const char* ssid = "SSID"; +const char* password = "password"; +``` + +## Urls +* '**/**' : muestra valores actuales de variables. + - ej. http://192.168.65.10/ +* '**/accion**' : accionamiento manual, espera argumentos on u off. + - ej. http://192.168.65.10/accion?mod=5&acc=on +* '**/sethora**' : configurar de fecha y hora. + - ej. http://192.168.65.10/sethora?mod=2&dia=14&mes=7&año=2021&hrs=1&mins=33&segs=24 +* '**/horasAcc**' : configurar horas de funcionamiento. + - ej. http://192.168.65.10/horasAcc?mod=3&hrOn1=5&hrOff1=7&hrOn2=16&hrOff2=18 +* '**/setservo**' : configurar posiciones de encendido y apagado. + - ej. http://192.168.65.10/setservo?mod=4&posOn1=110&posOn2=85&posOff1=45&posOff2=62 +* '**/setlibre**' : Mover servo libremente (15 < posicion > 165). + - ej. http://192.168.65.10/setlibre?mod=6&pos=125 +* '**/auto**' : Modo autonomo. + - ej. http://192.168.65.10/auto + diff --git a/caldera_esp/caldera_esp.ino b/caldera_esp/caldera_esp.ino new file mode 100755 index 0000000..037a8c5 --- /dev/null +++ b/caldera_esp/caldera_esp.ino @@ -0,0 +1,177 @@ +#include +#include +#include +#include +#include "confidencial.h" + +String modo, estado, horaOn1, horaOff1, horaOn2, horaOff2, posOn1, posOn2, posOff1, posOff2, hora, minuto, segundo, dia, mes, ano; +String temporal; + +ESP8266WebServer server(80); + +void handleRoot() { + server.send(200, "text/plain", temporal); +} + +void handleACCmanual() { + String mensaje; + if(server.arg(0) == "5") { + if(server.arg(1) == "on") { + mensaje = "Encendiendo Caldera"; + Serial.println("5,1"); + } else if(server.arg(1) == "off") { + mensaje = "Apagando Caldera"; + Serial.println("5,0"); + } else { + mensaje = "Opcion no valida\n"; + } + } else { + mensaje = "Opcion no valida ?,?"; + } + server.send(200, "text/plain", mensaje); +} + +void handleSEThora() { + // dia mes año hora min seg + String mensaje_web, msj_a_arduino; + if(server.arg(0) == "2") { + msj_a_arduino = "2,"; + msj_a_arduino += server.arg(1)+","; + msj_a_arduino += server.arg(2)+","; + msj_a_arduino += server.arg(3)+","; + msj_a_arduino += server.arg(4)+","; + msj_a_arduino += server.arg(5)+","; + msj_a_arduino += server.arg(6); + mensaje_web = "Fecha y hora enviadas a arduino"; + Serial.println(msj_a_arduino); + } else { + mensaje_web = "Opcion no valida\n"; + } + server.send(200, "text/plain", mensaje_web); +} + +void handleHorasAcc() { + String mensaje_web, msj_a_arduino; + if(server.arg(0) == "3") { + msj_a_arduino = "3,"; + msj_a_arduino += server.arg(1)+","; + msj_a_arduino += server.arg(2)+","; + msj_a_arduino += server.arg(3)+","; + msj_a_arduino += server.arg(4); + mensaje_web = "Horas de funcionamiento enviadas a arduino"; + Serial.println(msj_a_arduino); + } else { + mensaje_web = "Opcion no valida\n"; + } + server.send(200, "text/plain", mensaje_web); +} + +void handleSETservo() { + String mensaje_web, msj_a_arduino; + if(server.arg(0) == "4") { + msj_a_arduino = "4,"; + msj_a_arduino += server.arg(1)+","; + msj_a_arduino += server.arg(2)+","; + msj_a_arduino += server.arg(3)+","; + msj_a_arduino += server.arg(4); + mensaje_web = "Posiciones del servo enviadas a arduino"; + Serial.println(msj_a_arduino); + } else { + mensaje_web = "Opcion no valida\n"; + } + server.send(200, "text/plain", mensaje_web); +} + +void handleSETlibre() { + String mensaje_web, msj_a_arduino; + if(server.arg(0) == "6") { + msj_a_arduino = "6,"; + msj_a_arduino += server.arg(1); + mensaje_web = "Posicion del servo enviada a arduino"; + Serial.println(msj_a_arduino); + } else { + mensaje_web = "Opcion no valida\n"; + } + server.send(200, "text/plain", mensaje_web); +} + +void handleSETauto() { + String mensaje_web, msj_a_arduino; + msj_a_arduino = "1"; + mensaje_web = "Enviando modo 1 (Autonomo) a arduino"; + Serial.println(msj_a_arduino); + server.send(200, "text/plain", mensaje_web); +} + +void handleNotFound() { + String message = "Archivo no encontrado\n\n"; + message += "URI: "; + message += server.uri(); + message += "\nMethod: "; + message += (server.method() == HTTP_GET) ? "GET" : "POST"; + message += "\nArguments: "; + message += server.args(); + message += "\n"; + for (uint8_t i = 0; i < server.args(); i++) { + message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; + } + server.send(404, "text/plain", message); +} + +void setup(void) { + Serial.begin(115200); + WiFi.mode(WIFI_STA); + WiFi.begin(ssid, password); + Serial.println(""); + + // Wait for connection + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println(""); + Serial.print("Connected to "); + Serial.println(ssid); + Serial.print("IP address: "); + Serial.println(WiFi.localIP()); + + if (MDNS.begin("esp8266")) { + Serial.println("MDNS responder started"); + } + + server.on("/", handleRoot); + + server.on("/accion", handleACCmanual); + server.on("/sethora", handleSEThora); + server.on("/horasAcc", handleHorasAcc); + server.on("/setservo", handleSETservo); + server.on("/setlibre", handleSETlibre); + server.on("/auto", handleSETauto); + + server.on("/inline", []() { + server.send(200, "text/plain", "esto funciona como debe"); + }); + + server.onNotFound(handleNotFound); + + server.begin(); + Serial.println("HTTP server started"); +} + +void limpiaSerial() { + while(Serial.available() > 0) { + char temp = Serial.read(); + } +} + +void leerSerial() { + while(Serial.available()){ + temporal = Serial.readStringUntil('\r'); + } +} + +void loop(void) { + leerSerial(); + server.handleClient(); +} +