//Bibliotecas que gerenciarão o WIFI, primeira gera, segunda conecta
#include <WiFi.h>
#include <WiFiClient.h>
//gera serviço http no esp32
#include <WebServer.h>
//nome, senha e canal, 6 é o padrão da biblioteca
#define WIFI_SSID "Minha uaifai"
#define WIFI_PASSWORD "uifi1234"
#define WIFI_CHANNEL 6
//variaveis para controle do processo
int acende = 0;
int acendeT = 0;
int tempAcende = 0;
//instância da biblio que exige um parâmetro: a porta padrão do HTTP
WebServer server(80);
//Pino acionamento rele
const int pinRele = 17;
const int botao = 4;
void setup() {
Serial.begin(115200);
pinMode(rele, OUTPUT);
//Iniciando o sistema wifi, e verificando imprimindo pontos
WiFi.begin(WIFI_SSID, WIFI_PASSWORD, WIFI_CHANNEL);
Serial.print("Connecting to WiFi ");
Serial.print(WIFI_SSID);
//Espere pela conexão
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
//Criando rotas, chamadas de função para navegar pelas páginas
server.on("/", handleindex); //rota que busca a pagina inicial
server.on("acendeLuzTime", acendeLuzTime);
server.on("/acendeLuz", acendeLuz);
//inicio o servidor HTTP
server.begin();
}
void loop() {
//Escuta as solicitações dos clientes(navegadores)
server.handleClient();
acendeMaster();
}
void acendeLuz(){
if(acende == 0){
acende = 1;
}
else {
acende = 0;
}
}
void acendeLuzTime(){
if (acendeT == 0){
acendeT = 1;
}
else{
acendeT=0
}
}
void acendeMaster(){
if(acende == 1) {
digitalWrite (pinRele, LOW);
}
else if(acendeT == 1){
digitalWrite(pinRele, LOW);
delay(tempAcende);
digitalWrite((pinRele, HIGH));
}
}
void handleIndex(){
String html;
html="";
html +="";
server.send(200, "text/html", html);
}