Índice:

Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO: 7 etapas
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO: 7 etapas

Vídeo: Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO: 7 etapas

Vídeo: Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO: 7 etapas
Vídeo: $5 WiFi Camera Setup | ESP32 Wifi Setup view on Mobile phone 2024, Julho
Anonim
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO
Restaurar ou atualizar o firmware no módulo ESP8266 (ESP-01) usando o Arduino UNO

O módulo ESP-01 que usei originalmente veio com um firmware AI Thinker mais antigo, o que limita suas capacidades, uma vez que muitos comandos AT úteis não são suportados.

Geralmente é uma boa ideia atualizar seu firmware para correções de bugs e também dependendo das funcionalidades necessárias do módulo ESP, um conjunto mais completo de comandos AT suportados pode ser necessário. Este tutorial também explica como restaurar ou atualizar o firmware original do Espressif se acontecer de você bagunçar o firmware do ESP, por exemplo, por meio de alguns comandos AT errados. Foi o que aconteceu quando tentei alterar a taxa de transmissão padrão de 115200 para 9600. Usei o seguinte comando (com base em uma pesquisa rápida no Google):

AT + IPR = 9600

Isso bloqueou o módulo ESP-01. Nenhum comando AT funcionava mais, o que me levou a fazer mais pesquisas e, depois de muitas horas, finalmente encontrei uma maneira de restaurar meu ESP-01 e instalar o firmware compatível mais recente. Então, decidi que valia a pena compartilhar todo o processo.

Cuidado: Com base em minha experiência, eu recomendo fortemente não usar o comando AT + IPR para alterar sua taxa de transmissão, pois isso provavelmente exigirá que você atualize seu firmware. No entanto, existem muitas variantes diferentes do módulo ESP-01 com diferentes tamanhos de flash e versões de firmware de fábrica, portanto, sua experiência pode variar.

O módulo ESP-01 não é compatível com 5 V e requer 3,3 V para alimentá-lo, mas também para funcionar corretamente no nível lógico. Para se comunicar com o computador, o módulo precisa adicionalmente de um conversor USB para serial. Portanto, em vez de usar um conversor de tensão e um adaptador USB para serial, decidi optar por uma solução mais simples. Como já tenho um Arduino UNO, usei o último para alimentar o módulo ESP-01 e estabelecer a comunicação entre o ESP-01 e o computador, funcionando efetivamente como uma ponte serial.

Suprimentos

  1. Módulo ESP-01
  2. Arduino UNO (com cabo USB)
  3. Jumper de fios DuPont
  4. Tábua de pão

Etapa 1: Conexões de fios

Conexões de fio
Conexões de fio
Conexões de fio
Conexões de fio
Conexões de fio
Conexões de fio

As conexões de fio com o módulo Arduino UNO e ESP-01 podem ser feitas facilmente usando cabos jumper e uma placa de ensaio. As conexões entre a placa de desenvolvimento Arduino e o módulo ESP são descritas na tabela. As conexões RX e TX não são invertidas neste caso, pois a comunicação não está ocorrendo entre o módulo Arduino e ESP, mas entre o ESP e o computador. Portanto, neste caso, a placa Arduino UNO é usada como uma ponte serial por meio de seu conversor USB para serial on-board.

A conexão dos pinos RX entre a placa Arduino e o módulo ESP deve ser feita através de um divisor de tensão, uma vez que o ESP-01 opera em nível lógico de 3,3 V e receber nível lógico de 5 V do Arduino UNO pode danificar o módulo ESP. Você pode construir um divisor de tensão simples de 3,3 V usando apenas 2 resistores, conforme mostrado na figura. Opcionalmente, você pode usar um conversor de nível lógico.

Cuidado: Para minha configuração, eu apenas conectei os pinos RX diretamente (não aconselhável!) E tudo funcionou, mas se você decidir renunciar à conversão do nível lógico, proceda por sua própria conta e risco!

Para estabelecer uma conexão de aterramento comum, o pino de aterramento do Arduino UNO é conectado ao pino de aterramento do módulo ESP.

O Arduino UNO é usado para fornecer alimentação de 3,3 V diretamente para o pino VCC do módulo ESP. Conecte o pino de 3,3 V à placa de ensaio usando um fio jumper, uma vez que o pino de 3,3 V será usado não apenas para o pino VCC do ESP, mas também para o pino CH_PD do ESP para habilitar o chip ESP.

O pino RESET no Arduino UNO é conectado ao aterramento para ignorar qualquer código carregado por meio do Arduino para que o código seja enviado do computador para o ESP-01.

A figura da tabela mostra o conjunto completo de conexões para flashing do firmware, mas neste estágio, não conecte os pinos Reset do ESP e GPIO_0, pois leremos as informações do firmware na próxima etapa.

Etapa 2: verificar a versão do firmware

Verifique a versão do firmware
Verifique a versão do firmware

Para encontrar a versão do firmware do ESP-01, no Arduino IDE Serial Monitor, digite:

AT + GMR

Nota: Todos os comandos AT precisam ser digitados em maiúsculas, sem espaços.

Aqui está a saída serial para meu ESP-01 (seu módulo ESP pode não mostrar exatamente as mesmas informações, pois depende do modelo específico e da data de lançamento):

AT + GMR

Versão AT: 0.25.0.0 (5 de junho de 2015 16:27:16) Versão do SDK: 1.1.1 Ai-Thinker Technology Co. Ltd. 23 de junho de 2015 23:23:50 OK

Agora, para atualizar para o firmware oficial Espressif ESP8266EX mais recente, acesse a seção de recursos de seu site:

Nota: A lista de firmware disponível pode não ser compatível com o seu modelo ESP-01. Verifique a seção Solução de problemas no final deste tutorial para obter mais informações.

Etapa 3: Preparando a configuração: antes de atualizar o firmware

Preparando a configuração: antes de piscar o firmware
Preparando a configuração: antes de piscar o firmware

Agora, prepararemos o Arduino UNO para o procedimento de flashing do firmware ESP-01.

Certifique-se de que o fio de RESET do Arduino esteja desconectado do aterramento. Além disso, os fios TX e RX do Arduino UNO precisam ser desconectados do módulo ESP-01.

Abra o IDE do Arduino e, no menu superior, vá para Arquivo> Exemplos> 01. Basics> BareMinimum. Faça upload do esboço para o Arduino UNO. Este esboço em branco garantirá que nenhuma interferência de comunicação ocorra com o módulo ESP.

Reconecte os cabos RX e TX entre o UNO e o ESP-01. Além disso, conecte o pino RESET do UNO ao aterramento.

O pino CH_PD ou CH_EN significa 'Chip Power-Down' ou 'Chip Enable' e precisa ser puxado para ALTO ou conectado a 3,3 V para habilitar o chip ESP.

Dois cabos de jumper adicionais são necessários para os seguintes pinos ESP: GPIO_0 e RESET.

GPIO_2 não é usado e fica desconectado.

O ESP-01 precisa ser definido no modo de programação para que o código possa ser carregado nele. Mas o ESP-01 não tem o hardware adicional integrado necessário para fazer isso diretamente, portanto, tudo precisa ser conectado separadamente. Para meu próprio uso, não me incomodei em usar interruptores, mas simplesmente usei dois cabos jumper macho-fêmea conectados aos pinos GPIO_0 e RESET do módulo ESP-01 e os pluguei nos pinos de aterramento comuns da placa de ensaio do aterramento do Arduino UNO.

Antes de iniciar o procedimento de piscar, GPIO_0 é conectado ao aterramento para todo o procedimento de piscar para habilitar o modo de programação.

O pino RESET é conectado ao aterramento por um segundo e, em seguida, removido. Isso permite que o novo firmware seja carregado.

Etapa 4: Baixe a ferramenta de flash e o firmware

Baixe a ferramenta de flash e o firmware
Baixe a ferramenta de flash e o firmware

O firmware usado é da Espressif, que é o fabricante original do chip ESP8266.

Acesse: https://www.espressif.com/en/products/hardware/esp8266ex/resources para acessar as ferramentas oficiais e os arquivos de firmware AT.

Na guia 'Ferramentas', baixe as Ferramentas de download do Flash (ESP8266 e ESP32), atualmente a mais recente é a V3.6.8.

Na guia 'AT', baixe o firmware AT compatível mais recente, que é ESP8266 AT Bin V1.6.2 para meu modelo ESP-01. Depende do modelo ESP-01, pois pode ter diferentes tamanhos de memória flash. Você encontrará mais informações sobre isso na seção DETECTED INFO do programa Flash Download Tools após clicar em START para iniciar o procedimento de flashing. Portanto, se você não tiver certeza sobre o tamanho do flash ou quais arquivos de firmware selecionar, apenas execute o programa para obter as informações corretas sobre o seu módulo ESP.

Depois de piscar, você pode usar comandos AT para testar e trabalhar com o ESP-01. Baixe o conjunto de instruções oficial ESP8266 AT:

Etapa 5: Procedimento de flashing

Procedimento de Flashing
Procedimento de Flashing
Procedimento de Flashing
Procedimento de Flashing
Procedimento de Flashing
Procedimento de Flashing
Procedimento de Flashing
Procedimento de Flashing

Extraia o arquivo zip do Flash Download Tools e abra o arquivo exe. Certifique-se de executá-lo como administrador se estiver usando o Windows. Uma janela do DOS será aberta primeiro, seguida por uma janela pop-up. Selecione a ferramenta de download ESP8266. Isso abrirá uma janela com várias opções configuráveis.

Neste estágio, consulte a captura de tela para ver exatamente quais opções selecionar e o que digitar nas caixas de código hexadecimal ao lado de cada um dos arquivos de firmware selecionados.

Nota: Selecione os arquivos de firmware na mesma ordem, pois o procedimento de flash é feito sequencialmente. O arquivo blank.bin precisa ser selecionado três vezes, conforme mostrado na captura de tela do conjunto de instruções AT.

Para encontrar os códigos hexadecimais ou endereços corretos, verifique o documento oficial do conjunto de instruções AT. Anexei uma captura de tela da tabela que usei para fazer o flash do meu módulo ESP.

Em seguida, basta pressionar o botão START e assistir a mágica acontecer. O texto do botão mostrará SYNC e a seção DETECTED INFO exibirá as especificações do seu módulo ESP. Em seguida, o texto mostrará DOWNLOAD e a barra de progresso será ativada conforme os arquivos de firmware são carregados para a memória flash ESP. Depois que o procedimento de flashing do firmware for concluído, você verá: FINISH.

Feche o programa Flash Download Tools. Isso é necessário para liberar a porta serial para permitir que o Arduino IDE Serial Monitor assuma.

Desconecte o pino ESP GPIO_0 da conexão de aterramento. Isso desativará o modo de programação.

Conecte RESET ao aterramento por 1 segundo e depois desconecte. Isso reinicializará o módulo.

Abra o IDE do Arduino. No menu superior, selecione Ferramentas> Porta> selecione a porta COM correta. Abra o Serial Monitor e escolha "Ambos NL e CR" e selecione a taxa de transmissão de 115200, que é a padrão.

Modelo:

NO

Se o procedimento de piscar correu corretamente, a resposta será:

OK

Para verificar o seu novo firmware, digite:

AT + GMR

Aqui está a saída do Serial Monitor para meu ESP-01:

AT + GMR

Versão AT: 1.6.2.0 (13 de abril de 2018 11:10:59) Versão do SDK: 2.2.1 (6ab97e9) tempo de compilação: 7 de junho de 2018 19:34:26 Versão bin (Wroom 02): 1.6.2 OK

Etapa 6: alterar a taxa de transmissão permanentemente

Alterar a taxa de transmissão permanentemente
Alterar a taxa de transmissão permanentemente

Esta parte é opcional. A taxa de baud padrão é 115200, mas se você quiser alterá-la para outra velocidade de baud, basta digitar o seguinte comando no Monitor Serial do Arduino.

Por exemplo, se você deseja alterar para 9600 baud rate / 8 bits de dados / 1 bit de parada / sem bit de paridade / sem controle de fluxo.

Digitar:

AT + UART_DEF = 9600, 8, 1, 0, 0

A resposta deve ser:

OK

O comando acima altera a taxa de baud permanentemente para 9600, mas você pode escolher qualquer uma das velocidades de baud padrão.

Etapa 7: Solução de problemas

Solução de problemas
Solução de problemas
Solução de problemas
Solução de problemas

Se houver alguma anomalia após o flashing bem-sucedido do firmware, por exemplo, no Monitor Serial, depois de selecionar a taxa de transmissão padrão de 115200 e digitar: AT, mas não ver nenhuma resposta ou se você digitar AT + GMR e receber algum outro tipo de informação diferente da informação da versão do firmware, então você pode ter atualizado o firmware errado. Nesse caso, no programa Flash Download Tools, depois de pressionar o botão START para iniciar o procedimento de flashing do firmware, o botão verde de status exibe SYNC e esse é o estágio onde as informações do módulo ESP são extraídas e disponibilizadas em INFORMAÇÕES DETECTADAS. Essas informações são cruciais para determinar o firmware correto e os arquivos corretos para o flash.

O seguinte é para meu módulo ESP-01:

vendedor de flash:

E0h: N / A flash devID: 4014h QUAD; Cristal de 8 Mbit: 26 Mhz

Sua INFORMAÇÃO DETECTADA dependerá do modelo ESP-01. Mas isso permitirá que você deduza o tamanho correto do flash. No meu ESP, são 8Mbit, o que equivale a 1 MB. Portanto, isso significa que devo escolher 512 KB + 512 KB nos arquivos de firmware. E isso também significa que o firmware 1.7.0 ou 1.7.1 não funcionará corretamente para o meu módulo ESP, o que também confirmei atualizando o firmware e testando. Além disso, na descrição do firmware 1.7.0 e 1.7.1 no site oficial de recursos do Espressif, as seguintes informações são listadas: "Limitada pelo tamanho do arquivo bin AT, apenas` 1024 + 1024 flash map` é suportado por predefinição." 1024 + 1024 significa que é para um módulo ESP com um tamanho total de flash de 2.048 KB ou 2 MB.

Nota: Caso você esteja se perguntando, você pode fazer o downgrade ou atualizar entre diferentes versões de firmware sem quaisquer restrições. Se algo der errado, você pode simplesmente piscar novamente com parâmetros diferentes ou tentar um firmware diferente.

Recomendado: