// Programa : Projeto Controla aparelho para mosquito
// Autor : RotNet
// NTP Funcionar
#include
#include
#include
#include
#include
#include
//const int PinoD1 = 5;
//const int PinoD2 = 4;
//const int PinoD5 = 14;
//const int PinoD6 = 12;
//const int PinoD7 = 13;
const int Pino0 = 0; // GPIO0
// Rele
const int PinoTX = 1; // TX
// pisca
const int Pino2 = 2; // GPIO2
// ping
const int PinoRX = 3; // RX
// conexao
const char *ssid = "RotNet V";
const char *password = "colorado";
const char titulo = "Controle de mata-mosquito!"
WiFiUDP ntpUDP;
ESP8266WebServer server(80);
int16_t utc = -3; //UTC -3:00 Brazil
uint32_t currentMillis = 0;
uint32_t previousMillis = 0;
uint32_t currentHour = 0;
uint32_t previousHour = 0;
uint32_t currentMillis2 = 0;
uint32_t previousMillis2 = 0;
int Ativa;
int Desativa;
void EEPROMWriteInt(int address, int value); //2 Bytes
int EEPROMReadInt(int address);
NTPClient timeClient(ntpUDP, "a.st1.ntp.br", utc*3600, 60000);
int HORA = 0;
String HCOMPLETA = "";
String estadorele = "";
String txtAtiva = "";
String txtDesativa = "";
String opcao = "";
int manual = 0;
int comando = 0;
IPAddress staticIP(192,168,9,103);
IPAddress gateway(192,168,9,1);
IPAddress subnet(255,255,255,0);
IPAddress dns1(192,168,9,1);
//Check if header is present and correct
bool is_authentified(){
Serial.println("Enter is_authentified");
if (server.hasHeader("Cookie")){
Serial.print("Found cookie: ");
String cookie = server.header("Cookie");
Serial.println(cookie);
if (cookie.indexOf("ESPSESSIONID=1") != -1) {
Serial.println("Authentification Successful");
return true;
}
}
Serial.println("Authentification Failed");
return false;
}
//login page, also called for disconnect
void handleLogin(){
String msg;
if (server.hasHeader("Cookie")){
Serial.print("Found cookie: ");
String cookie = server.header("Cookie");
Serial.println(cookie);
}
if (server.hasArg("DISCONNECT")){
Serial.println("Disconnection");
server.sendHeader("Location","/login");
server.sendHeader("Cache-Control","no-cache");
server.sendHeader("Set-Cookie","ESPSESSIONID=0");
server.send(301);
return;
}
if (server.hasArg("USERNAME") && server.hasArg("PASSWORD")){
if (server.arg("USERNAME") == "luizcarlos" && server.arg("PASSWORD") == "colorado" ){
server.sendHeader("Location","/");
server.sendHeader("Cache-Control","no-cache");
server.sendHeader("Set-Cookie","ESPSESSIONID=1");
server.send(301);
Serial.println("Log in Successful");
return;
}
msg = " O usuario/senha errado! tente de novo.";
}
String content = "Controle de mata-mosquito!";
content += "";
content += "";
content += "
";
content += "Para nao entrar clique aqui.";
server.send(200, "text/html", content);
}
//root page can be accessed only if authentification is ok
void handleRoot(){
Serial.println("Enter handleRoot");
//Ativa = EEPROMReadInt(1);
//Desativa = EEPROMReadInt(4);
String header;
if (!is_authentified()){
server.sendHeader("Location","/login");
server.sendHeader("Cache-Control","no-cache");
server.send(301);
return;
}
String content = "Controle de mata-mosquito!";
content += "";
content += "";
content += "Controle de mata-mosquito!
";
content += "Status do Microcontrolador
";
content += "O Estado atual do aparelho : " + estadorele + "
";
content += "Hora do controlador : " + HCOMPLETA + "
";
content += "
";
; content += " Ligar Manualmente
";
content += " Desligar Manualmente
";
content += " Nenhuma
";
content += ">""
";
content += "
";
content += "Clique para sair. logoff";
content += "