CENTRAL DE ATENDIMENTO
De segunda à sexta das 8:00 às 17:30
(11) 3522-7626 / vendas@robocore.net
Retornar
ao topo

Programando o ESP8266 pela Arduino IDE



Introdução

O módulo ESP8266 é muito utilizado dentro do #MovimentoMaker para conectar o seu projeto à internet. Ele é normalmente utilizado através de uma comunicação serial com uma placa da plataforma Arduino, como no tutorial Conectando o ESP8266 com o Arduino. Porém, é possível programar o ESP8266 como uma placa da plataforma Arduino, embora pouco feito, e utilizar suas portas GPIOs como entrada ou saída, aproveitando a sua capacidade de memória maior (quando comparada com a placa Arduino UNO).

Neste tutorial você vai aprender a programar o módulo Wi-Fi ESP8266 através da Arduino IDE.

Lista de Materiais

Circuito

Assim como a BlackBoard UNO, o primeiro código que queremos enviar para a placa para verificar o seu funcionamento é o exemplo "Blink" da Arduino IDE. Para isso, monte o circuito da imagem abaixo. Vale lembrar que, para carregar o código para a placa, é indispensável a utilização do jumper conectando os pinos IO0 e GND de seu adaptador para ESP8266. Essa conexão altera o modo do ESP8266 para o modo de programação ("programming mode"). Ao pressionar o botão reset com a placa em modo de programação, a placa executa uma rotina de gravação, que aguarda o envio de dados pela comunicação serial.

circuit1
Circuito Elétrico

Programação

Primeiramente, é necessário adicionar o pacote de placas do módulo ESP8266. Para isso, abra o painel "Preferências" da Arduino IDE (Arquivo > Preferência). Com o painel aberto, digite o link https://arduino.esp8266.com/stable/package_esp8266com_index.json no campo "URLs Adicionais para Gerenciadores de Placas", como na imagem abaixo.

preferences
Painel de Preferências

Então, pressione o botão "OK" para salvar as alterações. Agora, para baixar o pacote de placas compatíveis com o módulo ESP8266, abra o "Gerenciador de Placas" (Ferramentas > Placa > Gerenciador de Placas), digite no campo de pesquisa esp8266, e instale o pacote do resultado da pesquisa, como na imagem abaixo.

pacote
Instalação do Pacote

Com a instalação finalizada, abra o exemplo "Blink" da Arduino IDE (Arquivo > Exemplos > ESP8266 > Blink). Ele deve ser similar ao código abaixo, que foi extraído da IDE.

Em seguida, conecte o módulo FTDI ao computador, selecione a porta COM correspondente ao módulo, assim como o módulo ESP8266 na opção "Placa", como na imagem a seguir.

placa
Seleção do Modelo de Placa Correto

Após selecionar o modelo de placa correto, é necessário alterar a porta do LED interno da placa (LED_BUILTIN), de 2 para 1, como na imagem abaixo. As outras opções mostradas em "Ferramentas" não necessitam de alteração ou configuração.

builtin
Seleção da Porta para o "LED_BUILTIN"

Alerta: a porta do "LED_BUILTIN" pode mudar de acordo com a versão e o fabricante do módulo.

Após selecionar a porta correta, pressione o botão de reset do circuito montado, para o módulo ESP8266 entrar em modo de gravação, e carregue o código para a placa. O processo de gravação de código pode levar um minuto ou dois, mas ele é automático. Quando a gravação for concluída, a Arduino IDE retornará uma mensagem informando o sucesso na gravação do código, como na imagem abaixo.

retorno
Mensagens de Retorno da Arduino IDE

As outras informações retornadas pela IDE são os estados de gravação do código para a placa.

Execução do Código Carregado

Para executar o código que foi carregado para a placa, desconecte o jumper que conecta os pinos IO0 e GND, como na imagem a seguir.

circuit2
Circuito Elétrico

Após desconectar o jumper, pressione o botão de reset da placa. Mesmo ao desconectar o jumper, a placa ainda está executando a rotina do modo de programação, portanto é necessário pressionar o botão reset para que o módulo saia do modo de programação.

O Que Deve Acontecer

Após a reinicialização da placa, o LED azul interno da placa irá piscar com o intervalo de 1 segundo, como no GIF abaixo.

Resultado Final

Solucação de Problemas

Mensagem de Erro "esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header"

Esta mensagem de erro é retornada quando a Arduino IDE não é capaz de se conectar ao módulo ESP8266. Esse erro é causado pela falta de reset da placa antes de carregar o código para a mesma. Portanto, tente carregar novamente o código para a placa, porém reinicie a placa antes de iniciar o processo, lembrando que os pinos IO0 e GND devem estar previamente conectados.

Outro possível problema que pode causar esse erro é a inversão na conexão dos pinos RXH e TXH do adaptador para ESP8266. Portanto, inverta a conexão dos pinos e carregue novamente o código para a placa.

O Código Gravado Não Executa

Em alguns casos é necessário mudar o método de gravação para carregar o programa corretamente para o módulo. Nesse caso, tente variar entre os métodos na configuração "Flash Mode" no menu "Ferramentas". São quatro opções possíveis: DOUT, DIO, QOUT e QIO.

Avatar


Para fazer comentários é necessário estar logado. Efetuar login.

Você ainda nao é cadastrado? Cadastre-se agora!


alex4
date Enviado: 2020-06-29 23:00:45
Olá,
Este módulo tem 2 GPIO, tem como eu usa-los p\ echo e trigger do SR-04?
Caso negativo, eh possível usar o RX\TX junto com alguma 'interface' para receber os dados do SR-04?
O objetivo eh não necessitar do arduino em conjunto;
Ou então, o ideal seria usar o NodeMcu mesmo?

Giovanni5
date Enviado: 2020-06-30 09:36:09
alex4
Sim, você pode utilizar os dois GPIOs da placa para ler o sensor ultrassônico, entretanto, vale lembrar que, o ESP8266 possui uma tensão de operação de 3,3 V, diferentemente do sensor ultrassônico, que trabalha em 5 V. Portanto, é necessário converter estas tensões, e para isso você pode utilizar o conversor de nível lógico (https://www.robocore.net/loja/itens-eletronicos/conversor-de-nivel-logico).

iurygarcia
date Enviado: 2020-02-17 10:26:58
Ola Giovanni desculpe por tomar seu tempo, o problema estava entre a cadeira e o laptop, eu estava acessando o gerenciador de bibliotecas ao invés do gerenciador de placas

iurygarcia
date Enviado: 2020-02-16 13:04:11
Ola parece que a biblioteca do 8266 nao esta mais disponivel no gerenciador de bibliotecas da ide, e isso mesmo?

Giovanni5
date Enviado: 2020-02-17 08:18:53
iurygarcia
Para que o pacote de placas ESP8266 esteja disponível no "Gerenciador de Placas", é necessário adicionar o link mencionado acima nas "Preferências" de sua Arduino IDE. Portanto verifique se o link está corretamente adicionado à seção "URLs Adicionais para Gerenciadores de Placas" das preferências de sua IDE, e tente instalar o pacote novamente.

iurygarcia
date Enviado: 2020-02-17 09:08:09
iurygarcia
Ola Giovanni obrigado pela, resposta , fiz  a inclusao do link(https://arduino.esp8266.com/stable/package_esp8266com_index.json) assim como descrito no tutorial,  em seguida busquei por 8266 e ate completo esp8266 ESP8266 by Community, e ainda sim nao aparece a biblioteca, poderia me ajudar?

Giovanni5
date Enviado: 2020-02-17 09:48:06
iurygarcia
Qual a versão da Arduino IDE que você está utilizando? Ao abrir o "Gerenciador de Dispositivos", a Arduino IDE exibe a mensagem de erro "Error downloading https://arduino.esp8266.com/stable/package_esp8266com_index.json"? É possível que isso seja apenas um erro de execução da Ardino IDE, portanto tente reiniciá-la, ou até mesmo reinstalá-la, para a adicionar este pacote de placas.