urls ESP, baudio,..

This commit is contained in:
jp.av.dev 2021-07-13 22:50:58 -04:00
parent fd36dc6062
commit c7051a1da9
2 changed files with 152 additions and 79 deletions

View File

@ -3,24 +3,104 @@
#include <ESP8266WebServer.h> #include <ESP8266WebServer.h>
#include <ESP8266mDNS.h> #include <ESP8266mDNS.h>
#include "confidencial.h" #include "confidencial.h"
String modo, estado, horaOn1, horaOff1, horaOn2, horaOff2, posOn1, posOn2, posOff1, posOff2, hora, minuto, segundo, dia, mes, ano; String modo, estado, horaOn1, horaOff1, horaOn2, horaOff2, posOn1, posOn2, posOff1, posOff2, hora, minuto, segundo, dia, mes, ano;
String temporal;
ESP8266WebServer server(80); ESP8266WebServer server(80);
const int led = 13;
void handleRoot() { void handleRoot() {
String mensaje, msj_arduino, valores_ino; server.send(200, "text/plain", temporal);
valores_ino = "Modo: "+modo+"\nEstado: "+estado+"\nHora encendido: "+horaOn1+"\nHora apagado: "+horaOff1+ }
"\nHora encendido2: "+horaOn2+"\nHora apagado2: "+horaOff2+"\nPosiciones Servo ON1 y ON2: "+posOn1+", "+posOn2+
"\nPosiciones Servo OFF1 y OFF2: "+posOff1+", "+posOff2+"\nHora y fecha: "+hora+":"+minuto+":"+segundo+" "+dia+ void handleACCmanual() {
"/"+mes+"/"+ano; String mensaje;
for (uint8_t i = 0; i < server.args(); i++) { if(server.arg(0) == "5") {
mensaje += " " + server.argName(i) + ": " + server.arg(i) + "\n"; if(server.arg(1) == "on") {
msj_arduino+=server.arg(i)+","; 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, 5,?";
}
} else {
mensaje = "Opcion no valida ?,?";
} }
server.send(200, "text/plain", "Argumentos: "+mensaje+"\nValores Arduino :\n"+valores_ino); server.send(200, "text/plain", mensaje);
Serial.println(msj_arduino); }
limpiaSerial();
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<mod=2&dia= &mes= &año= &hrs= &mins= &segs= >";
}
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<mod=3&hrOn1= &hrOff1= &hrOn2= &hrOff2= >";
}
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<mod=4&posOn1= &posOn2= &posOff1= &posOff2= >";
}
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<mod=6&posServ= >";
}
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() { void handleNotFound() {
@ -39,8 +119,6 @@ void handleNotFound() {
} }
void setup(void) { void setup(void) {
pinMode(led, OUTPUT);
digitalWrite(led, 0);
Serial.begin(115200); Serial.begin(115200);
WiFi.mode(WIFI_STA); WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password); WiFi.begin(ssid, password);
@ -63,6 +141,13 @@ void setup(void) {
server.on("/", handleRoot); 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.on("/inline", []() {
server.send(200, "text/plain", "esto funciona como debe"); server.send(200, "text/plain", "esto funciona como debe");
}); });
@ -79,31 +164,14 @@ void limpiaSerial() {
} }
} }
void loop(void) { void leerSerial() {
if (Serial.available() > 0) { while(Serial.available()){
modo = Serial.readStringUntil(','); temporal = Serial.readStringUntil('\r');
estado = Serial.readStringUntil(',');
if(estado == "1") {
estado = "Encendido";
} else if(estado == "0") {
estado = "Apagado";
}
horaOn1 = Serial.readStringUntil(',');
horaOff1 = Serial.readStringUntil(',');
horaOn2 = Serial.readStringUntil(',');
horaOff2 = Serial.readStringUntil(',');
posOn1 = Serial.readStringUntil(',');
posOn2 = Serial.readStringUntil(',');
posOff1 = Serial.readStringUntil(',');
posOff2 = Serial.readStringUntil(',');
hora = Serial.readStringUntil(',');
minuto = Serial.readStringUntil(',');
segundo = Serial.readStringUntil(',');
dia = Serial.readStringUntil(',');
mes = Serial.readStringUntil(',');
ano = Serial.readStringUntil(',');
} }
limpiaSerial(); }
void loop(void) {
leerSerial();
server.handleClient(); server.handleClient();
} }

View File

@ -66,9 +66,11 @@ void loop() {
if((((fecha.hour() >= horaON1) && (fecha.hour() < horaOFF1)) || if((((fecha.hour() >= horaON1) && (fecha.hour() < horaOFF1)) ||
((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) { ((fecha.hour() >= horaON2) && (fecha.hour() < horaOFF2))) && (estado_termo==0)) {
termoACC(posON1, posON2); termoACC(posON1, posON2);
estado_termo=1;
} else if((((fecha.hour() < horaON1) || (fecha.hour() >= horaOFF1)) && } else if((((fecha.hour() < horaON1) || (fecha.hour() >= horaOFF1)) &&
((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2))) && (estado_termo==1)) { ((fecha.hour() < horaON2) || (fecha.hour() >= horaOFF2))) && (estado_termo==1)) {
termoACC(posOFF1, posOFF2); termoACC(posOFF1, posOFF2);
estado_termo=0;
} }
} }
previoMillisAUTO = millis(); previoMillisAUTO = millis();
@ -95,8 +97,10 @@ void loop() {
if(espera_man) { if(espera_man) {
if(manual == 1) { if(manual == 1) {
termoACC(posON1, posON2); termoACC(posON1, posON2);
estado_termo=1;
} else if (manual == 0){ } else if (manual == 0){
termoACC(posOFF1, posOFF2); termoACC(posOFF1, posOFF2);
estado_termo=0;
} }
espera_man=0; espera_man=0;
} }
@ -118,48 +122,50 @@ void loop() {
void leerDatos() { void leerDatos() {
if (Serial.available() > 0) { if (Serial.available() > 0) {
byte temp_var=0; byte temp_var;
temp_var = Serial.readStringUntil(',').toInt(); temp_var = Serial.readStringUntil(',').toInt();
if(temp_var < 7 && temp_var > 0){ if(temp_var) {
estado = temp_var; if(temp_var < 7 && temp_var > 0){
} else { estado = temp_var;
estado = 1; } else {
estado = 1;
}
switch (estado) {
case 1:
limpiaSerial();
break;
case 2:
di = Serial.readStringUntil(',').toInt();
me = Serial.readStringUntil(',').toInt();
an = Serial.readStringUntil(',').toInt();
hr = Serial.readStringUntil(',').toInt();
mn = Serial.readStringUntil(',').toInt();
sg = Serial.readStringUntil(',').toInt();
break;
case 3:
horaON1 = Serial.readStringUntil(',').toInt();
horaOFF1 = Serial.readStringUntil(',').toInt();
horaON2 = Serial.readStringUntil(',').toInt();
horaOFF2 = Serial.readStringUntil(',').toInt();
break;
case 4:
posON1 = Serial.readStringUntil(',').toInt();
posON2 = Serial.readStringUntil(',').toInt();
posOFF1 = Serial.readStringUntil(',').toInt();
posOFF2 = Serial.readStringUntil(',').toInt();
break;
case 5:
manual = Serial.readStringUntil(',').toInt();
espera_man = 1;
break;
case 6:
posTEMP = Serial.readStringUntil(',').toInt();
break;
default:
limpiaSerial();
}
limpiaSerial();
} }
switch (estado) {
case 1:
limpiaSerial();
break;
case 2:
di = Serial.readStringUntil(',').toInt();
me = Serial.readStringUntil(',').toInt();
an = Serial.readStringUntil(',').toInt();
hr = Serial.readStringUntil(',').toInt();
mn = Serial.readStringUntil(',').toInt();
sg = Serial.readStringUntil(',').toInt();
break;
case 3:
horaON1 = Serial.readStringUntil(',').toInt();
horaOFF1 = Serial.readStringUntil(',').toInt();
horaON2 = Serial.readStringUntil(',').toInt();
horaOFF2 = Serial.readStringUntil(',').toInt();
break;
case 4:
posON1 = Serial.readStringUntil(',').toInt();
posON2 = Serial.readStringUntil(',').toInt();
posOFF1 = Serial.readStringUntil(',').toInt();
posOFF2 = Serial.readStringUntil(',').toInt();
break;
case 5:
manual = Serial.readStringUntil(',').toInt();
espera_man = 1;
break;
case 6:
posTEMP = Serial.readStringUntil(',').toInt();
break;
default:
limpiaSerial();
}
limpiaSerial();
} }
} }
@ -197,7 +203,6 @@ void termoACC(byte pos1, byte pos2) {
} }
} }
} while (cont<4); } while (cont<4);
estado_termo=!estado_termo;
} }
void setVarsEP(){ void setVarsEP(){