//-------------------------------------------início------------------------------------- #include ///////////////////////////////////////////////////////////////////////// const double VCC = 3.3; // NodeMCU tensão de leitura const double R2 = 10000; // 10k ohm resistor em série const double adc_resolution = 1023; // 10-bit adc resolução do conversor analógico/digital const double A = 0.001129148; // parametro do termistor const double B = 0.000234125; const double C = 0.0000000876741; ////////////////////////////////////////////////////////////////////////// int temperature; //Nome da sua rede Wifi const char* ssid = "nome da rede"; //Senha da rede const char* password = "senha da rede"; //IP do ESP (para voce acessar pelo browser) IPAddress ip(192,168,100,200); // este ip deve ser parecido ao ip do seu //computador mudando somente o final da numeração //IP do roteador da sua rede wifi IPAddress gateway(192,168,100,1); //Mascara de rede da sua rede wifi IPAddress subnet(255, 255, 255, 0); //Criando o servidor web na porta 80 WiFiServer server(80); //Funcao que sera executada apenas ao ligar o ESP8266 void setup() { Serial.begin(9600); delay(10); //Preparando o GPIO2 onde estão ligadas as lâmpadas pinMode(D1, OUTPUT); pinMode(D2, OUTPUT); pinMode(D3, OUTPUT); pinMode(D4, OUTPUT); //Garantindo que as portas estejam desligadas ao iniciar o sistema, quando recebe 1 a porta desliga digitalWrite(D1, 1); digitalWrite(D2, 1); digitalWrite(D3, 1); digitalWrite(D4, 1); // resposta na serial sobre o status da conexão wifi Serial.println(); Serial.println(); Serial.print("Connecting to "); Serial.println(ssid); //Conectando a rede Wifi WiFi.config(ip, gateway, subnet); WiFi.begin(ssid, password); //Verificando se esta conectado, //caso contrario, espera um pouco e verifica novamente. while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print(".");// durante a tentativa de conexão será gerado um ponto final a cada tentativa } Serial.println(""); Serial.println("WiFi connected"); //Iniciando o servidor Web server.begin(); Serial.println("Server started"); // Print the IP address Serial.println(WiFi.localIP()); } //Função que sera executada indefinidamente enquanto o ESP8266 estiver ligado. void loop() { /////////////////////////////////////////////////////////////////// double Vout, Rth, temperature, adc_value; // cria as variáveis para cálculos adc_value = analogRead(A0); Vout = (adc_value * VCC) / adc_resolution; Rth = (VCC * R2 / Vout) - R2; /* Os cálculos são baseados no método de Steinhart-Hart: * Temperatura em Kelvin = 1 / (A + B[ln(R)] + C[ln(R)]^3) * A = 0.001129148, B = 0.000234125 and C = 8.76741*10^-8 */ temperature = (1 / (A + (B * log(Rth)) + (C * pow((log(Rth)),3)))); // Temperatura em kelvin temperature = temperature - 273.15; // Temperatura em graus celsius Serial.print("Temperature = "); Serial.print(temperature); Serial.println(" degree celsius"); delay(500); ////////////////////////////////////////////////////////////////////// //temperature = temp.getTemp(); //Verificando se o servidor esta pronto. WiFiClient client = server.available(); if (!client) { return; } //Verificando se o servidor recebeu alguma requisicao Serial.println("new client"); //while (!client.available()) { //delay(1); //} //Obtendo a requisição vinda do browser String req = client.readStringUntil('\r'); client.flush(); //Iniciando o buffer que ira conter a pagina HTML que será enviada para o browser. String buf = ""; buf += "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n\r\n\r\n"; buf += "";//SIGNIFICA QUE IRÁ ATUALIZAR AUTOMÁTICAMENTE EM 3 segundos buf += "

ESP8266 Servidor Web

"; buf += "

L1

"; buf += "

L2

"; buf += "

L3

"; buf += "

L4

"; buf += "

Temperatura = "; buf += temperature; // variável com a temperatura em graus celsius buf += " Graus Celsius.

"; buf += "

www.eletronicaeprogramacao.com

"; buf += "\n"; //Enviando para o browser a 'pagina' criada. client.print(buf); client.flush(); //Analisando a requisicao recebida para decidir se liga ou desliga ///////////////////////////////////////////////////////////////////// if (req.indexOf("L1_on") != -1) { digitalWrite(D1, 0); } else if (req.indexOf("L1_off") != -1) { digitalWrite(D1, 1); } ////////////////////////////////////////////////////////////////////// if (req.indexOf("L2_on") != -1) { digitalWrite(D2, 0); } else if (req.indexOf("L2_off") != -1) { digitalWrite(D2, 1); } ////////////////////////////////////////////////////////////////////// if (req.indexOf("L3_on") != -1) { digitalWrite(D3, 0); } else if (req.indexOf("L3_off") != -1) { digitalWrite(D3, 1); } ////////////////////////////////////////////////////////////////////// if (req.indexOf("L4_on") != -1) { digitalWrite(D4, 0); } else if (req.indexOf("L4_off") != -1) { digitalWrite(D4, 1); } ////////////////////////////////////////////////////////////////////// else { //Requisicao invalida! client.stop(); } } //-----------------------------------fim--------------------------------------------