Olá a todos,
Nesse post mostraremos como colocar o Arduino na nossa rede local para acessar servidores nela ou mesmo na internet através do Shield Ethernet. Nesse exemplo acessaremos o Google solicitando sua página inicial.
Note que neste Shield temos também um conector para cartões micro SD, logo podemos utilizá-lo para armazenar ou ler dados desse tipo de cartão de memória.
Para utilizarmos o Shield o primeiro passo é conectá-lo ao Arduino através dos seus pinos inferiores. Para isso encaixe o Shield em cima do Arduino com cuidado para não entortar nenhum pino do Shield.
O próximo passo é determinar um MAC Address, que é um identificador de placas de rede de computadores, e o endereço IP que o Shield terá na rede local. Você pode utilizar um MAC Address qualquer, desde que não esteja em uso por outro equipamento na mesma rede. Para verificar se o MAC Address escolhido não está em uso consulte a tabela de conexões ativas de seu roteador. O MAC Address deve possuir o formato de 6 blocos de números onde cada número é composto de 2 algarismos hexadeciamais. Um exemplo é: 00 AA BB CC DE 02.
Para testar o Shield com o MAC Address escolhido abra o arquivo de exemplo que acompanha o IDE do Arduino chamado DhcpAddressPrinter. Altere o MAC Address que está no início do código e execute o programa. Se tudo estiver correto será impresso o endereço IP que o roteador atribuiu para a placa:
Agora passaremos para o código que fará a requisição e mostrará o resultado. Primeiro inclua os arquivos SPI.h e Ethernet.h ao código através da função #include. Em seguida declare o MAC Address e o endereço IP que serão utilizados.
O MAC Address é representado por um array de bytes e o endereço IP é representado por um objeto do tipo IPAddress. Os parâmetros de construção do objeto IPAddress são os octetos do endereço IP separados por virgula.
Para realizarmos a conexão utilizaremos o objeto EthernetClient. Declare esse objeto no código e também um array de bytes que deverá conter o endereço IP do servidor para o qual faremos a requisição, no nosso caso o Google. Para obter esse endereço abra uma janela do prompt do Windows ou um Terminal Linux e execute o comando ping <endereço>. O Esse comando retornará o endereço IP do servidor.
Agora passaremos para o desenvolvimento da função setup. O primeiro passo é configurarmos o Shield através do objeto EthernetClient e a porta serial com o uso do objeto Serial.
Após essas configurações podemos realizar a conexão com o servidor através do método connect do objeto EthernetClient. Esse método recebe o array de bytes com o endereço IP do servidor e a porta que utilizaremos para conectar ao servidor. Com a conexão ativa podemos enviar o corpo da nossa requisição, nesse caso montamos uma requisição HTTP do tipo GET que retorna a página inicial do Google.
Na função loop faremos a leitura da resposta. Utilizamos o método available para verificar se há conteúdo para ser lido e o método read para ler esse conteúdo, semelhante ao objeto que controla a porta serial. Nessa função também verificamos se a conexão ainda está ativa e caso contrário congelamos o programa.
Compile o programa e transfira para a placa para iniciar a execução. Abra o terminal serial e acompanhe a execução do programa e veja ocorrer tanto a requisição como a leitura ds resposta.
Onde encontrar:
Obrigado a todos e até o próximo post!