Recuperar hora de um servidor web com arduino

Boas,

Tenho um programa para gerir o aquecimento aqui em casa em que preciso de horas para isso usei a função millis só que esta sempre a atrasar, e como nesse projecto tenho uma shield web a enviar os dados para uma base de dados em mysql, agora queria fazer o contrario ... ou seja recuperar a hora do servidor web e actualizar a hora no arduino ... só que não sei minimamente como o fazer.

Aceito sugestões ... :stuck_out_tongue:

Cpts

Zé tretas

Abre a IDE do Arduino...

Vai a exemplos...

Abre o UDPNtpClient. Compila, faz download e testa. :slight_smile: És capaz de ter de mudar o teu servidor de NTP para teres as horas do Brasil.

http://www.ntp.br/ Para hora brasileira...

Servidores para Portugal -> pool.ntp.org: NTP Servers in Portugal, pt.pool.ntp.org

Boas,

Obrigada pela info ...

Mas eu queria mesmo era saber como recuperar dados da BD é que assim poderia alterar "set point" ( não sei como se diz em pt) no meu programa é que queria fazer uma pagina web tipo SCADA

Cpts

Zé tretas

Desculpa... tu falas em pedir a hora do Servidor... como muito provavelmente o servidor de SQL não tem o servico NTP, o mais próximo que tens disso é saberes onde o servidor está e perguntar a um servidor NTP nessa mesma zona pela hora.

Se tivesses dito que querias recuperar dados da BD... a resposta seria diferente... aliás, näo haveria resposta porque não percebo o que pretendes. O que é que um setpoint tem a ver com a hora dum servidor?

Faz uma pergunta bem estruturada e cá estamos para responder. :wink:

Boas,

if (client.connect(server, 80)) 
        {
          Serial.print("\n\n\r***** Conectado -> tuga.com *****\n\n\r");
          client.print("GET ");
          client.print("http://tuga.com/escreve_bd.php");    
                    
          client.print("?bd_t_saida=");           
          client.print(entrada[0] ,1);

Com esse codigo consigo enviar a variável entrada[0] para uma base de dados do servido web, agora o que eu gostaria de fazer era o contrario ... ou seja recuperar por exemplo o valor que acabei de enviar

Cpts

Zé tretas

Usando mais ou menos o mesmo código, consegues o que queres...

if (client.connect(server, 80)) 
        {
          Serial.print("\n\n\r***** Conectado -> tuga.com *****\n\n\r");
          client.print("GET ");
          client.print("http://tuga.com/Le_bd.php");    
         ...
          while (client.available <=0); //espera pela resposta... 
          char resposta = client.read();           
         
          Serial.print(resposta);

O segredo disto vai estar no script Le_bd.php.

Experimenta algo assim:

<?php

echo "a"

?>

Agora só tens de adaptar o script para ler da BD e mandar a resposta para o Arduino.

Boas,

Tou a ver mais ao menos a coisa ... vou tentar e já digo algo ...

Cpts

Zé tretas