Para quem não conhece, o Arduíno é uma interface de baixo custo e código aberto especialmente desenvolvida para simplificar a prototipagem e desenvolver aprendizado de programação e eletrônica. Existe uma infinidade de opcionais, também conhecidos como Shields, para esta plataforma.
Adaptadores ethernet para Arduíno, por exemplo, são bem baratos e permite acesso à rede e internet via cabo. Shields WiFi, no entanto, são caros. Este abaixo é um dos mais simples e baratos, o CC3000 WiFi Breakout.
A placa é simples e certamente muito mais cara do que devia, cerca de 30 e poucos dólares. Possui 9 conectores e a alimentação pode ser feita com 3.3 ou 5V.
A ligação é bem fácil. O fabricante avisa apenas para não conectar ambas alimentações ao mesmo tempo. A pinagem e manual de utilização podem ser encontrados neste link site.
Para a ligação abaixo eu usei um Arduíno Uno e um breadboard, além de fios para jumper.
Para funcionar com o Arduíno deve-se baixar a biblioteca SFE CC300. Basta fazer o download deste arquivo e inflar para o diretório libraries dentro de arduino em arquivos de programa x86. Para isso, logicamente, você tem que ter um arduino (Uno, Nano, Mega ou outros) e instalar a IDE que pode ser baixada deste link.
A pinagem também está registrada nos comentários dos programas exemplo da biblioteca.
Há um programa exemplo chamado Board Test que mostra o MAC address e a versão de firmware. É o que se deve rodar primeiro para testar se a pinagem está certa.
Depois pode-se rodar um programa chamado Scan, que busca por redes WiFi. Como não há antena, a placa tem uma recepção ruim.
Testei a conexão com minha rede WiFi e funcionou. Recebeu IP, DNS e Gateway sem problemas.
Há um APP do fabricante que permite fazer a configuração remota da placa. Achei muito enrolado para baixar, então deixo aqui um link para quem tiver interesse.
A placa possui uma memória que guarda as configurações de rede e senha para uma conexão rápida, sem necessidade de digitar novamente dentro do programa. Há também suporte à Web Client. Não encontrei suporte nativo a web Server, mas ainda vou procurar para ver como faz. Deixo abaixo links do DealExtreme para o Arduino Uno e para o C3000 WiFi Breakout:
Para quem tiver interesse neste módulo, consegui também utilizar a biblioteca ADAFRUIT, com muito mais opções: https://github.com/adafruit/Adafruit_CC3000_Library
Tem apenas que trocar a configuração dos pinos nas linhas abaixo. Esta é a configuração correta:
#define ADAFRUIT_CC3000_IRQ 2
#define ADAFRUIT_CC3000_VBAT 7