[Resolvido] Duvida - Como exibir hora do RTC DS1307 na pagina exibida pelo ESP-01+arduino

Bom dia, possuo um shield rtc ds1307 com cartão SD, quero utiliza-lo com a Automation Board+ESP-01, consegui executar com exito o tutorial do Marcelo de como acionar a mesma via wifi.

http://labdegaragem.com/profiles/blogs/tutorial-controlando-reles-v...

Inicialmente gostaria de conseguir exibir a hora do RTC na pagina, como faço para exibir esta informação no canto superior direito da pagina utilizando o código do tutorial, não possuo experiencia com HTML,apesar de ter uma breve noção.

Exibições: 1530

Anexos

Responder esta

Respostas a este tópico

Você tem razão.

Acho que são as aspas simples que não estão sendo interpretadas corretamente pelo Arduino, mas não tenho como testar agora. Teria que usar caracteres Escape ou retirar as aspas simples.

Tente o seguinte:

webpage += "<p style=text-align:right;>";

O browser interpreta corretamente. Já testei isso.

À noite vou tentar outras alternativas

acho que o problema esta no local onde estou inserindo o comando, e outro seria a questão do css

não consigo colar o que eu fiz aqui, pq o Css desconfigura a resposta e some hehe, mas segue em anexo o que eu alterei.

tentei usar o style type=\"text/css\"

testei varias possibilidades, contudo ainda aparece pagina não encontrada

Anexos

Para simplificar, se você quer centralizar a hora, não precisa usar css. Use a tag center que é antiga mas ainda funciona:

webpage += "<center><h3>";
webpage += hora;
webpage += "</h3></center>"; //imprime a hora

Outra coisa: tudo isso tem que ficar dentro do body. Você colocou fora.

A última tag deve ser:

webpage +="</body></html>";

Tire a outra tag body que você colocou antes de exibir a hora

Obs: você está colocando a hora no final da página

Se não funcionar, o problema está na variável hora.

Nesse caso imprima somente ela sem formatação para ver se funciona

Abordagem interessante, testei a variavel hora, no serial monitor funcionou corretamente, até gostei que ficou mais simples a função economizo umas 10 linhas quase.

contudo ainda não consegui fazer rodar a pagina com as melhorias, acho que devo tentar outra abordagem, vou construir uma pagina do zero, utilizando as dicas que você me passou.

me passaram o site www.w3schools.com para aprender html, e preciso entender mais o funcionamento do webpage +=.

o que esta gerando mais dificuldade é ter que ficar conectando e desconectando o esp do arduino para reprogramar, precisaria de outra abordagem para fazer o debug da pagina durante a prototipagem, para economizar tempo.

 

Tiago, estou enviando anexo (webpage.txt) o código que usei e funcionou.

Fiz uma simulação, pois não tenho RTC.

O resultado ficou assim:

Anexos

José, assim ficou muito bom, resumiu mais ainda o código, vou testa-lo com rtc daqui a pouco hehe.

Muito obrigado pela ajuda.

Fiz os testes, testei inumeras possibilidades, mas para mim a pagina não carrega.

Li a internet inteira, até site russo rsrsrs 

Fui resumindo e refiz o código do zero, separei por blocos testei as partes, deixei apenas a informação hora para ser exibida, comparei com inúmeros exemplos de web aplication com arduino para entender exatamente o funcionamento.

acho que deve ser a parte do RTC que esta atrapalhando, segue em anexo a minha versão resumida da pagina.

Anexos

Olá Tiago.

Esta está difícil. Mas não vamos desistir.

Vi que você resumiu a página e colocou somente a parte da hora. Ok.

Vamos fazer mais um teste. Para saber se é realmente a hora

substitua webpage+=hora; por webpage+="01:01:01";

Se funcionar é porque a concatenação do campo hora que é char[30] com String está dando errado.

nesse caso, substitua webpage+=hora por webpage+=String(hora);

Aeeee funcionou  com webpage+=String(hora);, a contatenação funciona, estamos chegando perto da solução.

Só deu um problema que não atualiza a pagina, fica travado na hora que  atualizou a pagina,

Tiago.

A sua dúvida inicial foi resolvida.

Agora a questão de atualizar a hora é outro problema. A hora fica sempre a mesma devido ao código do Arduino.

Repare que existe um IF controlando a exibição da página: if (Serial.available()).

Ou seja, o Arduino só atualiza a página quando está vindo alguma coisa pela serial. O restante do tempo, a hora vai ficar travada mesmo. 

Para resolver essa questão sugiro você postar essa nova dúvida no fórum.

Antes precisa planejar e ver qual o motivo de exibir a hora pelo Arduino.

É possível exibir a hora via Javascript de modo que fique atualizando a cada minuto pelo relógio do próprio computador, mas não sei se isso atende sua necessidade.

Tenho um blog na Internet com um tutorial de HTML e programação que pode te ajudar em alguns pontos:

josecintra.com/blog

Qualquer dificuldade, poste suas novas dúvidas no fórum.

pois é, de fato, a pergunta inicial foi resolvida,

minha intenção é temporizar os reles da automation board, em horários pré definidos, programáveis através do web server. Mas de inicio como parte do aprendizado, preciso aprender como trabalhar com a variável hora na pagina.

Muito obrigado pela paciência e pela ajuda, irei estudar os materiais.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço