Índice:

ESP8266 ESP-12E UART sem fio WIFI Shield Conversor TTL sem complicações: 5 etapas
ESP8266 ESP-12E UART sem fio WIFI Shield Conversor TTL sem complicações: 5 etapas

Vídeo: ESP8266 ESP-12E UART sem fio WIFI Shield Conversor TTL sem complicações: 5 etapas

Vídeo: ESP8266 ESP-12E UART sem fio WIFI Shield Conversor TTL sem complicações: 5 etapas
Vídeo: USB TTL to ESP8266-01 2024, Junho
Anonim
ESP8266 ESP-12E UART sem fio WIFI Shield Conversor TTL sem complicações
ESP8266 ESP-12E UART sem fio WIFI Shield Conversor TTL sem complicações

Este guia se destina a ajudar as pessoas que compraram o conversor TTL WIFI Shield sem fio ESP8266 ESP-12E UART e não sabem como usá-lo com o Arduino.

Inicialmente, este tutorial foi escrito em português aqui no Brasil. Eu tentei o meu melhor para escrever em inglês. Portanto, perdoe-me por alguns erros que possam estar na escrita.

Este instructables foi dividido da seguinte forma:

Etapa 1: Conhecendo o Conversor TTL com Escudo WIFI Sem Fio ESP8266 ESP-12E UART para Arduino

Etapa 2: atualização de firmware em ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Etapa 3: Shiald, Shield, More and Moer? Isso importa?

Etapa 4: Blindagem Moer - Resolvendo a comunicação serial RX / TX

Etapa 5: servidor Web com ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Recomendo que você leia todos os passos para aprender o máximo possível sobre este escudo.

Etapa 1: Conhecer o Conversor TTL com Escudo WIFI Sem Fio ESP8266 ESP-12E UART para Arduino

O ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter (Shield WiFi ESP8266) facilita a conexão do Arduino a redes WiFi por meio do ESP8266. Ao usá-lo, não é mais necessário montar um circuito com vários componentes e fios para interconectar um ESP8266 ao Arduino, basta conectar a placa ao Arduino, posicionar o caminho da chave DIP de acordo com o modo de operação do shield e programar o Arduino para conectar-se a redes WiFi. Além disso, a placa pode ser usada sem o Arduino, pois possui todas as pin-outs do ESP-12E disponíveis.

No escudo está a informação de que foi criado por uma pessoa chamada WangTongze e de quem detém os direitos é o elecshop.ml. Inicialmente, o criador do escudo tentou arrecadar fundos para seu projeto através do Indiegogo (site de financiamento coletivo), mas não teve sucesso em arrecadar dinheiro.

Características do ESP8266 modelo ESP-12E:

- Arquitetura RISC de 32 bits - O processador pode operar a 80 MHz / 160 MHz - memória flash de 32 MB - 64 kB para instruções - 96 kB para dados - WiFi padrão nativo 802.11b / g / n - Opera em AP, Estação ou modo AP + Estação - Possui 11 pinos digitais- Possui 1 pino analógico com resolução de 10 bits- Pinos digitais exceto o D0 tem interrupção, PWM, I2C e um fio- Programável por USB ou WiFi (OTA) - Compatível com Arduino IDE- Compatível com módulos e sensores usados em Arduino

Abaixo você pode ler as principais características deste escudo:

- Tamanho do Arduino Uno R3 e a pinagem é compatível com Arduino Uno, Mega 2560, Leonardo e derivados.- Versões menores do Arduino (Nano e Pro Mini, por exemplo) são compatíveis, mas as conexões devem ser feitas através de jumpers.- A tensão do Arduino (5 V) é usada para alimentar a blindagem.- Possui regulador de tensão de 3,3 V AMS1117, de modo que a tensão de 5 V fornecida pelo Arduino é reduzida para alimentar a blindagem sem a necessidade de alimentação externa.- Possui conversor de nível lógico integrado, assim o nível TTL do Arduino (5V) não danifica o ESP8266 que opera com nível TTL 3,3V.- Possui uma chave DIP de 4 vias que serve para alterar os modos de operação da placa.- Modos de operação disponíveis: WiFi Shield para Arduino / envio de comandos AT via Arduino / atualização do firmware via conversor USB Serial externo / autônomo.- Possui LEDs indicativos (PWR / DFU / AP / STA).- Por estar em formato de escudo, permite que outros escudos e módulos sejam inseridos.- Possui o botão ESP-RST para zerar o ESP8266.- Th O pino ADC ESP8266 está disponível em duas formas na placa, a primeira em um pino com faixa de leitura de 0 a 1 V e a segunda forma na faixa de 0 a 3,3 V.

Na imagem, as partes principais do escudo são destacadas:

Imagem
Imagem

A (PINOS DIGITAIS): sequência de pinos usados pelo Arduino.

B (ESP8266 PINS): ESP8266-12E e seus respectivos pinos. No verso da placa consta a nomenclatura dos pinos.

C (CONEXÃO DO ADAPTADOR USB SERIAL EXTERNO): Sequência de pinos usada para conectar o adaptador USB serial externo para atualização de firmware ou depuração do ESP8266.

D (PINOS DE MANUTENÇÃO DE PROTEÇÃO): Uma sequência de três pinos identificada como Somente para Manutenção e usada para verificar se o regulador de tensão está recebendo e fornecendo as tensões corretamente. NÃO DEVE SER USADO COMO FONTE DE SUPRIMENTO.

E (DIP SWITCH PARA MODIFICAR OS MODOS DE OPERAÇÃO): DIP switch de quatro vias para alterar os modos de operação.

CONTACT 1 (P1) e CONTACT 2 (P2): utilizado para conectar o RX (representado por P1) e TX (representado por P2) do ESP8266 aos pinos do Arduino D0 (RX) e D1 (TX). P1 e P2 na posição OFF desabilitam a conexão RX de ESP8266 para Arduino TX e TX de ESP8266 para Arduino RX.

CONTATO 3 (P3) e CONTATO 4 (P4): usado para habilitar e desabilitar o modo de atualização do firmware para ESP8266. Para habilitar a gravação / carga do firmware no ESP8266, P3 e P4 devem estar na posição ON. Quando P4 está na posição ON, o LED DFU acenderá, indicando que o ESP8266 está habilitado para receber o firmware. Para desativar o modo de atualização do firmware e definir o ESP8266 para operação normal, basta definir P3 e P4 para OFF.

NOTA: Todos os 4 contatos na posição OFF indicam que o ESP8266 está operando no modo normal próximo ao Arduino

F (AD8 DE ESP8266): atribuição de pino para o ADC ESP8266. Um pino operando na faixa de 0 a 1V e outro pino operando na faixa de 0 a 3,3V. Esses pinos só serão usados ao usar o ESP8266 sozinho (modo autônomo).

G (RESET ESP8266): botão usado para redefinir ESP8266. Sempre que alterar a posição dos interruptores DIP, deve premir o botão ESP-RST.

H (PIN ANALÓGICO E FONTE DE ALIMENTAÇÃO): sequência de pinos usados pelo Arduino.

Esta blindagem tem uma peculiaridade nos contatos P1 e P2 do DIP Switch e essa particularidade, na verdade gera uma grande dúvida nas pessoas que tentam usar a blindagem.

Segundo o criador do escudo, ao conectá-lo ao Arduino serão necessários apenas 2 pinos. Esses pinos seriam D0 e D1 (RX e TX do Arduino respectivamente) e, além disso, os contatos P1 e P2 da chave DIP na blindagem devem estar na posição ON para a conexão.

Em um dos únicos documentos chineses que obtive sobre este escudo, o criador da placa diz:

P1 e P2 são codificadores de bits e são usados para determinar se o serial ESP8266 está ou não conectado ao Arduino D0 e D1.

Em outra seção do documento é mencionado:

Esta placa de expansão mantém a série do Arduino ocupada, conectando o RX do ESP8266 ao TX do Arduino e o TX do ESP8266 ao Arduino RX.

Os pinos D0 (RX) e D1 (TX) do Arduino correspondem à comunicação serial / USB nativa, portanto, esses pinos ficam ocupados sempre que enviamos o código para a placa ou usamos o monitor serial. Portanto, se os contatos P1 e P2 da blindagem estiverem na posição ON, o ESP8266 estará usando Arduino D0 e D1 e não será possível enviar códigos ou usar a serial, pois estará ocupado. Além disso, para enviar comandos AT para o shield, é necessário que o ESP8266 RX esteja conectado ao Arduino RX e que o ESP8266 TX esteja conectado ao Arduino TX. Isso só ocorrerá se invertermos as conexões conforme mostrado na imagem abaixo:

Imagem
Imagem

Veja, dobrei os contatos D0 e D1 da blindagem e conectei o Arduino D0 ao D1 da blindagem e o D1 do Arduino ao D0 da blindagem. Ao usar a conexão desta forma (Arduino sendo usado como ponte de conexão), consegui enviar comandos AT para o ESP8266 e confirmei o que já imaginava.

A forma padrão de operação do escudo requer que um código (servidor da web ou firmware, por exemplo) seja carregado no escudo e outro código seja carregado no Arduino para enviar, receber e interpretar os dados vindos do serial nativo. Mais detalhes sobre esta forma de comunicação serão vistos nas próximas etapas.

De qualquer forma, esse recurso do shield não interfere no seu funcionamento, já que costumamos emular um serial em outros pinos digitais do Arduino para que possamos ter o serial nativo disponível. Além disso, caso seja necessário enviar comandos AT para o shield, podemos conectá-lo ao Arduino por meio de quatro cabos ou usar um conversor serial USB.

Por fim, a blindagem era muito estável e tornava a montagem dos circuitos muito fácil. Testei com Arduino Uno R3 e Mega 2560 R3.

Na próxima etapa, você aprenderá como atualizar / alterar o firmware do escudo.

Etapa 2: atualização de firmware em ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Para conectar a blindagem ao computador é necessário o uso de um conversor serial USB. Se você não tiver um conversor serial USB convencional, poderá usar o conversor Arduino Uno R3 como intermediário. Existem vários modelos de conversores USB seriais no mercado, mas para este tutorial eu usei o Adaptador Conversor Serial USB PL2303HX TTL.

Para atualizar o escudo, use:

Ferramentas de download do ESP8266 Flash

O firmware que será usado é:

Firmware Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT

Depois de fazer o download do programa e do firmware, copie ambos para a raiz (unidade C) do Windows.

Descompacte flash_download_tools_v2.4_150924.rar e a pasta FLASH_DOWNLOAD_TOOLS_v2.4_150924 será gerada.

Usando o conversor serial USB Arduino Uno R3 como um intermediário:

A próxima etapa é conectar a blindagem ao computador. Se você não tiver um conversor USB serial padrão, pode usar o Arduino Uno R3 para fazer a ponte entre o escudo e o computador. Além do Arduino Uno R3 com cabo USB, você precisará de:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Cabos Jumper Macho-Fêmea

NOTA: Antes de montar o diagrama de fiação do Arduino, você deve carregar um código em branco na placa para garantir que o conversor serial USB não esteja sendo usado. Carregue o código abaixo em seu Arduino e prossiga:

void setup () {// coloque seu código de configuração aqui, para executar uma vez:} void loop () {// coloque seu código principal aqui, para executar repetidamente:}

Imagem
Imagem

NOTA: Esteja atento ao conectar o pino de blindagem de 3,3 V ao Arduino.

Usando o Adaptador Conversor Serial TTL USB PL2303HX:

Você precisará dos seguintes itens, além do Adaptador Conversor Serial USB PL2303HX TTL:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Cabos Jumper Macho-Fêmea

Imagem
Imagem

NOTA: O PL2303 possui alimentação de 5V e 3V3. Use alimentação 3V3 e ignore o pino 5V

Depois de fazer um dos esquemas de conexão acima, basta conectar o cabo USB (ao Arduino e ao computador) ou o conversor serial USB ao computador.

Em seguida, vá para 'Painel de Controle' no Windows, 'Gerenciador de Dispositivos' e, na janela que se abre, vá para 'Portas (COM e LPT)'. Você pode ver o dispositivo conectado e o número da porta COM na qual foi alocado. Como demonstração, conectei o Arduino e o conversor serial USB no computador e na imagem abaixo você pode ver como os dispositivos aparecem no gerenciador:

Imagem
Imagem

Se você está usando o PL2303HX e ele não está sendo reconhecido pelo Windows, acesse o Post Serial TTL USB Converter PL2303HX - Instalação no Windows 10, veja como resolver e depois volte para continuar.

Agora vá para a pasta FLASH_DOWNLOAD_TOOLS_v2.4_150924 e execute ESP_DOWNLOAD_TOOL_V2.4.exe:

Imagem
Imagem

Na blindagem, coloque os contatos P3 e P4 do interruptor DIP na posição ON e pressione o botão ESP-RST no cartão para que a blindagem entre no modo de atualização de firmware:

Imagem
Imagem

Com o programa aberto, desmarque a opção 'SpiAutoSet', selecione a porta COM, selecione 'BAUDRATE' 115200, desmarque qualquer caixa de seleção marcada em 'Download Path Config', configure as outras opções conforme mostrado abaixo e clique em 'START':

Imagem
Imagem

Se a comunicação com ESP8266 WiFi Shield estiver OK, você verá informações em 'INFORMAÇÕES DETECTADAS', 'Endereço MAC' e 'SINCRONIZAÇÃO':

Imagem
Imagem

NOTA: Se o programa retornar 'FALHA', verifique se você selecionou a porta COM correta, verifique se as chaves P3 e P4 da chave DIP estão LIGADAS, clique no botão ESP-RST, clique em STOP e novamente em START.

Em 'Download Path Config' você deve selecionar o arquivo baixado 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. Clique em '…' do primeiro campo e na janela que se abre navegue até a pasta onde você colocou o firmware e selecione o arquivo 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin'. No campo 'ADDR', preencha o deslocamento 0x00000 e marque a caixa de seleção para concluir. Ao terminar, você terá as configurações conforme mostrado abaixo:

Imagem
Imagem

Agora clique em INICIAR para iniciar o processo:

NOTA: Se você estiver usando o conversor serial USB Arduino como um intermediário entre o escudo e o computador, clique no botão ESP-RST do escudo antes de clicar em INICIAR. Se você estiver usando um conversor serial USB convencional, este procedimento não é necessário

Imagem
Imagem

Aguarde a conclusão do processo de atualização do firmware (levará aproximadamente sete minutos para que o processo seja concluído):

Imagem
Imagem

Após concluir o processo de atualização do firmware, feche as janelas ESP_DOWNLOAD_TOOL_V2.4, retorne os contatos P3 e P4 do interruptor DIP para a posição OFF e pressione o botão ESP-RST na blindagem para que ele possa sair do modo de atualização do firmware.

Agora abra o IDE do Arduino para que você possa enviar comandos AT para a placa para verificar se o firmware foi atualizado corretamente e se a placa está respondendo aos comandos.

Com o IDE aberto vá ao menu 'Ferramentas' e depois na opção 'Porta' selecione a porta COM. Observe na imagem abaixo que selecionei a porta COM7 (sua porta provavelmente será diferente):

Imagem
Imagem

Você NÃO precisa selecionar a placa no IDE, pois isso é irrelevante para o envio de comandos AT.

Abra o 'Monitor Serial' e no rodapé verifique se a velocidade está definida para 115200 e se 'Ambos, NL e CR' está selecionado:

Imagem
Imagem

Agora digite o comando 'AT' (sem aspas) e dê 'ENTER' ou clique em 'Enviar'. Se a conexão estiver funcionando, você terá que retornar a mensagem 'OK':

Imagem
Imagem

NOTA: Se o envio do comando NÃO receber feedback ou receber uma sequência de caracteres aleatória, altere a velocidade de 115200 do monitor serial para 9600 e envie o comando novamente

No 'Monitor Serial' digite o comando 'AT + GMR' (sem aspas) e digite 'ENTER' ou clique em 'Enviar'. Se você receber feedback conforme mostrado abaixo, seu ESP8266 WiFi Shield foi atualizado com sucesso:

Imagem
Imagem

Se você deseja alterar a taxa de transmissão de comunicação com o escudo 9600, digite o comando 'AT + UART_DEF = 9600, 8, 1, 0, 0' (sem aspas) e digite 'ENTER' ou clique em 'Enviar'. Se você receber as informações conforme mostrado abaixo, a velocidade de comunicação mudou:

Imagem
Imagem

NOTA: Ao alterar a taxa de transmissão de blindagem, você também deve alterar a velocidade de 115200 para 9600 no rodapé serial do monitor. Em seguida, envie o comando 'AT' novamente (sem as aspas) e pressione 'ENTER' ou clique em 'Enviar'. Se você receber o 'OK' como um retorno, a comunicação está funcionando

Se você quiser usar o escudo para atribuir WiFi ao Arduino, a velocidade de comunicação ideal é 9600 baud.

No próximo passo você vai descobrir qual escudo você possui, já que é possível encontrar no mercado pelo menos três escudos que parecem iguais, mas na verdade essas placas possuem alguns pontos que as diferenciam, mesmo na questão de trabalhar com o Arduino por meio da comunicação por meio do serial nativo.

Etapa 3: Shiald, Shield, More e Moer? Isso importa?

Se for o ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter, é possível encontrar pelo menos três placas que são aparentemente iguais, mas na verdade essas placas têm alguns pontos que os diferenciam, mesmo na questão de trabalhar com o Arduino por meio de comunicação serial nativa.

A seguir você pode ver o que diferencia as placas e descobrir qual delas é a sua.

Shiald WiFi ESP8266:

Imagem
Imagem

Observe que neste quadro a palavra Shield está escrita "Shiald" e a palavra "more" tem o "m" em minúsculas. Nos testes que fiz por muito tempo, a placa NÃO apresentou falha no seu funcionamento.

Shield WiFi ESP8266:

Imagem
Imagem

Observe que neste quadro a palavra Shield está escrita corretamente e a palavra "More" tem o "M" em maiúsculas. Em questão de operação, esta placa se comporta da mesma forma que a versão Shiald, ou seja, a placa não apresenta defeito.

Então você quer dizer que as placas Shiald e Shield só têm diferenças na questão da seda do PCB?

Sim, essas duas cartas só têm diferença na questão da escrita de duas palavras. O circuito em ambas as placas é o mesmo e ambos funcionam perfeitamente com o Arduino ou sozinhos (modo autônomo). Considerando que o Arduino está com o código correto carregado e que uma das blindagens também está com o firmware correto, após anexar a blindagem ao Arduino e conectar o cabo USB, basta colocar os contatos P1 e P2 da chave DIP na posição ON e será feita a comunicação através de serial nativa (pinos D0 e D1) entre as placas.

Alguns dizem que esta versão Shiald tem a conexão wireless instável, mas eu afirmo que não há instabilidade alguma.

Shield WiFi ESP8266 (Moer):

Imagem
Imagem

Observe que neste quadro a palavra Shield está escrita corretamente e a palavra "More" está escrita "Moer", ou seja, errada. Infelizmente esta placa não funciona da maneira que deveria e se estiver conectada ao Arduino (com os contatos da chave DIP DESLIGADOS ou LIGADOS) e o usuário tentar carregar um código no Arduino, uma mensagem de erro aparecerá no IDE como o o carregamento irá falhar.

Se seu escudo é o que vem escrito em Moer e você teve problemas para usá-lo com seu Arduino por meio de comunicação serial nativa, vá para a próxima etapa e aprenda como resolver o problema. Se o seu escudo NÃO É O Moer, pule para a Etapa 5.

Etapa 4: Blindagem Moer - Resolvendo a comunicação serial RX / TX

Se esta placa (Moer) for acoplada ao Arduino (com os contatos da chave DIP DESLIGADOS ou LIGADOS) e o usuário tentar carregar um código no Arduino, uma mensagem de erro aparecerá no IDE pois o carregamento irá falhar. Isso se deve a um erro de componente usado na construção da blindagem.

A blindagem que tem construção e operação corretas, soldou dois MOSFETs do Canal N e são identificados como J1Y. Um dos transistores J1Y está conectado ao ESP8266 RX e o outro está conectado ao ESP8266 TX. Na imagem abaixo você pode ver os dois transistores destacados:

Imagem
Imagem

Este transistor J1Y é um BSS138 cuja finalidade é permitir que circuitos de nível lógico de 5 V se comuniquem com circuitos de nível lógico de 3,3 V e vice-versa. Como o ESP8266 possui nível lógico de 3,3 V e o Arduino tem nível lógico de 5 V, é necessário o uso de um conversor de nível lógico para garantir o perfeito funcionamento do ESP8266.

Na blindagem Moer estão soldados na placa dois transistores identificados como J3Y. Na imagem abaixo você pode ver os dois transistores destacados:

Imagem
Imagem

O transistor J3Y é um S8050 NPN e este tipo de transistor é comumente usado em circuitos amplificadores. Por alguma razão na época da construção do escudo Moer, usaram o transistor J3Y em lugar do conversor de nível lógico J1Y.

Desta forma, os pinos RX e TX do ESP8266 não funcionarão como deveriam e, portanto, a blindagem não terá comunicação serial com o Arduino. Como o shield se comunica com o Arduino através do serial nativo (pinos D0 e D1), com ele acoplado ao Arduino o carregamento do código (no Arduino) nunca será concluído com sucesso, pois em alguns casos sempre haverá aproximadamente 2,8V no RX e Arduino TX ou 0V constante, tudo por causa dos transistores errados.

Após todas essas informações, fica claro que a única solução para a blindagem Moer, é a substituição dos transistores J3Y por transistores J1Y. Para este procedimento, você precisará, além do escudo de paciência Moer, e:

01 - Ferro de soldar01 - Estanho01 - Pinça ou alicate de agulha01 - Sucker de solda02 - BSS138 (J1Y)

O transistor BSS138 (J1Y) é usado no conversor de nível lógico de 3,3 V / 5 V.

NOTA: O procedimento a seguir requer que você saiba como manusear um ferro de soldar e que tenha o mínimo de experiência em soldagem. Os componentes que serão removidos e os que serão substituídos são componentes SMD e requerem maior cuidado e paciência ao soldar com um ferro de solda comum. Tenha cuidado para não deixar o ferro de solda por muito tempo nos terminais do transistor, pois isso pode danificá-los

Com o ferro de solda quente, aqueça um dos terminais do transistor e coloque um pouco de lata. Execute este procedimento para cada um dos terminais dos dois transistores. O excesso de soldagem nos terminais tornará mais fácil remover os transistores:

Imagem
Imagem

Agora pegue a pinça / alicate, segure o transistor pelas laterais, aqueça a lateral do transistor que tem apenas um terminal e force o transistor para cima para que o terminal se solte da solda. Ainda com a pinça / alicate segurando o transistor, experimente colocar a ponta do ferro de solda contra os outros dois terminais e force o transistor para cima para terminar de soltá-lo da placa. Faça isso para ambos os transistores e tenha muito cuidado:

Imagem
Imagem

Remova os dois CIs J3Y da blindagem, simplesmente posicione o IC J1Y no lugar, segure-o com a pinça / alicate e aqueça cada extremidade da blindagem para que a lata entre no contato. Se os contatos estiverem com pouca solda, aqueça cada um e coloque mais estanho. Faça isso para ambos os transistores e tenha muito cuidado:

Imagem
Imagem

Após o reparo, seu shield que antes não tinha comunicação direta com o Arduino, passou a ter conexão com a placa através da serial nativa (pinos D0 e D1).

Um primeiro teste para confirmar que o reparo foi bem-sucedido é conectar a blindagem (com todos os contatos da chave DIP DESLIGADOS) ao Arduino, conectar o cabo USB à placa e ao computador e tentar carregar um código no Arduino. Se tudo estiver OK, o código será carregado com sucesso.

Etapa 5: Servidor Web com ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter para Arduino

Como requisito principal para continuar esta etapa, você deve ter executado a etapa 2.

Como mencionei anteriormente, para usar o shield com o Arduino através do serial nativo (pinos D0 e D1), é necessário que um código seja carregado no shield e que o Arduino seja carregado outro código para enviar, receber e interpretar o dados trafegados por meio do serial nativo. No escudo, podemos colocar um firmware de comandos AT e programar o Arduino para enviar os comandos para o escudo a fim de se conectar a uma rede WiFi e controlar as entradas e saídas do Arduino.

Nesta etapa usaremos a biblioteca WiFiESP, pois ela já possui todas as funções necessárias para integrar o ESP8266 (Shield WiFi ESP8266 no nosso caso) ao Arduino e atribuir o WiFi à placa. A biblioteca WiFiESP funciona enviando comandos AT, então a conexão de rede sem fio do roteador e qualquer solicitação feita ao servidor web resultará no envio de comandos AT ao escudo.

Para que a biblioteca WiFiESP funcione, a versão do firmware do comando AT deve ser pelo menos 0,25 ou superior. Portanto, se você não souber a versão do comando AT de seu escudo, vá para a etapa 2 para atualizar a placa com o firmware que tem uma versão do comando AT de 1.2.0.0 e depois volte para continuar.

Uma coisa que identifiquei durante meus testes com o shield e o Arduino é que como a comunicação entre eles ocorre através da serial nativa (pinos D0 e D1), torna-se necessário que a serial seja de uso exclusivo para a comunicação entre eles. Portanto, eu não recomendo usar "Serial.print () / Serial.println ()" para imprimir informações no monitor serial IDE do Arduino ou qualquer outro programa que exibe informações seriais.

Por padrão, a biblioteca WiFiESP é configurada para exibir erros seriais, avisos e outras informações de comunicação entre o Arduino e o ESP8266. Como mencionei antes, o serial deve ser liberado para comunicação entre o Arduino e o escudo. Portanto, editei um arquivo da biblioteca e desabilitei a exibição de todas as informações do serial. As únicas informações que serão exibidas no monitor serial são os comandos AT que a biblioteca envia ao escudo para se conectar à rede sem fio ou os comandos AT para executar solicitações feitas ao servidor da web.

Baixe a biblioteca WiFIESP modificada e instale-a no Arduino IDE:

Mod WiFIESP

Na pasta de instalação da biblioteca, basta acessar o caminho "WiFiEsp-master / src / utility" e dentro dele está o arquivo "debug.h" que foi editado para desabilitar a exibição das informações no serial. Abrindo o arquivo no Notepad ++, por exemplo, temos as linhas 25, 26, 27, 28 e 29 que mostram uma numeração correspondente para os tipos de informação que serão exibidos no monitor serial. Observe que o número 0 desativa a exibição de todas as informações no monitor serial. Por fim, na linha 32 configurei o "_ESPLOGLEVEL_" com valor 0:

Imagem
Imagem

Se você deseja usar a biblioteca WiFiESP em outros projetos com ESP8266 e precisa que as informações sejam exibidas no monitor serial, basta definir o "_ESPLOGLEVEL_" para o valor 3 (valor padrão da biblioteca) e salvar o arquivo.

Como seu escudo já possui o firmware de comando AT versão 0.25 ou superior, vamos continuar.

Anexe a blindagem ao seu Arduino (Uno, Mega, Leonardo ou outra versão que permita a fixação da blindagem), coloque todos os contatos da chave DIP na posição OFF, conecte um LED entre o pino 13 e o GND e conecte o cabo USB ao Arduino e o computador:

Imagem
Imagem

Usei o Arduino Mega 2560, porém, o resultado final será o mesmo se você estiver usando outra placa Arduino que permite o acoplamento do shield.

Baixe o código do link e abra-o no IDE do Arduino:

Servidor de código da web

Se você estiver usando o Arduino Leonardo, vá para as linhas 19 e 20 do código e altere a palavra Serial para Serial1, conforme mostrado na imagem abaixo:

Imagem
Imagem

No código deverá inserir o nome da sua rede WiFi na linha char * ssid = "NOME DA SUA REDE WIFI";, a senha deverá entrar na linha char * password = "SENHA DA SUA REDE WIFI"; e na linha WiFi.config (IPAddress … você deve inserir um endereço IP disponível em sua rede sem fio, pois este código usa IP estático:

Imagem
Imagem

No menu "Ferramentas" selecione "Placa" e selecione o modelo do seu Arduino. Ainda no menu "Ferramentas", selecione a opção "Porta" e verifique a porta COM em que seu Arduino foi alocado.

Clique no botão para enviar o código para o Arduino e aguarde o carregamento.

Após carregar o código no Arduino, desconecte o cabo USB do cartão, coloque os contatos P1 e P2 do DIP Switch da blindagem na posição ON e conecte o cabo USB ao Arduino novamente.

NOTA: Enquanto os contatos P1 e P2 do escudo estiverem na posição LIGADO, você não poderá enviar códigos para o Arduino porque a serial nativa estará ocupada. Lembre-se sempre que mudar a posição dos interruptores DIP, pressione o botão ESP-RST

Abra imediatamente o monitor serial Arduino IDE:

Imagem
Imagem

Com o monitor serial aberto, você pode seguir os comandos AT que estão sendo enviados ao escudo para executar o servidor da web. Se nenhuma informação for exibida ao abrir o monitor serial, pressione o botão RESET no seu Arduino e aguarde.

Observe que no monitor serial o comando "AT + CIPSTA_CUR" mostra o endereço IP para conectar ao servidor web e o comando "AT + CWJAP_CUR" mostra o nome e a senha da rede sem fio na qual o escudo está conectado:

Imagem
Imagem

Copie o endereço IP mostrado no monitor serial, abra seu navegador de internet, cole o endereço IP e pressione ENTER para acessar. Uma página da web semelhante a esta abaixo será carregada:

Imagem
Imagem

A página web possui um botão que será responsável por ligar / desligar o LED conectado ao pino 13 do Arduino. Pressione o botão para ligar / desligar o LED e ver se o status atual é atualizado na página.

Você também pode acessar a página da web por meio de um smartphone ou tablet, por exemplo.

Veja o vídeo abaixo para o resultado final:

Essa foi uma prática simples, pois o objetivo era mostrar como é fácil usar o escudo com o Arduino. Todos os projetos que você encontra na internet que utilizam o ESP8266 para atribuir WiFi ao Arduino, podem ser reproduzidos com este WiFi Shield, a diferença é que você não precisará montar divisores de tensão no protoboard para comunicar plataformas, e de forma simples projetos, você não terá que se preocupar em alimentar o circuito com fonte de alimentação externa. Além disso, seu projeto terá uma estética muito mais agradável.

Agora que você sabe como integrar o Shield WiFi ESP8266 com o Arduino a partir de um servidor web, basta modificar o código e implementar algum projeto mais elaborado ou começar a desenvolver seu próprio código.

Mais uma vez, desculpe pelas falhas em inglês.

Se você tiver dúvidas sobre o escudo, pergunte e será um prazer responder.

Recomendado: