LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: DLM em 07 de Janeiro de 2013, 22:37

Título: Arduino + Ethernet
Enviado por: DLM em 07 de Janeiro de 2013, 22:37
Boas!
Estou pela primeira vez a usar um shield Ethernet com o Arduino, mas não está a ser fácil.
O shield em questão é este: http://www.geeetech.com/wiki/index.php/Arduino_ENC28J60_Ethernet_Module (http://www.geeetech.com/wiki/index.php/Arduino_ENC28J60_Ethernet_Module)

Já consigo imprimir os valores lidos por um sensor de temperatura para uma ligação local através do comando  ethernet.print("").
Mas gostava, e pensava que, os valores eram atualizados conforme o delay especificado no final da função loop, mas tal não acontece. (se imprimir na porta série os valores são atualizados conforme o delay)

É possível atualizar os valores?
Se não der automaticamente, pelo menos através de um botão de refresh? F5
Título: Re: Arduino + Ethernet
Enviado por: tarquinio em 07 de Janeiro de 2013, 23:49
O botão de refresh do browser não funciona? Deveria funcionar...

Esse código que está no site está a funcionar como um mini servidor http... Está sempre à espera de ligações attp, responde com uma página e fecha logo a ligação. Nenhuma ligação é mantida. O arduino simplesmente fica quietinho à espera de receber pedidos HTTP.
Para teres os valores constantemente actualizados terias de fazer uma página bastante mais complicada (ou mater uma ligação sempre aberta, ou estar constantemente a abrir e fechar ligações para enviar o estado das coisas. Qualquer uma destas opções será bastante mais complicada do que aquele exemplo. Falo por experiencia porque tenho tambem um projecto de domótica em que estou a fazer coisas desse género.

Mas de qualquer modo, fazendo reload da página no browser deveria ler os valores de novo... Não terás feito algum código que possa crashar o arduino depois de responder ao primeiro pedido? :P
Título: Re: Arduino + Ethernet
Enviado por: poliveira1978 em 08 de Janeiro de 2013, 00:07
essa shield após um determinado nº de ligações "estope" e é necessário reiniciar o arduino, mas o refresh automático deve funcionar, desde que o tempo entre "refreshes" não seja muito curto, sei lá 2 ou 3 segundos. Aconselho-te esta lib (http://www.doctormonk.com/2010/03/simplified-ethernet-library-for-28j60.html) junto com a lib da NuElectronics (http://www.nuelectronics.com/estore/index.php?main_page=product_info&products_id=4).