Como conectar o Arduino a uma rede Wi-Fi 85

Liberte-se dos fios e conecte o seu Arduino à redes wireless com o Wifi Shield CC3000 da Sparkfun. Com esse módulo você consegue se conectar às redes wireless mais comuns do mercado (padrão 802.11 b/g), utilizando criptografia WEP, WPA ou WPA2. Também é possível utilizar o slot para cartão microSD para armazenar dados de sensores ou mesmo da internet. Neste tutorial vamos ver como utilizar este shield com Arduino Uno, mas você também pode utilizar essas instruções com o Wifi Shield CC3000 Keyes.

Wifi Shield CC3000 Sparkfun

Este Wifi Shield também possui embutida uma antena WIMAX, suficiente para a maioria das aplicações, mas se você precisar de um alcance maior, pode fazer uma pequena modificação no hardware da placa e utilizar o conector para antena externa. Gostou? Então vamos as configurações para deixar o seu Arduino conectado à internet.

Montagem e conexão do Wifi Shield Sparkfun ao Arduino

Essa placa é enviada sem os pinos de conexão ao Arduino, assim você pode escolher entre uma configuração com uma barra de pinos normal ou uma configuração com pinos macho/femea, do tipo empilhável. Na foto abaixo temos 2 modos de configurações, uma usando somente pinos macho soldados ao shield e a outra com barra de pinos empilhável, permitindo que você encaixe outros shields no Arduino.

Wifi Shield CC3000

Bibliotecas e funções

A biblioteca padrão para esta placa é fornecida pela própria Sparkfun, distribuidora da placa, e está disponível nesse link. Esta biblioteca vem com exemplos para rastreamento de redes Wifi, ping, Webclient e testes gerais na placa.

Podemos usar também uma outra biblioteca, essa da Adafruit, que também suporta o CC3000 (datasheet), o chip da Texas Instruments que controla a placa. Essa biblioteca você pode baixar nesse link, e é um pouco mais completa, com exemplos para geolocalização, servidor de chat e o principal, que não está disponível na biblioteca da Sparkfun até o momento, que é o HTTP Server.

Programando o Wifi Shield CC3000

Para testar a placa, vamos utilizar as duas bibliotecas e ver algumas configurações para cada uma neste tutorial.

Primeiro, vamos utilizar a biblioteca da Sparkfun (SFE_CC3000.h) e juntar três exemplos dessa biblioteca em um programa só. A primeira parte do programa vai testar a comunicação com a placa e verificar se as conexões estão OK, retornando a versão do firmware e o MAC Address da placa. Em seguida, é feito um rastreamento para detectar as redes Wifi disponíveis. Por último, é feita a conexão à uma das redes e um teste de ping para o site www.filipeflop.com.

No programa, não se esqueça de alterar as linhas abaixo, que definem o nome da rede wifi à qual o shield irá se conectar, assim como a senha e o tipo de segurança da rede:

char ap_ssid[] = “SSID”;         // Nome da rede Wireless
char ap_password[] = “PASSWORD”;      // Senha da rede Wireless
unsigned int ap_security = WLAN_SEC_WPA2;   // Tipo de seguranca da rede

Ao final do processo, abra o serial monitor e você terá uma tela como essa após os testes de conexão e ping:

Serial Monitor - Teste com biblioteca Sparkfun

No segundo exemplo, vamos utilizar a biblioteca da Adafruit (Adafruit_CC3000.h) e criar um webserver que vai ler o valor de um potenciômetro ligado à porta analógica A2 do Arduino e atualizar uma página acessada via browser.

Nessa biblioteca, por padrão são utilizadas as portas 3 para IRQ (Interrrupção), 5 para VBAT e 10 para CS. Vamos substituir os valores de IRQ e VBAT para 2 e 7, respectivamente, para que funcionem com a placa da Sparkfun. As definições de portas no início do programa ficarão assim :

#define ADAFRUIT_CC3000_IRQ 2 
#define ADAFRUIT_CC3000_VBAT 7 
#define ADAFRUIT_CC3000_CS 10 

Monte o circuito abaixo, utilizando um potenciômetro de qualquer valor:

Circuito Arduino Uno Wifi Shield CC3000Assim, como no primeiro programa, altere as definições da sua rede wifi modificando essas linhas :

#define WLAN_SSID “FILIPEFLOP”   //Nome da rede – Ate 32 caractereres
#define WLAN_PASS “12345678”        //Senha da rede
#define WLAN_SECURITY WLAN_SEC_WPA2 //Tipo de seguranca

No browser, acesse o endereço do Wifi Shield utilizando o endereço do campo ENDEREÇO IP RECEBIDO, que vimos no primeiro teste. No nosso caso, o endereço DHCP é 192.168.0.100:

Browser - Teste biblioteca Adafruit

Gostou ? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP !

Posts Relacionados

85 Comentários

  1. CAROS,
    COMO POSSO AGREGAR COMANDO DE VOZ E CONFIRMACAO POR AUDIO DE UM ACIONAMENTO EM UM ARDUINO, OU ISSO JA VEM INCORPORADO NO EQUIPAMENTO?
    POSSO AUMENTAR MEUS CANAIS DE ACIONAMENTO LIGANDO DOIS ARDUINOS EM PARALELO?
    EXISTEM APLICATIVOS PARA ARDUDIINO COM MAIS DE 10 CANAIS?

    AGUARDO

    GRATO!

    1. Boa tarde Fabiano,

      Comandos de voz e acionamento por áudio não são nativos no Arduino, você deve adaptar módulos específicos para essa finalidade.

      Não entendi a pergunta sobe os 10 canais, pode ser mais específico ?

      Grato.

      Adilson – Equipe FILIPEFLOP

  2. Esse código tem pronto ou foi desenvolvido ??
    att

    1. Boa tarde Carlos,

      Esse código foi desenvolvido tendo como base os exemplos das bibliotecas citadas.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  3. Ola, preciso conectar meu Arduíno em uma rede, mas o mesmo precisa estar em modo AP e não cliente, depois ele deve buscar informações que os equipamentos que estão em modo cliente enviarão

    é possível usando esta shield ?

    obrigado.

    1. Boa tarde Hans,

      Vi alguns documentos mostrando que o chip CC3000 não permite atuação como um access point, ele pode apenas se conectar à um AP. Não é especificamente desse shield, mas esse módulo utiliza o mesmo chip :

      http://www.adafruit.com/product/1469

      Abraço.

      Adilson – Equipe FILIPEFLOP

  4. Bom dia. Você sabe se tem como mostrar o nível de sinal e ou qualidade do mesmo de cada SSID. Tem uma lista de comandos que posso usar?

    1. Bom dia João,

      Não sei se é possível, pelo menos com a biblioteca disponibilizada. Não encontrei nenhum comando que teste o nível de sinal.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  5. Caros boa noite!

    Gostaria de saber se com esse modulo wireless, eu consigo conecta-lo ao arduino uno e narede local, substituindo a porta Com1 usb do meu leitor RFID, porque fiz uma alimentação e gostaria que os dados das tags RFID fossem transmitidos para o monitor através da rede local, sem a necessidade de fios.
    Isso seria possivel com esse modulo ou com NRF24L01?????

    Desde ja obrigado!!

    1. Boa noite Edson,

      Não temos como dizer se isso é possível sem ver o seu projeto completo. Talvez você tenha que desenvolver algum tipo de programa para ler os dados à partir da rede local.

      Adilson – Equipe FILIPEFLOP

      1. Quero parabeniza-los pelo excelente conteúdo desenvolvido nesse blog e obrigado pelo atendimento.

        1. Valeu Edson !

          Grande abraço e continue acompanhando a FILIPEFLOP !

          Adilson – Equipe FILIPEFLOP

  6. Pessoal,

    Alguém já conseguiu colocar setar um IP FIXO neste shield? Só estou consigo dinâmico….

    1. Atribui o MAC do shield pra um ip fixo no meu roteador e resolveu meu problema.

    2. Boa noite Jayme, vc conseguiu acender o led pela via wifi web? qual código utilizou para isto?

  7. Pessoal,

    Alguém usou esse shield para ler uma string digitada no browser? Ja que o “readString.indexof” do ethernet não funciona.

    Ex, se eu digitar:

    http://192.168.1.2/AcenderLuz

    Eu quero que ele pega essse “AcenderLuz” processe e acenda um led por exemplo.

    Alguém já fez isso com esse shield? E que possa me ajudar?

    1. Conseguiu algo nesse sentido jayme?
      Estou precisado acender um led via wifi. Criar um webbrowser e através de um comando ou uma string acender e apagar um led

  8. Primeiramente queria parabeniza-los pelo excelente trabalho do blog e também dizer que sou novo na plataforma arduino e gostaria de saber se é possivel configurar esse dispositivo com um arduino UNO R3 e fazê-lo acender uma lampada ou ligar algo pela comunicação wi-fi.
    exemplo: queria de algum lugar pela internet dar um comando de “acende luzes” e o arduino ligar as luzes de casa. via internet e o roteador.

    desde já agradeço a atenção e espero não ter exigido de mais .

    Marco Lomboni

    1. Boa noite Marco,

      Obrigado. Sim, é possível fazer isso, mas no momento não temos nenhum tutorial nesse sentido. Mas agradecemos a sugestão.

      Abraço.

      Adilson – Equipe FILIPEFLOP

    2. Olá Marco! O que precisa fazer primeiramente é desenvolver as funcionalidades de acordo com o tutorial proposto pelo FILIPEFLOG. Após o perfeito funcionamento em sua rede local (acessando por um ip de rede local, como mostrado no tutorial), você deve realizar uma configuração em seu roteador. O “mecanismo” que gerencia o acesso externo (disponibilizando um acesso pela rede mundial de computadores) é chamado de DMZ. Assim você pode habilitar o acesso externo em seu roteador, verificar o IP de seu modem/roteador (para acessar a internet o modem/roteador fica com um IP único na rede, que geralmente é alterado quando o mesmo é reiniciado), e configurar o IP do dispositivo local que deseja acessar pela internet, no caso, o IP local do seu arduino. A propriedade do seu modem/roteador vai fazer que quando tentar acessar o mesmo pela internet faça o redirecionamento para seu dispositivo na rede interna. Pesquise como efetuar essa configuração. É válido não só para arduino, mas para qualquer dispositivo que esteja conectado em um rede fechada que deseja acessar externamente. Não pode deixar de considerar que seus dispositivos podem ficar vulneráveis, já que está permitindo acesso externo, mas acredito que não terá problemas.
      Atenciosamente, Daniel

    3. Olá Marco! O que precisa fazer primeiramente é desenvolver as funcionalidades de acordo com o tutorial proposto pelo FILIPEFLOG. Após o perfeito funcionamento em sua rede local (acessando por um ip de rede local, como mostrado no tutorial), você deve realizar uma configuração em seu roteador. O “mecanismo” que gerencia o acesso externo (disponibilizando um acesso pela rede mundial de computadores) é chamado de DMZ. Assim você pode habilitar o acesso externo em seu roteador, verificar o IP de seu modem/roteador (para acessar a internet o modem/roteador fica com um IP único na rede, que geralmente é alterado quando o mesmo é reiniciado), e configurar o IP do dispositivo local que deseja acessar pela internet, no caso, o IP local do seu arduino. A propriedade do seu modem/roteador vai fazer que quando tentar acessar o mesmo pela internet faça o redirecionamento para seu dispositivo na rede interna. Pesquise como efetuar essa configuração. É válido não só para arduino, mas para qualquer dispositivo que esteja conectado em um rede fechada que deseja acessar externamente. Não pode deixar de considerar que seus dispositivos podem ficar vulneráveis, já que está permitindo acesso externo, mas acredito que não terá problemas.
      Atenciosamente, Daniel

  9. Boa noite.
    Ainda a pouco perguntei se é possivel usar o Uno R3 para “ligar alguma coisa” via a internet wi-fi mas vi um menor ainda o Arduino Pro Mini Atmega328p, pois quero que seja permanente.
    por exemplo: atraves da internet por um roteador wi-fi eu da “rua” ligar as lampadas da garagem e da casa ?

    desde já agradeço e desculpas novamente por esstar pegando um “pouco” pesado.

    Marco

  10. Boa tarde Pessoal, não consigo fazer a conexão via wpa2 spk, sabem se existe alguma restrição? é necessário fazer a primeira conexão via smartconfig? com esse exemplo ai somente trocando o ssid e senha não consegui conectar.
    Obrigado, No aguardo.

    1. Boa noite,

      Você tentou a conexão com algum outro tipo de segurança, por exemplo WEP ? Utilizamos WPA sem problemas.

      Adilson – Equipe FILIPEFLOP

  11. Equipe filipeflop estudo no inatel em santa rita do sapucai, estou com um projeto de cubos de led controlado por arduino nano, queria saber se tem como usar o WIFI SHIELD SPARKFUN para controlar a frequência dos leds via wifi. TA ai o esquema de montagem: https://electronicavm.files.wordpress.com/2011/07/cubo.png.

    1. Bom dia Wesley,

      Teoricamente sim. Com o Wifi Shield você consegue controlar as portas do Arduino. Talvez você precise utilizar um registrador de deslocamento como o 74HC595.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  12. Boa tarde, utilizando o arduino uno e o cc3000 e uma camera, eu consigo enviar a imagem para algum sit????
    eu vou fazer um tcc de um robo e preciso captar a imagem de video e audio para visualizar pela internet, consigo fazer isso com esses componentes?????

    1. Boa tarde,

      Consegue sim. Vai exigir um trabalho intenso de pesquisa, mas é possível.

      Adilson – Equipe FILIPEFLOP

  13. Boa tarde!

    Gostaria de saber se o primeiro exemplo de programação do shield vale para todos os shields wifi, pois eu tenho um diferente.

    1. Boa tarde Vinicius,

      Nem sempre. Apesar de algumas bibliotecas servirem para vários módulos ou shields, geralmente cada dispositivo tem a sua biblioteca própria. Uma outra opção que você tem é alterar a biblioteca para que funcione com a sua placa.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  14. caro estou com uma duvida,tem como eu conectar esse shield no Arduíno Ethernet,e usa-lo para fazer a mesma coisa que o exemplo 2?

    Att,

    caíque carvalho

  15. Olá, usaria o Arduino mais para prototipagem, a dúvida que fica é se depois posso usar os módulos usados no Arduino em outros circuitos (como um PIC por exemplo)?

  16. Ola…estou a desenvolver um projeto (TCC) do meu curso ou melhor uma maquete automação residencial. preciso controlar reles(para acender iluminação) também preciso controlar sensores(exemplo: alarme da residencia, temperatura, umidade e etc…) bom vamos para duvida…como comunicar com o arduino na maquete? ou melhor qual a melhor opção? com essa placa wifi eu consigo controlar pelo smartphone e recer os dados dos sensores, sei que existe bluetooth porem a distancia é limitada.

    Obs: apresentação final sera na faculdade, então eu tenho a senha para entrar na internet…so não tenho acesso ao roteador para ligar o arduino ou fazer configurações mais complexas.

    Agradeço desde ja

    1. Olá Geraldo! É possível sim. Você pode receber os dados dos sensores em uma página ou mesmo enviar solicitações ao arduino. A questão do roteador não é necessário alterar as configurações, já que o computador ou celular estará na mesma rede (mesmo roteador) do arduino. Caso queira disponibilizar para um acesso externo (disponível na internet independente do local de acesso) vai precisar configurar as opções do DMZ do router. Mas como especificou, isso não vai ser necessário, sendo totalmente possível implantar o projeto.
      att., Daniel

  17. Olá,
    Estou tentando conectar o wifi shield a um arduino MEGA, mas estou tendo problemas.
    Ao executar o primeiro programa de exemplo que você disponibilizou, no Serial Monitor só vejo lixo, não vem nenhuma das informações esperadas..
    Sabe me ajdudar?

    1. Confirme se a velocidade Serial do lado direito embaixo no console está 115200 e não 9600.

      Isso deve ajudar, outro detalhe que foi útil pra mim é que:
      //Pinos
      #define ADAFRUIT_CC3000_IRQ 2 //Pino de interrupcao (D2 ou D3)
      #define ADAFRUIT_CC3000_VBAT 7 //Pode ser qualquer pino digital

      mudar os números para 3 e 5 ao invés de 2 e 7 para o MEGA.

    2. Bom dia

      O seu problema ficou resolvido com a dica do Rafael?
      Eu estou com o mesmo problema mas eu só vejo um carácter lixo no serial monitor, e não faz mais nada!
      Estou a usar um Arduino Duemilanove com ATmega328.

      Ao carregar o primeiro código obtenho a mensagem “pouca memoria, pode afectar o estabilidade do sistema” ou parecida!

      Peço ajuda.

      Obrigado

      1. Boa tarde José,

        Essa mensagem de “pouca memória” também apareceu nos nossos testes, mas não afetou o carregamento do programa.

        Quanto ao lixo, também foi detectado, mas você pode tentar outras opções de velocidade do módulo.

        Abraço.

        Adilson – Equipe FILIPEFLOP

        1. Bom dia

          Obrigado pelas respostas!

          O problema estava mesmo na velocidade Serial que estava a 9600 e devia estar a 115200.
          Problema resolvido e teste efectuados 🙂

          Obrigado

    3. Boa noite pessoal !!!!
      Qual o código que eu conseguiria acender e apagar um led utilizando a página web ?

  18. Alguém sabe como grava os dados lidos pelos sensores no cartão SD?

    1. Boa noite,

      Temos um artigo falando especificamente sobre módulo SD no Arduino: http://blog.filipeflop.com/modulos/modulo-cartao-sd.html

      Abraço.

      Adilson – Equipe FILIPEFLOP

  19. não consigo acessar meu endereço ip no browser. no monitor serial aparece “Client Connected” e “Cllient disconnected” ao mesmo tempo quando atualizo a pagina do browser com meu ip. alguém pode me ajudar?

    1. Também estou com o mesmo problema, conseguiu resolver?

  20. Olá estou com uma duvida,a
    alguem pode ajudar?
    o meu ficou só no inicializando e não sai disso, e na parte do servidor como funciona,voce teria algum outro exemplo de comunicação com o servidor?

    Obrigado,
    Agradeço desde já

  21. Bom dia Filipe, você tem essa antena externa do wifi cc3000 para venda? estou precisando adquiri-la rapidamente.

  22. Bom dia
    Parabéns pelo trabalho

    Uma questão nas configurações da senha de rede “char ap_password[] = “PASSWORD”; // Senha da rede Wireless” funcionou correctamente com a pass inserida como indicado nos 2 códigos?

    cps.

    1. Boa noite José,

      Funcionou, é exatamente o código que usamos para os testes.

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Resolvido, problema da velocidade do Serial tem de estar a 115200 .

        Muito Obrigado

  23. Parabens pelo tutorial Filipe muito bom.
    Gostaria de saber se há algum relacionado a pegar informações do web browser para ligar um led.
    No exemplo acima voce está enviando informações gostaria de um que receba as informações da web page. Você possui algum tutorial nesse sentido?

  24. Bom dia
    Desde já volto a felicitar pelo trabalho.
    Eu comprei recentemente um “cc3000 wifi shield” no ebay, este é um puco diferente do que utilizam neste tutorial, mas pelo que tenho lido este funciona com as bibliotecas “Adafruit_CC3000.h” no entanto eu já fiz teste com estas e com a biblioteca “SFE_CC3000.h” e o resultado é sempre parecido.
    O resultado obtido é para a primeira uns 3 caracteres de lixo no serial monitor e para a segunda um único caracter de lixo no serial monitor.
    Já testei o leitor de cartões SD e este funciona bem usado o exemplo fornecido no site da Arduino.
    Um pormenor ou carregar o vosso código (1º código) eu obtenho o seguinte aviso “memoria quase cheia, pode afetar a estabilidade do sistema”
    O meu Arduíno é um “Arduino Duemilanove com ATmega328”.
    A minha wifi shield é “CC3000 WiFi Shield With SD Slot for Arduino R3 Mega 2560” http://www.ebay.co.uk/itm/171785253129?_trksid=p2060353.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

    Se me poder ajudar ficaria muito grato.

    Cumprimentos

    1. Boa tarde José,

      Realmente esse é um erro que também apareceu nos nossos testes, mas não afetou o carregamento do programa.

      Abraço.

      Adilson – Equipe FILIPEFLOP

    2. Se for o shield azul, vc tem q mudar os pinos do codigo para 3, 5 e 10. Veja se há algo escrito nas respectivas portas do seu SHIELD. Procura “CS, VBAT e IRQ”.

  25. Bom dia Filipe,
    Gostaria de tirar um duvida, quando acesso o IP do endereço DHCP na pagina de internet não aparece nada e na serial port aparece:
    Client connected.
    Client disconnected

    Parabéns pelos tutoriais, são de grande ajuda para todos.

    1. Bom dia Kaue,

      Por favor tente utilizar outro browser ou até mesmo ligar diretamente o computador à placa ethernet, para verificar se não é alguma limitação do roteador.

      Abraço e obrigado!

      Adilson – Equipe FILIPEFLOP

  26. Boa tarde, estou precisando de um repetidor de sinal wifi para colocar junto ao arduino
    vc saberia me indicar cm?

  27. Olá,
    Estou pensando em adquirir algum produto pra me introduzir à IoT, e estava pensando nesse (não gostaria de me prender a cabos que nem o ethernet shield).
    Tenho 2 dúvidas: seria possível eu acessar os dados na Internet sem eu estar necessariamente conectado na mesma rede?
    E há algum tutorial que ensine o input de dados, digo, vc digitar alguma coisa na página da internet e o arduino processá-lo ?

  28. Boa Tarde FILIPEFLOP,
    Estou desenvolvendo um código em que o arduino faz medições de corrente tensão e ainda possui um giroscópio, todos esses ja desenvolvidos e testados.. E ainda temos essa placa cc3000, e queriamos passar esses dados para a internet, a indeia inicial, era ´para algum site ou email.. Mas esse artigo foi o unico que achei com algo do tipo, que por sinal está muito bom! Mas enfim, fiz o primeiro teste com a biblioteca da sparkfun, e funcionou perfeitamente, mas no segundo teste não deu nada certo, no serial monitor, apenas imprimiu “nInicializando…” e logo após da erro, ou melhor, aparece letras estranhas.. parece que a placa nao esta nem inicializando.. então queria saber se tem algo que vcs saibam para concertar esse problema.. Ah, e eu uso uma blackboard V1.0 da Robocore.. mas segundo eles se usa a mesma plataforma do arduino UNO, e todos os outros codigos testado nela, com base no arduino UNO, deram certo.. Bom é só isso, gostaria muito dessa ajuda.
    E realmente, o blog é muito bom, e ajuda bastante nesse universo do arduino, muito Obrigado!

  29. Olá, como eu mando dados para um servidor na nuvem com essa shield?
    Consegui fazer com a shield ethernet

    Abraço

  30. Olá,

    Comprei de vocês o CC3000 Keyes e um Mega2560. Porém, na hora de testar o shield notei que há algum problema no “wifi.init()”. Pesquisando em outros lugares vi que a ligação do shield CC3000 pode ser diferente no caso do Mega2560. Encontrei respostas e guias para o shield da SparkFun, mas nada para o da Keyes. Vocês podem me ajudar?

    Obrigado!

    1. Bom dia Guilherme,

      Temos um tutorial específico para o shield CC3000 da Keyes. Testei com ele e funciona normalmente no Arduino Mega, sem alterações no hardware:

      http://blog.filipeflop.com/arduino/wireless-wifi-shield-cc3000-keyes.html

      Qualquer problema, por favor nos avise.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  31. Boa noite, eu tenho um arduino com wifi,so que agora nao conssigo aceder a pagina de configuraçao do arduino, nem por ipnem por cabo rj45, parece que o arduino nega o acesso a essa pagina de configuraçao. o que posso fazer para resolver isso?

  32. Ola, meu Shield CC3000 não consegue se conectar com o Wifi, já atualizei o firmware e nada, você pode me ajudar com alguma dica?

  33. Boa noite!

    Estou tentando conectar na minha rede Wireless mas sem sucesso até o momento. A placa é testada e passa no teste, procura as redes disponíveis e encontra as redes vizinhas com seu respectivo tipo de segurança. Porém no ping, dá erro, não conecta na minha rede de testes, cuja segurança é WEP (em virtude de outros testes de rede que estou fazendo, embora a senha seja consideravelmente grande para não ter acessos indevidos). Obedeci as regras de SSID, senha e tipo de criptografia, mas nada. Vejam o resultado obtido:

    ——————————–
    – SparkFun CC3000 –
    ——————————–
    Inicializacao completa – CC3000
    Versao de firmware : 1.24
    Endereco MAC : 70:FF:76:02:6A:F9
    ——————————–
    Procurando redes wifi
    ——————————–
    Redes Wifi encontradas:

    SSID: Bruno
    Seguranca : WPA2

    SSID: Carla
    Seguranca : WPA2

    SSID: PLS_WIRELESS
    Seguranca : WPA2

    ——————————–
    Conexao e teste de ping
    ——————————–
    Conectando a rede : PLS_WIRELESS Erro: Nao foi possivel conectar !
    Erro: Nao foi possivel obter dados de conexao
    Aguardando endereco IP de : https://www.filipeflop.com
    Error: Could not lookup host by name
    Teste de Ping IP 0.0.0.0 3 vezes…
    Error: no ping response
    Erro: Nao foi possivel desconectar !
    ——————————–

    Então, sem conexão não consigo fazer mais nenhum teste, o que poderia ser? O sinal Wire é forte, pois estou a poucos metros do router. Uma pergunta, existe uma maneira de eu definir um número IP manual para a placa neste exemplo?

    Outra coisa que noto enquanto carrego o código na minha Arduino UNO R3, aparece uma listagem de mensagens de erro e alerta, como os que seguem:
    ##########################################################
    E:Meus DocumentosPauloDocumentosArduinoWIRE_1WIRE_1.ino:14:0: warning: “MAC_ADDR_LEN” redefined [enabled by default]

    #define MAC_ADDR_LEN 6 //Armazena o endereço MAC
    ^
    In file included from C:arduino-nightly-windowsarduino-nightlylibrariesSFE_CC3000_Library-master/utility/wlan.h:38:0,
    from C:arduino-nightly-windowsarduino-nightlylibrariesSFE_CC3000_Library-master/SFE_CC3000.h:21,
    from E:Meus DocumentosPauloDocumentosArduinoWIRE_1WIRE_1.ino:6:
    C:arduino-nightly-windowsarduino-nightlylibrariesSFE_CC3000_Library-master/utility/cc3000_common.h:135:0: note: this is the location of the previous definition
    #define MAC_ADDR_LEN (6)
    ^

    O sketch usa 15.524 bytes (48%) de espaço de armazenamento para programas. O máximo são 32.256 bytes.
    Variáveis globais usam 1.607 bytes (78%) de memória dinâmica, deixando 441 bytes para variáveis locais. O máximo são 2.048 bytes.
    Pouca memória disponível, problemas de estabilidade podem ocorrer.
    ###########################################################

    Alguém tem alguma ideia de como solucionar os problemas listados? É que estou fazendo os primeiros testes com a placa citada no tutorial, já tenho em uso placas Ethernet e outras com módulos XBee, que funcionam perfeitamente…

    Abraços a todos.

    Att.: Paulo Luis

    1. Boa noite!

      Problema resolvido, o problema em questão surgiu pois apesar da segurança utilizada ser WEP, a senha era em Hexadecimal de 128 bits, nesse caso não se pode tratar como char. Alterada a senha do Router Wireless, tudo OK!

      Att. Paulo Luis

  34. Olá Adilson,

    Percebi um problema no parser do segundo exemplo.
    Onde é:
    if (buf[bufSize-2] == ‘r’ && buf[bufSize-1] == ‘n’) {
    (linha 136)
    Deveria ser:
    if (buf[bufSize-2] == ‘r’ && buf[bufSize-1] == ‘n’) {
    Estes são os caracteres que representam fim da linha do request http.
    Testei e agora está funcionando.
    Espero ter ajudado. 🙂

    1. Boa tarde Renata,

      Muito bom, vou testar aqui e qualquer coisa altero o post. 🙂

      Abraços e obrigado!

      Adilson – Equipe FILIPEFLOP

  35. Testei o tutorial para arduino UNO e funcionou normalmente.

    Contudo, com arduindo atmega 2560, estou encontrando problemas na segunda parte do tutorial, que usa a library da Adafruit.
    A primeira parte com a lib SFE CC3000 acontece ok.
    Já a segunda parte, o programa bloqueia em !cc3000.begin().
    Vocês poderiam me ajudar?
    Preciso muito fazer esta shield da sparksfun funcionar com o arduino mega.

    1. Boa tarde Renata,

      Seu shield é da Keyes ou da Sparkfun ? Para o shield da Keyes, temos um tutorial específico, testado com o Arduino Mega:

      http://blog.filipeflop.com/arduino/wireless-wifi-shield-cc3000-keyes.html

      Abraço!

      Adilson – Equipe FILIPEFLOP

  36. Bom dia!

    Estive sem tempo de fazer testes com o módulo wifi, pois estava vendo um outro projeto que utiliza um módulo Ethernet. Eis que no primeiro teste descrito acima, quase tudo funciona. Ele dispara os pings, diz que os 6 pacotes foram enviado mas nenhum pacote recebido. Então ao tentar o segundo exemplo, não funciona, pois mesmo eu sabendo o ip do dispositivo não consigo acessá-lo. Outra curiosidade, já tentei enviar dados para o ThingSpeak e não envia absolutamente nada, apesar de estar configurado corretamente. O módulo Ethernet envia os dados corretamente, e consigo fazer tudo o que não consigo com o Wifi, que comprei justamente para eliminar os cabos do projeto… Verifiquei todos os pontos de solda do módulo e está OK, já testei em outra placa Arduino UNO e nada. Alguma sugestão? Pois até o momento não consegui nenhum resultado esperado… Ah! Primeiramente estava utilizando módulos Xbee para transmitir os dados na minha rede interna, mas precisava de uma solução para Web.

  37. Boa tarde!

    Estou com um “probleminha” com o segundo exemplo. O primeiro já resolvi a questão da conexão, mas no segundo estou à vários dias tentando descobrir o que pode estar acontecendo. Já revi toda a configuração de minha rede, testei outro Router e o resultado é o mesmo, como segue:

    nInicializando…
    nTentando conectar-se a rede WLAN_PLS_ROUTER
    Conectado!
    Requisitando endereco DHCP
    nIP Addr: 10.0.0.9nNetmask: 255.0.0.0nGateway: 10.1.1.1nDHCPsrv: 10.1.1.1nDNSserv: 10.1.1.1
    Aguardando conexao…
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected
    Client connected.
    Client disconnected

    Ou seja, ele não mantém a conexão e não passa os dados que deveria ao navegador.

    Apesar de não retornar da maneira adequada, consigo pingar no IP sem problemas.

    Alguém tem alguma ideia ou está passando pelo mesmo problema?

    Desde já agradeço a atenção.

    Att.: Paulo

    1. Boa tarde Paulo,

      Você consegue fazer a conexão direta entre o computador e o módulo, para ver se o problema permanece ?

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Boa noite!

        Conexão direta? Sendo um shield wifi só posso fazer conexão através deste tipo de rede, correto, ou existe outra maneira?

        Como mencionei, com o ip fornecido pelo router, consigo pingar, mas não exatamente conectar via browser. Se eu escanear minha rede com o IP Scanner por exemplo, ele localiza o o módulo na rede, dá até para saber sobre o chip de rede utilizado, mas nada mais…

        Alguma ideia?

        Att. Paulo

        1. Bom dia Paulo,

          Sim, você pode fazer uma conexão P2P, mas não testei com esse modelo de wifi shield.

          Abraço!

          Adilson – Equipe FILIPEFLOP

  38. OLa parabens pelo blog; vcs poderiam fazer um post de como ligar um led via celular utilizando arduino unor3 e wifi-shield keys.

  39. Boa noite.

    Estou usando o arduino mega 2560 e uma wifi shield sparkfun cc3000. Não estou conseguindo fazer as configurações de ip, gateway, etc para a plaquinha em questão, aparece um ip nada a ver e nao consigo alterar. Será que alguém tem alguma dica de como seto essas configrações?

  40. parabens pelo post..
    sugestão de post: como fazer para ter um botão no arduino para WPS, para conectar no WiFi rapidamente

  41. É possível conectar a rede wireless com aquelas antenas NRF24L01 que não é um shield, mas trabalha na frequencia 2.4GHz, e posteriormente baixar ou acessar um arquivo da rede?

  42. Boa noite Adilson. Esse programa aqui eu posso acessar de qualquer lugar do mundo por ser na web?

    1. Boa tarde Denis,

      Provavelmente você terá que mexer na configuração do roteador para ter acesso pela internet, mas é perfeitamente possível sim.

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Adilson, para conectar a qualquer lugar do mundo eu preciso de um server? tem como configurar com esses códigos e mandar para nuvem, ou receber dados da novem para controle?

        1. Oi Rafael,

          Não necessariamente, você pode criar um “server” no próprio Arduino.

          Abraço!

          Adilson – Equipe FILIPEFLOP

  43. Olá,
    Gostaria de saber como criar uma interface http? Para inserir botões on/off, displays, imagens…
    Desde já agradeço!

  44. Muito bom mesmo.

  45. Muito bom mresmo.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *