Como usar com Arduino – Shield WiFi ESP8266

Como usar com Arduino – Shield WiFi ESP8266

img00_como_usar_com_arduino_shield_wifi_esp8266_uart_esp12e_uno_mega_2560_ttl_leonardo_pagina_servidor_webserver

– Descrição:

Shield WiFi ESP8266 Módulo ESP-12E para Arduino (também conhecido como ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter) foi desenvolvido com a finalidade de facilitar a conexão do Arduino a redes WiFi através do ESP8266 modelo ESP-12E. Este shield se encaixa perfeitamente no Arduino Uno, Arduino Mega 2560, Leonardo e outros modelos. Além disso, não há necessidade de alimentar o shield externamente, pois o mesmo já é alimentado pelo Arduino.

Módulo ESP8266 é um dispositivo IoT (Internet das Coisas) que consiste de um microprocessador ARM de 32 bits com suporte embutido à rede WIFI e memória flash integrada. Essa arquitetura permite que ele possa ser programado de forma independente, sem a necessidade de outras placas microcontroladoras como o Arduino, por exemplo. Vale ressaltar que o ESP8266 além de ser programado em LUA (linguagem de programação desenvolvida no Brasil), também é compatível com o ambiente de programação (IDE) do Arduino.

Geralmente, é necessário montar um circuito com vários componentes e fiação para interligar um ESP8266 ao Arduino, contudo, ao utilizar o Shield WiFi ESP8266 Módulo ESP-12E para Arduino o trabalho se resume apenas em acoplar a placa em cima do Arduino, posicionar as vias da DIP switch de acordo com o modo de funcionamento do shield e programar o Arduino para se conectar a redes WiFi.

Um dos grandes diferenciais do Shield WiFi ESP8266 Módulo ESP-12E para Arduino está na possibilidade de utilizá-lo sozinho, logo, caso você queira desenvolver um projeto independente do Arduino, poderá fazer de forma simples, pois ele possui toda pinagem do ESP-12E disponível, inclusive os pinos para conexão de um conversor USB serial.

OBS: para que o Shield WiFi ESP8266 Módulo ESP-12E possa atribuir WiFi ao Arduino, é necessário que o módulo esteja com um firmware (código) que possa receber comandos AT. Se você adquiriu o Shield WiFi ESP8266 Módulo ESP-12E em nossa loja e não enviou nenhum código para o shield, o mesmo já vai estar com o firmware que aceita comandos AT e você pode prosseguir na prática. Caso você tenha adquirido o Shield WiFi ESP8266 Módulo ESP-12E em outra loja ou já tenha carregado algum código no módulo, acesse a postagem Upgrade de Firmware no Shield WiFi ESP8266 para Arduino, execute os passos e em seguida retorne para continuar.

– Especificações e características:

– Controlador: ESP8266 ESP-12E
– Compatibilidade: Arduino Uno, Arduino Mega 2560, Leonardo e outros
– Tensão de operação (shield conectado ao Arduino): 5VDC
– Tensão de operação (standalone com conversor USB serial): 3.3VDC
– Nível lógico: 3.3V (não tolerante a 5V)
– Velocidade de clock: 80MHz / 160MHz
– Memória: 32Mb (4 megabytes)
– Portas digitais (GPIO): 11
– Entrada analógica (ADC): 1
– GPIO: função PWM, I2C e SPI
– Pinos UART: 2
– Suporte a redes: 802.11 b/g/n
– Potência de saída: +20dBm no modo 802.11b
– Antena embutida
– Alcance: ~90m
– Processador: Arm 32 bits
– Comunicação: TCP IP
– Criptografia: WEP, WPA, TKIP, AES
– Modo de operação: STA / AP / STA+AP

– Aplicações:

Projetos com Arduino em que seja necessário conectar a placa a internet através de conexão WiFi (sem fio) para desenvolvimento de projetos que necessitam controlar algo remotamente ou obter informações de outros dispositivos para exibir em tempo real ou armazenar em uma base de dados.

– Proposta da prática:

Utilizar o Shield WiFi ESP8266 para atribuir WiFi ao Arduino, fazer conexão a um webserver e acessar uma página web que possui um botão para ligar / desligar um LED. O estado atual deste LED também será exibido na página.

– Lista dos itens necessários:

01 – Arduino (MEGA 2560 R3 / Uno / Leonardo)
01 – Shield WiFi ESP8266 Módulo ESP-12E para Arduino
01 – LED Difuso 5mm Vermelho

– Esquema de ligação da prática:

img01_como_usar_com_arduino_shield_wifi_esp8266_uart_esp12e_uno_mega_2560_ttl_leonardo_pagina_servidor_webserver

– Tutorial de instalação e configuração do ambiente de programação do Arduino:

Arduino – Instalação e Configuração da IDE no Windows

– Biblioteca:

Download WiFIESP-mod

– Importando bibliotecas para o ambiente de programação do Arduino:

Arduino – Importando bibliotecas para a IDE

– Código:

1) Antes de carregar o código no Arduino você deverá inserir o nome da sua rede WiFi na linha char* ssid = “NOME_DA_SUA_REDE_WIFI”; e a senha deverá inserir na linha char* password = “SENHA_DA_SUA_REDE_WIFI“;.

2) O código está configurado para utilizar IP estático, portanto, na linha WiFi.config(IPAddress(192,168,0,110)); você deverá substituir o IP 192,168,0,110 por um endereço IP disponível na sua rede sem fio. Se você não sabe como ter acesso a esta informação no Windows, sugiro que leia a postagem Descobrindo a faixa de IP do seu roteador e em seguida retorne para continuar.

3) Se estiver utilizando o Arduino Leonardo, vá até as linhas 19 e 20 do código, e mude a palavra Serial para Serial1.

4) Coloque todas as vias da DIP switch na posição OFF e faça o carregamento do código:

5) Terminado o carregamento do código no Arduino, desconecte o cabo USB da placa, coloque as vias P1 e P2 do shield na posição ON e conecte o cabo USB ao Arduino novamente.

6) Abra o monitor serial, em seguida abra o navegador no seu computador, smartphone ou tablet, copie o endereço IP mostrado em “IP address set” no monitor serial, cole no navegador e acesse para que a página seja carregada.

7) Alterne entre os comandos para acender e apagar o LED.

8) Para esta postagem utilizei o Arduino Mega 2560, contudo, o resultado final será o mesmo caso você esteja utilizando outra placa Arduino que permita o acoplamento do shield.

9) Enquanto as vias P1 e P2 do shield estiverem na posição ON, você não poderá fazer o envio de códigos para o Arduino, pois a serial nativa vai estar ocupada. Lembre-se de toda vez que mudar a posição das vias da DIP switch, pressionar o botão ESP-RST ou o RESET do Arduino.

– Resultado final:

Gostou desta prática? Então deixa seu comentário, dúvida ou sugestão aí embaixo!

Loja online: https://www.masterwalkershop.com.br
Fan page no Facebook: https://www.facebook.com/masterwalkershop

Nos ajude a espalhar conhecimento clicando no botão de compartilhar (f Like) que está mais abaixo.

Obrigado e até a próxima!

Seu feedback é muito importante! Que tal dar uma nota para esta postagem?! Faça sua avaliação aqui embaixo.



Postagem anterior:
Próxima postagem:
Postagem feita por

Formado em Engenharia da Computação pela Faculdade Presidente Antônio Carlos, fundador e CEO da MasterWalker Electronic Shop. Se preocupa com o aprendizado dos seus clientes e daqueles interessados em aprender sobre Arduino e plataformas embarcadas em geral.

Existem 28 comentários para esta postagem
    • Attilio às 18:25

      oi, eu estou tentando aprender a usar o skatch do seu escudo wifi Entrei em tudo e funciona até a metade.
      Não consigo concatenar as strings para iniciar o comando relay.

      Eu precisaria de uma mão, ficaria grato

      Gostaria de enviar o arquivo para que você possa conferir

      obrigado

      • Euler Oliveira Autor às 19:53

        Olá Attilio.

        Agradeço pelo comentário!

        Como assim funciona até a metade? Poderia dar mais detalhes sobre o problema que está tendo?

        Quais strings deseja concatenar? Para qual finalidade?

        Para usar com o módulo relé, o código não mudaria muita coisa.

        • Attilio às 08:43

          Bom dia,
          obrigado pela resposta oportuna.
          Gostaria de enviar os 2 arquivos, mas não sei o email. o primeiro arquivo funciona corretamente com a blindagem ethernet; o segundo, como eu disse antes, consegui fazê-lo funcionar apenas pela metade. Se ele não vê os arquivos, ele não consegue entender neste meio.

          • Euler Oliveira Autor às 09:02

            Mas se estiver tentando utilizar o código de ethernet shield com este shield wifi da postagem, não irá funcionar.

            Você pode usar aqui no campo de pergunta a tag code conforme mostrado no link abaixo e deixar o seu código para que seja analisado:

            https://www.w3schools.com/tags/tag_code.asp

            Dúvidas sobre os itens usados nas práticas aqui do Blog, devem ser passadas através de perguntas nas postagens para que eu ou outro usuários possam tentar ajudar.

    • Euler Oliveira Autor às 12:57

      Olá Rodrigo.

      Agradeço pelo comentário!

      O shield utilziado junto ao Arduino apenas faz o intermédio do Arduino com a rede local ou internet. Portanto, é possível sim transmitir / receber dados para um banco de dados.

      Pesquise por exemplos de código utilizando o Arduino e o ESP-01 com banco de dados e poderá aplicar perfeitamente junto ao shield e o Arduino.

  1. Guilherme Campbell às 11:35

    Boa tarde,

    Estou com problema no passo 6.

    A porta serial imprime a seguinte mensagem:

    12:21:10.674 -> f怘⸮AT
    12:21:12.691 -> AT
    12:21:14.689 -> AT
    12:21:16.720 -> AT
    12:21:18.753 -> AT
    12:21:25.822 -> AT+CWDHCP_CUR=1,0
    12:21:27.335 -> AT+CIPSTA_CUR=”172.20.10.4″
    12:21:29.858 -> AT+CIPSTATUS

    Utilizo o IP indicado porém não há conexão. Como devo prosseguir?

  2. Daniel às 12:23

    Euler, parabéns pelos posts. Funcionou apenas no arduino Mega. Testei no leonardo, nano e Uno não funcionou . Essa shield só funciona mesmo no mega? poderia confirma isso? preciso que ele funcione placa menor, uno por exemplo. valeu ! obrigado

    • Euler Oliveira Autor às 13:11

      Olá Daniel.

      Agradeço pelo comentário!

      Conforme informado no texto, o shield é compatível com todas as versões de Arduino em que a placa possa ser acoplada.

  3. Flávio Augusto Adamo Mendes da Silva às 11:06

    Olá!
    Gostaria de saber se nesse processo consigo comunicar dois arduinos ?
    Por exemplo, tenho dois aduinos um em casa extremidade de minha casa ambos com dois botões, digamos que um vermelho e outro verde e quando um botão de cada um for acionado e as cores se corresponderem ele emita um som, por isso lhe pergunto se eles podem se comunicar através do EPS8266?
    Fraternalmente.

  4. Agustin de Landa às 20:02

    Buenas tardes seguí la practica y todo funciono muy bien, muchas gracias.

    Una pregunta : ¿Donde puedo obtener mas documentación para usar esta placa? Es decir donde estan comandos como :

    WiFiEspClient client = server.available();

    Gracias.

  5. Lucas Oliveira às 14:42

    Olá Euler ,

    Muito bom o post, porém estou com algumas dúvidas , este código deve ser baixado no Arduino e não na placa correto ?
    Estou utilizando o modelo “shiald”, posso conectar o shield diretamente no arduino, ou preciso conectar o RX, TX através dos jumpers?

    Através do monitoramento da serial, ele não passa dessa mensagem:
    AT+CIPSTATUS

    • Euler Oliveira Autor às 13:40

      Olá Lucas.

      Agradeço pelo comentário!

      Conforme está informado no tutorial, o shield deve estar com o firmware de comandos AT.

      No Arduino é carregado o código da postagem.

  6. Gabriel Oliveira Ferreira às 08:56

    Esse código funciona apenas para uma rede interna? Em caso afirmativo, como faço para controlar o led pela internet (redes wifi diferentes)?

Deixe uma resposta

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