Neste artigo vamos mostrar como atualizar o firmware do ESP-01. Serão duas abordagens. A primeira será mostrar como restaurar o firmware padrão para comandos AT do módulo. A segunda será apresentar como gravar novos firmwares escritos por você ou exemplos prontos a partir da IDE arduino.
Antes de mais nada, este é um artigo para quem já está com a mão na massa em relaçao ao ESP 01. A motivação para escrever esse post veio de uma necessidade do próprio blog de atualizar o firmware do módulo para uma das versões originais.
Na internet exitem vários exemplos e posts, mas um número impressionante deles incorre em um problema muito complicado do ponto de vista didático: Explicam super bem o passo a passo, mas não explicam o que está por trás de cada passo. Isso aconteceu principalmente para gravar o firmware original para usar com comandos AT. A maioria dos guias dão por subentendido que o leitor sabe exatamente como configurar as ferramentas da Espressif Systems e como identificar os endereços de memória associados a cada arquivo binário que deve ser gravado.
Apesar de ser um aspecto básico de toda pesquisa na área de eletrônica, nem sempre os usuários lembram de ler os arquivos readme ou de procurar por instruções dos próprios fabricantes dos modelos e sensores, preferindo ir direto em tutoriais que, em tese, explicariam melhor como colocar uma aplicação para rodar.
No caso de gravar o firmware original para usar o ESP-01 com os comandos AT, as principais recomendações a serem levadas em conta são:
Nesses arquivos estão indicados qual o endereço correspondente para cada arquivo binário, para cada tipo de ESP-01(que variam o tamanho da memória flash). Esse arquivo muitas vezes é omitido nos tutorias, mas é a fonte principal para saber usar os arquivos binários do fabricante de forma correta.
Saber os endereços é fundamental pois a ferramenta oficial de atualização do firmware do ESP-01 faz a gravação de mais de um arquivo binário ao mesmo tempo, sendo necessário especificar exatamente qual o endereço de memória a partir do qual cada arquivo deve ser gravado.
A outra possibilidade de fazer update é para gravar um software escrito por você ou por outra pessoa. Nesse caso não é necessário se preocupar com os arquivos binários do fabricante, e a maneira mais prática é usar a própria IDE do Arduino, como vamos mostrar em seguida.
Materiais necessários para o projeto Atualizando Firmware do ESP-01
Tendo em vista o que foi dito na introdução, vamos usar a seguinte montagem para carregar o software(tanto o original para comandos AT como outros firmwares que você queira gravar).
A montagem foi feita usando o conversor serial FTDI232. É uma placa muito útil em diversos projetos e é recomendado ter uma dela para quando for necessário. Os pontos mais importantes da montagem são os seguintes:
Na próxima seção vamos fazer a atualização de firmware em dois procedimentos.
Primeiro vamos carregar o firmware para utilização de comandos AT. Muitas vezes é necessário carregar esse firmware para poder trabalhar com os comandos AT e fazer testes com seu módulo.
O primeiro passo é baixar o programa de atualização do fabricante e os arquivos binários a serem gravados:
A ferramenta de gravação tem a cara abaixo. Repare que existem vários campos para preencher com um endereço de memória e carregar diversos arquivos binários. Como comentamos no início do post, você deve verificar no arquivo readme, que vem junto com os binários que você baixou, qual o endereço de memória associado a cada binário.
Para saber qual o tamanho da memória do seu módulo, você pode fazer um teste simples. Ao executar o ESP Flash Download Tool, são abertas duas janelas: a tela principal do programa e uma tela preta usada para log.
Tendo feito os passos acima descrito, você está pronto para carregar o firmware dos comandos AT. Abra a pasta que você baixou com os arquivos binários e abra o arquivo readme. identique qual o conjunto de endereços e arquivos binários que deve utilizar, de acordo com a versão do seu módulo e os carregue na sequência mostrada no readme.
Basta carregar os arquivos correspondentes e preencher o endereço do lado direito, como mostrado abaixo. Em seguida, marque a opção SPIautoSet, em cima da caixa DETECTED INFO. Selecione também o tamanho da memória Flash do seu módulo. Assim que tudo estiver marcado, selecione e START e aguarde o término do download.
Ao fim, o seu módulo estará carregado com o firmware para comandos AT. Para testar se deu tudo certo, abra um terminal serial e faça um teste digitando AT. Se você receber um “OK”, então deu tudo certo!
Caso o seu objetivo seja usar a IDE do arduino para carregar os firmwares que você mesmo escreveu, o procedimento não é muito diferente. Primeiro, é preciso instalar as bibliotecas do ESP8266 na IDE Arduino. Na versão mais atual da IDE (1.8.5) o pacote ESP8266 já vem instalado, mas se você usa outra versão ou precisa instalar, pode fazer isso manualmente.
O link do pacote é esse aqui: http://arduino.esp8266.com/stable/package_esp8266com_index.json
Caso algo dê errado, verifique se houve alguma mudança no repositório oficial.
Veja na imagem abaixo a tela de preferências para carregar a URL adicional.
Após adicionar a URL, você pode instalar o pacote do ESP conforme o passo 2, como mostrado abaixo:
Após ter feito todos os passos e com o seu módulo ESP já selecionado para a IDE, você já pode fazer o update de firmware. Com o circuito montado e devidamente testado, vá na IDE do Arduino e carregue o exemplo Blink do ESP8266. Com o exemplo aberto e o circuito energizado, mantenha o botão ligado ao GPIO0 pressionado e dê um pulso no botão de reset. Você verá o led azul piscar, o que significa que o módulo está em modo de gravação.
Agora, na IDE, basta fazer o upload do firmware e aguardar o término da gravação. Ao final o programa de Blink estará carregado no seu ESP. O mesmo procedimento pode ser repetido para outros módulos.
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
Agora que você já sabe carregar e atualizar o firmware do ESP-01 já pode começar a fazer suas aplicações e escrever seus próprios programas. Um exemplo de como começar a usar o ESP-01 pode ser visto neste post! Outras aplicações serão postadas no blog, fique atento!
Se tiver alguma questão ou dúvida sobre o processo de download, deixe um comentário!
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!