Há algum tempo estava interessado em adquirir um shield Ethernet. Pesquisei as opções do shield oficial e dos clones que utilizassem o chip W5100 da WIZNET. Optei por comprar o clone fabricado pela SeeedStudio, em virtude da boa qualidade dos produtos que eles fazem, a boa experiencia que tive em comprar outros produtos deles. O preço e frete barato para o Brasil tambem contribuiram para a escolha. Esta placa é um clone da ethernet shield oficial do Arduino mas com algumas modificações, principalmente para baratear o custo:
* Ausência do conector para memoria SD
* Ausência dos soquetes e conectores para replicação dos sinais do Arduino. Para ter acesso a estes sinais é necessário soldar os soquetes e pinos nos pontos mais convenientes .
* O design da placa foi refeito , colocando todos os leds indicativos de atividade, alinhado em apenas um lado da placa
A placa é bem construída e com acabamento branco. Todos os exemplos presentes no ambiente do Arduino 0018 para o shield Ethernet, funcionaram direto sem problemas. Este shield por usar o chip Wiznet5100 e estar ligado ao Arduino da mesma forma que no shield oficial, usa os exemplos do Ethernet Shield sem modificação.
Para testar o shield , construi um sketch que cria um web-server e montei um ambiente de teste com um led e um sensor de temperatura.
O programa em execução no Arduino cria um web-server, disponibiliza o formulario abaixo, e através de um browser ( firefox, internet explorer, etc), possibilita ligar e desligar o led e tambem visualizar a temperatura lida de um sensor.
Para isso, fiz uma adaptação no programa do exemplo web-server, existente na ide arduino-0018 e usei um outro exemplo do blog “http://www.scienceprog.com/” , resultando em um pequeno formulário. O programa guarda o estado do led e o mantem aceso até ser clicada a opção de desliga-lo.
O programa tem trechos de código que merecem explicação.
A definição dos endereços ip e mac para a interface e a porta onde escutará as requisições estão definidas abaixo:
Lembre-se de alterar o endereço ip para a faixa utilizada na sua rede. No trecho abaixo, é feita a inicialização da interface e inicializada a execução do web-server"byte mac[] = { 0xDE, 0xAD, 0xBE,
0xEF, 0xFE, 0xED };byte ip[] = { 192, 169, 1, 201 };Server
server(80);"
Note que todo o codigo HTML transmitido para o browser é escrito via client.println."Serial.begin(9600)
;Ethernet.begin(mac, ip);server.begin();"
http://www.4shared.com/document/DuDG4P9z/clientprintln.html
Não tem JSP, ASP, PHP e outras abstrações e facilidades oferecidas por linguagens para web. Tudo é feito na unha.O chip W5100 esquenta e na primeira vez que liguei pensei que tinha feito algo errado, mas consultando na internet vi que é “normal” esquentar.
O programa pode ser modificado facilmente para controlar outros pinos e exibir outras informações desejadas.
Divirtam-se.
Download:Sketch do Web Server: ExemploDeWebServer
Links:Exemplo de WEbServer do site Arduino.cchttp://arduino.cc/en/Reference/EthernetExemplo de Formulário no site ScienceProg http://www.scienceprog.com/getting-hands-on-arduino-ethernet-shield/
Posts Relacionados:Ethernet Shield Oficial para o Arduino