Usando Wifi com a placa WedMos D1

Olá a todos

Nesse post mostraremos a placa WebMos D1, que é uma placa compatível com o padrão Arduino, mas possuí um chip ESP8266 no lugar do Atmel. A placa possuí uma pinagem semelhante à do Arduino Uno, porém apresenta apenas um pino analógico. Em contrapartida a D1 por utilizar o ESP8266 já possuí uma placa de Wifi, dispensando o uso de placa externas ou Shields. 

Placa WebMos D1
Placa WebMos D1

Para utilizar essa placa no IDE do Arduino devemos antes instalar os arquivos da placa. O primeiro passo é configurarmos o IDE para que ele possa baixar esses arquivos. Para isso vá no menu File, submenu Preferences. Será aberta uma tela de configuração do IDE. No campo Additional Boards Manager URLs informe o endereço em que o IDE pode baixar os arquivos da D1: http://arduino.esp8266.com/stable/package_esp8266com_index.json. Em seguida clique em OK. Para finalizar feche todas as telas do IDE e abra-o novamente.

Configurando o IDE
Configurando o IDE

Para instalar os arquivos da placa, vá no Tools, submenu Board e escolha o item Board Manager. Será aberta uma tela para instalação de arquivos de diversos modelos de placa compatíveis com Arduino. Role a lista até localizar o item esp8266 by ESP8266 Community, selecione esse item e clique no botão Install. Após instalar os arquivos da placa reinicie novamente o IDE.

Instalando os arquivos da placa
Instalando os arquivos da placa

Com o IDE configurado, passaremos para o uso. Conecte a placa ao computador utilizando a porta USB e aguarde ele ser reconhecido. Em seguida vá no menu Tools, Board e selecione o item WebMos D1 R2 & mini.

Passaremos agora para o desenvolvimento de um código que utilize uma conexão Wifi, que é o grande diferencial dessa placa. O primeiro passo é incluirmos os arquivos que contém os objetos para controlarmos a D1, esses dois arquivos são ESP8266Wifi.h e ESP8266HTTPClient.h. Em seguida declare dois arrays do tipo char que armazenam o nome da rede Wifi e a senha de acesso à ela:

Adicionando os header
Adicionando os header

Em seguida crie uma função chamada setup_wifi com o código abaixo. Esse código exibe o nome da rede Wifi e solicita a conexão através do método begin do objeto Wifi. Em seguida é aguardado que a conexão seja estabelecida para em seguida imprimir o endereço IP que foi atribuído à placa, confirmando que a conexão está ok.

Função setup_wifi
Função setup_wifi

Na função setup, configure a porta serial para a velocidade de 9600bps e chame a função setup_wifi:

Função Setup
Função Setup

Passaremos agora para a função loop, que fará uma requisição HTTP. Primeiro confirme que a conexão Wifi continue ative e caso contrário execute novamente a função wifi_setup.

Com a conexão ativa, crie um objeto do tipo HttpClient e configure o endereço da requisição através do método Begin desse objeto. Para executar a requisição e obter o código de retorno utilize o método GET.

Por fim o código verifica o resultado da requisição e escreve na porta serial o conteúdo da resposta da requisição. Caso a requisição tenha falhado o código exibe o erro.

Por fim chame a função end do objeto HttpClient para encerrar essa requisição e utilize a função delay para aguardar algum tempo, no exemplo utilizei 10 segundos.

Função Loop
Função Loop

Por fim compile o programa e transfira para a placa. Note que a compilação para essas placa leva mais tempo que para um Arduino Uno ou Nano. Após transferido o programa abra o monitor serial e verifique a execução do programa.

Obrigado a todos e até o próximo post!

Onde encontrar:

Deixe um comentário

O seu endereço de e-mail não será publicado.