Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <ESP8266WebServer.h> // Bibioteca para Servidor Web ESP8266
- #include <ESP8266mDNS.h> // Bibioteca para ..... ESP8266
- MDNSResponder mdns; // ......
- const char* ssid = "xpto"; // Use sua credenciais de rede wifi
- const char* password = "minhoca;
- ESP8266WebServer server(80); // Instancia server
- // Strings com HTML
- String A_1 = "<!DOCTYPE HTML><html><head><meta http-equiv='refresh' content='1;URL=/Controle'/></head><h1><center> Controle de Agua</center>";
- String A_2 = "</p></center><h3><BR></h3><html>\r\n";
- String Al = ""; // Agua ligada
- String Ad = ""; // Agua desligada
- String Ail = "";
- String Aid = "";
- String Agua;
- #define Saida1 2 // GPIO Port para ligar Controle do triac (Pino 2 do MOC3023)
- const int Switch1 = 4; // GPIO Port para ligar o interruptor
- byte Switch1_atual = 0; // Variavel para staus de GPIO (Status do interruptor)
- //---------------------------------------
- void setup(void)
- {
- Al += A_1; // Monta tela pra informar que a luz
- Al += "<p><center>Agua</p><p><a href=\"/Controle?Agua=off \"><button style=\"background-color: rgb(255, 0, 0);height: 100px; width: 200px;\"><h1> ON</h1></button></a>";
- Ad += A_1; // Monta tela pra informar que a luz
- Ad += "<p><center>Agua</p><p><a href=\"/Controle?Agua=on \"><button style=\"background-color: rgb(0, 255, 0);height: 100px; width: 200px;\"><h1> OFF</h1></button></a>";
- pinMode(Switch1, INPUT_PULLUP); // Define GPIO5 como entrada e liga o resistor de pullup
- Switch1_atual = digitalRead(Switch1); // Atualisa status de GPIO
- pinMode(Saida1, OUTPUT); // Define GPIO como saida
- digitalWrite(Saida1, LOW); // Liga GPIO
- Serial.begin(115200); // Inicialisa o serial port em 115200
- WiFi.begin(ssid, password); // Inicialisa o wifi
- // IPAddress subnet(255, 255, 255, 0); // Acrescentei para fixar o IP 12/5/2017
- // WiFi.config(IPAddress(192, 168, 0, 28), IPAddress(192, 168, 0, 1), subnet); // Idem
- Serial.println(""); // Imprime
- while (WiFi.status() != WL_CONNECTED) // Aguarda conexão
- {
- delay(500); // Delay
- Serial.print("."); // Imprime . enquanto não conecta
- }
- Serial.println(""); // Imprime
- Serial.print("Connected to ");
- Serial.println(ssid);
- Serial.print("IP address: ");
- Serial.println(WiFi.localIP());
- if (mdns.begin("esp8266", WiFi.localIP())) // Se ......????
- {
- Serial.println("MDNS responder started"); // Imprime
- }
- server.on("/", []() // Ao requeste
- { server.send(200, "text/html", Al); // Executa o HTML Al (Agua ligada)
- });
- server.on("/Controle", []() // Ao requeste /Agua
- {
- Agua = server.arg("Agua"); // Recupera o valor do parametro luz enviado
- if (Agua == "off") digitalWrite(Saida1, LOW); // Se o valor de Agua e off desliga a saida
- if (Agua == "on") digitalWrite(Saida1, HIGH); // Se o valor de Agua e on liga a saida
- if (digitalRead(Saida1) == HIGH) // Se a saida esta ligada, carrega a pagina "ligada"
- {
- Ail += Al; // Monta tela nova Agua ligada
- Ail += A_2;
- server.send(200, "text/html", Ail); // Mostra Agua ligada
- Ail = ""; // Limpa valor de temperatura e umidade
- }
- if (digitalRead(Saida1) == LOW) // Se a saida esta desligada, carrega a pagina "desligada"
- {
- Aid += Ad; // Monta tela nova Agua desligada
- Aid += A_2;
- server.send(200, "text/html", Aid); // Mostra Agua desligada
- Aid = ""; // Limpa valor de temperatura e umidade
- }
- delay(100); // Delay
- });
- server.begin(); // Inicaliza servidor
- Serial.println("HTTP server started"); // Imprime
- }
- //--------------------------------------------------
- void loop(void)
- {
- server.handleClient(); // Executa instancia
- if (digitalRead(Switch1) != Switch1_atual) // Se o valor do SW alterou
- {
- delay(40); // Delay
- if (digitalRead(Switch1) != Switch1_atual) // Se o valor do SW alterou
- {
- digitalWrite(Saida1, !digitalRead(Saida1)); // Inverte a saida lamp1
- Switch1_atual = digitalRead(Switch1); // Atualisa o Gpio atual
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement