[RESOLVIDO] ESP8266 como webserver - problema ao atualizar a página web

Bom dia a todos!

Estou trabalhando com o nodeMCU ESP8266 como um  web server e está quase 100%, mas estou enroscada. A ideia é servir uma página web que está gravada na flash do node para o cliente com uma interface onde serão exibidos dados de temperatura e luminosidade. Está funcionando, o cliente acessa, a página é exibida e, em seguida, os dados começam a ser atualizados conforme a página envia requisições e o node responde.

Porém, se eu der um refresh na página, ou se um segundo cliente acessar, a página não é mais exibida, apenas os dados que estão chegando.

Não acho que o problema seja do lado da página, visto que a única função dela é enviar as requisições para atualizar os dados e interpretar a resposta para exibir na tela adequadamente. Acredito que o problema seja na minha lógica de tratamento dos clientes, mas eu não tenho muito conhecimento de servidores, fui montando o código conforme alguns tutoriais. Alguém pode, por favor, me ajudar? Qualquer dica é bem vinda. Estou pesquisando a solução há alguns dias, mas ta difícil... rs

O código está em anexo.

Obrigada! :D

Alessandra

Exibições: 613

Anexos

Responder esta

Respostas a este tópico

Qual é a mensagem que você recebe no monitor serial depois de carregar o codigo?

Meu canal: AQUI

Abs.

CK

Olá...

Eu não manjo nada de htm/java script, mas acredito que você adicionou o script no body e deveria adicionar acima do body, após <html> e antes do <head>

Como só ando com o ESP no bolso, substitui o sensores por valores fixos e coloquei o index.htm no código fonte, dá uma olhadinha no anexo monitoramentoRemoto.ino

happy programing ;)

Pode ser isso sim Marco Antonio, farei esse teste.

Obrigada pela dica!

Boa tarde A,

após umas pequenas alterações no código HTML e Sketch esta funcionando, pelo menos aqui em meus testes rsrsrsrs!!! 

Obs: Como o ESP8266 só tem uma entrada analógica dediquei ela a controle da temperatura no lugar do controle de luminosidade coloquei um contador que é incrementado ao acionar o botao de carga.

Minha placa é a ESP8266 WEMOS então utilizei o  led onboard da minha placa pino 2, nesta placa a logica desse led é invertida ou seja  em LOW ele esta aceso e em HIGH esta apagado.

segue em anexo o arquivo.zip com todos arquivos do projeto.

Anexos

Boa tarde MPS,

você é fera mesmo.

Funcionou corretamente.

Sra(ta). A  pode usar o sketch do MPS, que vai dar certo.

RV

Cara, gostei demais da sua solução, resolveu o meu problema por tabela rsrs

parabéns

Olá Marcos, muito obrigada por sua ajuda, parece que você resolveu o problema! rs

Eu vou testar a sua lógica, mas agora levaram meu roteador hahaha assim que conseguir testar eu já atualizo o tópico como RESOLVIDO.

Vi que você alterou bastante o código, está tratando com outras funções. Achei muito interessante, mas como eu disse, não tenho muito conhecimento de servidores, então vou ficar estudando as funções aqui por enquanto.

Na verdade, esse projeto foi feito incialmente no Arduino, por isso está com duas variáveis analógicas, mas na versão final, as informações virão pela serial.

Valeu mesmo!!!

Olá Alessandra,

Acredito que o colega Marcos tenha solucionado seu tópico, caso sim, por favor proceda a fazer o que é um costume aqui, edite seu titulo atual do tópico, e coloque antes dele a palavra RESOLVIDO, desta forma estará contribuindo para que outros garagistas com problemas similares possam achar no seu tópico a solução usando a palavra chave RESOLVIDO.

Parabéns a todos e parabéns Marcos por solucionar este tópico.

Abs.

CK

o problema não era na localização do java script, que estava no body fazendo com que o o browser se perdesse ao executar oi refresh?

Olá Marco Antonio,

pode ser sim, pois o código HTML que o Marcos forneceu, está com o JavaScript fora do body. Isso foi uma falta de atenção minha ao manipular a página, pois peguei um código pronto como base, que está estruturado como você sugeriu, mas, como não entendo de programação web, eu não percebi essa mudança quando fiz as alterações. Farei esse teste assim que puder, pois agora estou sem o roteador.

Obrigada pela dica!

Eu também não entendo muito de html e aproveito para aprender com as nossas duvidas. ;)

Olá Alessandra,
O problema não é por causa da posição que colocou o script.
Por exemplo: a maioria dos exemplos do JQuery e Bootstrap possuem o script declarados no final do código html, dentro do
Voce deve entender a tag

RSS

Destaques

Registre-se no
Lab de Garagem
Clicando aqui

Convide um
amigo para fazer
parte

curso gratis de arduino

© 2018   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço