Upgrade de Firmware no ESP8266 ESP-01 e envio de Comandos AT

Upgrade de Firmware no ESP8266 ESP-01 e envio de Comandos AT

A partir dos passos abaixo você vai aprender a fazer a atualização do seu ESP8266 modelo ESP-01 no sistema operacional Windows e irá aprender também a enviar alguns comandos AT para a placa.

Para conectar o ESP8266 ESP-01 ao computador é necessário utilizar um conversor USB serial. Há vários modelos de conversores USB serial no mercado, mas para esta prática fiz o uso do Adaptador USB Serial para WiFi ESP8266 ESP-01 modificado. Na postagem Modificando o Adaptador USB Serial WiFi ESP8266 para Upgrade do ESP-01 você pode ver mais detalhes do processo de adaptação.

OBS: sem modificar o Adaptador USB Serial para WiFi ESP8266 ESP-01 conforme mostrado no link acima, não será possível utilizá-lo para upgrade de firmware.

Antes de fazer a gravação de firmware no ESP-01, podemos verificar qual a versão de firmware está gravado na placa. Para isto, vamos utilizar o PuTTY. Clique AQUI para fazer o download do programa.

Após o download do PuTTY, basta fazer a instalação dele no Windows e um atalho será criado na área de trabalho. Acople o ESP-01 no adaptador modificado, conecte a porta USB do seu computador e dê dois cliques no atalho para abrir o PuTTY.

Com ele aberto, basta configurar conforme mostrado na imagem a seguir:

img01_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

1 – Serial line: insira a porta COM em que seu adaptador foi alocado. Se não souber qual o número da porta, basta acessar o ‘Gerenciador de Dispositivos’ e em ‘Portas (COM e LPT)’ você pode ver o número da porta COM do adaptador.

2 – Speed: insira a velocidade de comunicação da serial. Por padrão, o ESP-01 vem de fábrica com a velocidade de 115200, mas se ao tentar enviar comandos AT através do PuTTY e não conseguir digitar nenhum comando, basta alterar esta configuração para 9600 e salvar.

3 – Connection type: marque o radio button referente a Serial.

4 – Saved Sessions: insira um nome para esta conexão que acabou de configurar e clique em ‘Save’ para que os dados fiquem registrados no programa. Com a sessão salva, basta dar dois cliques nela toda vez que precisar se conectar ao ESP-01 através do adaptador.

Terminada a configuração, basta clicar em ‘Open’ para que a janela de envio de comandos AT seja aberta:

img02_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Um conjunto de comandos AT ou comandos Hayes como também é conhecido, consiste em uma série de cadeias curtas de texto que podem ser combinadas para produzir comandos para operações a serem executadas por um dispositivo.

No caso do ESP8266, os comandos AT podem ser utilizados, por exemplo, para teste de conexão, reset, verificação de versão do firmware, configurar modo de operação, conectar a um ponto de acesso, verificar o IP de conexão, listar pontos de acesso, desconectar do ponto de acesso e muitas outras funções.

Inicialmente vamos utilizar apenas dois comandos AT, sendo um para verificar se a conexão está OK e outro para verificarmos a versão do firmware do módulo. Com a janela de comandos do PuTTY aberta, digite (sem aspas) o comando ‘AT’, dê enter e depois pressione Ctrl+j para que o comando seja executado. O resultado deverá ser algo parecido com a imagem abaixo:

img03_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Se o retorno do comando foi OK, então a conexão com o ESP-01 está funcionando conforme o esperado. Ainda na janela de comandos, digite (sem aspas) ‘AT+GMR’, dê enter e depois pressione Ctrl+j para que o comando seja executado. Na imagem abaixo você pode ver que a versão do firmware do ESP-01 que estou utilizando é a 0018000902:

img04_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

OBS: a taxa padrão de comunicação desta versão do meu ESP-01 é de 9600 bauds, diferente dos 115200 bauds que é mostrado numa das imagens de configurações do PuTTY, logo, tive que fazer o ajuste de configuração do Speed no programa para conseguir enviar comandos AT após abrir a conexão.

Pode ser que versão do firmware do seu ESP-01 seja diferente desta apresentada na imagem. Ao pesquisar por firmware para o ESP-01, você irá encontrar diversas opções, desde as oficiais até as modificadas por alguns desenvolvedores. Para este tutorial, utilizei a versão v0.9.5.2 AT que é uma atualização da v0.9.2.2 AT (versão que está instalada no ESP-01 que estou utilizando).

Agora vamos prosseguir com a gravação de firmware no ESP-01.

OBS: feche o PuTTY para que a conexão com o ESP-01 seja encerrada, pois se mantiver a conexão aberta, ao tentar acessar o módulo via serial através de outro programa, a conexão irá falhar.

Como vamos iniciar o processo de gravação de firmware no ESP-01, é necessário que o GPIO0 esteja conectado a GND, portanto, desconecte seu adaptador do computador e altere a posição do interruptor liga / desliga para ON. Na imagem abaixo você pode ver que alterei apenas uma das vias para a posição ON, pois ambas as vias estão soldas nos contatos do adaptador:

img05_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Reconecte o adaptador a porta USB do computador.

Clique AQUI para fazer o download do firmware v0.9.5.2 AT. Coloque na raiz da unidade C do seu computador o arquivo baixado.

Há diversos programas para gravação de firmware no ESP8266, porém, para este tutorial utilizei o xtcom_util, que você pode baixar clicando AQUI.

Após download do arquivo, basta descompactar e executar o XTCOM_UTIL.exe que está na pasta. Ao abrir o programa, clique na aba ‘Tools’ em seguida clique em ‘Config Device’:

img06_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Na janela que abrir, em ‘COM No:’ selecione a porta COM em que seu ESP-01 está conectado. Se seu ESP-01 está alocado em uma porta acima da COM6, recomendo que acesse a postagem Modificando o Adaptador USB Serial WiFi ESP8266 para Upgrade do ESP-01 e veja como alterar a porta COM de conexão. Em ‘Baud Rate:’ selecione a velocidade 115200:

img07_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Em seguida clique no botão ‘Open’ e a mensagem ‘Operation Succeeded!’ deverá ser mostrada. Clique em OK para fechar a janela:

img08_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Clique no botão ‘Connect’ e se tudo estiver OK você receberá a mensagem ‘Connect with target OK!’. Clique em OK para fechar a janela:

img09_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Se o interruptor do adaptador não estiver na posição ON, quando você clicar em ‘Connect’ o programa irá gerar uma mensagem de erro, pois o GPIO0 não vai estar conectado ao GND e consequentemente o modo de gravação de firmware não vai estar habilitado.

”Feche a janela ‘Config Device’, em seguida acesse a aba ‘API TEST(A)’ e clique na opção ‘(4) Flash Image Download’:

img10_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Na janela que abrir, clique em ‘Browse..’ e selecione o arquivo v0.9.5.2 AT Firmware que você colocou na raiz da unidade C do seu Windows:

img11_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Em seguida, clique em ‘Download’ e aguarde o processo de upgrade ser finalizado:

img12_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Ao final do processo você receberá a mensagem ‘Operation Succeeded!’:

img13_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Feche todas as janelas do xtcom_util e abra novamente o PuTTY. Se antes seu ESP-01 funcionava com a taxa de comunicação em 9600 bauds, você deverá alterar no PuTTY o Speed para 115200, pois esta é a taxa padrão para o firmware v0.9.5.2 AT.

Abra a conexão com o ESP-01 e na janela de comando, digite (sem aspas) o comando ‘AT’, dê enter e depois pressione Ctrl+j para que o comando seja executado. Se o resultado for OK, então a comunicação está operando normalmente.

OBS: se não conseguir digitar nenhum comando na janela do PuTTY, feche o programa, desconecte seu adaptador do computador e altere a posição do interruptor para desligado. Em seguida conecte o adaptador a porta USB, inicie o PuTTY, abra novamente a janela de comando e tente executar os comandos AT.

Para verificarmos a nova versão do firmware, digite (sem aspas) ‘AT+GMR’, dê enter e depois pressione Ctrl+j para que o comando seja executado. Note que a versão do firmware atualizou para AT version:0.21.0.0 e SDK version:0.9.5:

img14_upgrade_de_firmware_no_esp-01_e_envio_de_comandos_at_ide_arduino_nodemcu_atualizacao_update

Portanto, a atualização de firmware foi executada com sucesso no ESP-01.

Ainda utilizando comandos AT, vamos ver alguns outros comandos e suas funcionalidades. Na janela de comandos do PuTTY digite e execute cada um dos comandos abaixo e veja o resultado (primeiro enter no comando e depois Ctrl+j para executar):

AT+CWMODE? –  o resultado deste comando será um numeral de 1 a 3, onde 1 significa que o ESP-01 está configurado como Station (Estação), 2 significa que está configurado como Access Point (Ponto de Acesso) e 3 significa que ele está configurado como Station e Access Point.

AT+CWMODE=1 – ao executar este comando, o ESP-01 passará a atuar apenas como Station. Depois de executá-lo, digite e execute novamente o AT+CWMODE? e verifique se a configuração alterou.

AT+CWLAP – este comando exibe todos os pontos de acesso (redes sem fio) que estiverem ao alcance do módulo. Lembrando que se o módulo estiver configurado apenas como como Access Point (CWMODE:2), ao executar o AT+CWLAP você irá receber ERROR como retorno.

AT+CWJAP=”ssid”,””senha” – este comando é utilizado para que o módulo se conecte a um ponto de acesso WiFi. Para isto, basta inserir no comando o ssid (nome da rede sem fio) e a senha. Por exemplo: AT+CWJAP=”MinhaRede”,”12345678″. Após preencher estas informações, basta executar o comando. Lembrando que você NÃO deve remover as aspas duplas deste comando.

AT+CWJAP? – após se conectar a uma rede WiFi, execute este comando e ele irá retornar o ssid da rede em que você está conectado.

AT+CIFSR – ao executar este comando, o ESP-01 irá retornar o IP de conexão do módulo. Em posse do IP, vá até o cmd (terminal de comandos) do Windows e execute um ping no IP e veja se está OK.

AT+CWQAP – ao executar este comando, o ESP-01 irá se desconectar do ponto de acesso.

AT+RST – este comando é utilizado para dar um reset no módulo e efetivar as configurações feitas.

Com estes comandos mencionados acima, já é possível fazer alguns testes básicos no ESP-01, modificar configurações e conectar a redes sem fio.

O firmware que vem de fábrica no ESP-01 só nos permite fazer o envio de comandos AT. Portanto, se você quer programar o módulo através da IDE do Arduino, por exemplo, é necessário o uso de um firmware alternativo. A opção mais comum de firmware que vai possibilitar programar a placa para novas funcionalidades e através da IDE do Arduino, é o NodeMCU.

Interessado em saber mais detalhes sobre instalação do firmware NodeMCU no ESP-01?! Então acesse nossa postagem Instalando o Firmware NodeMCU no ESP8266 ESP-01 e veja como é simples a migração.

Gostou deste tutorial? 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.

Upgrade de Firmware no ESP8266 ESP-01 e envio de Comandos AT
6 votos / Média de avaliação: 5 / Pontuação: 100%


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 4 comentários para esta postagem

Deixe uma resposta

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