Gravando firmware NodeMCU no ESP8266

7 de maio de 2018 1 Por autor
Que tal programar o módulo ESP8266 ESP-01 utilizando Lua ? Isso é possível com o upgrade de firmware do módulo, já que a versão que vem de fábrica aceita apenas comandos AT. Neste tutorial, mostraremos como gravar o firmware NodeMCU no ESP8266 ESP-01.
ESP8266 ESP-01 com NodeMCU
Para realizar a gravação do firmware NodeMCU no ESP-01, vamos utilizar um módulo USB-TTL com chip FTDI, mas você pode usar outros conversores USB-Serial, e até mesmo um Arduino para fazer a ponte entre o computador e o ESP-01.

Conexão do módulo FTDI ao ESP-01

Conecte o conversor FTDI FT232 ao ESP-01 conforme o circuito abaixo. Não esqueça de mudar o jumper do módulo FTDI para a posição 3.3V, já que é essa a tensão de trabalho dos pinos do módulo ESP8266:
Gravando firmware nodeMCU no ESP8266 ESP-01
Para permitir a gravação do firmware, o pino GPIO0 do ESP-01 deve estar ligado ao GND, e deve ser desconectado quanto quisermos entrar em modo de programação.

Gravação do firmware NodeMCU no ESP-01

Primeiramente faça o download do firmware do NodeMCU neste link. Escolhemos o firmware nodemcu_integer, que consome menos memória:
Download firmware NodeMCU
Faça agora o download do programa de gravação do firmware, o NodeMCU Flasher, Não é necessária a instalação do programa, apenas descompacte o arquivo e execute o ESP8266Flasher.exe que está na pasta \Win32\Release (se o seu Windows for 32 bits), ou \Win64\Release (se o Windows for 64 bits) para que a tela principal do programa seja exibida, já com a porta serial (COM21, no nosso caso) do conversor FTDI:
NodeMCU Flasher - Tela principal
Na aba Advanced acesse as configurações do programa e altere o Baudrate para 115200. Não é necessário mexer nos outros parâmetros.
NodeMCU Flasher - Serial
Agora, vá até a aba Config e na primeira linha coloque o caminho (path) do arquivo do firmware que baixamos anteriormente. No campo relativo ao endereço, ao lado do nome do arquivo, selecione o endereço 0x00000:
NodeMCU Flasher - Firmware
Retorne à tela principal e clique no botão Flash(F). Aguarde o processo de upgrade. Se os endereços “MAC” do ESP-01 não forem detectados, desligue a alimentação do módulo por alguns segundos e ligue novamente
NodeMCU Flasher - Upgrade
Finalizado o processo de upgrade, desconecte o pino GPIO0 para colocar o módulo em modo de programação..

Teste do firmware NodeMCU

Vamos testar o firmware gravado usando o ESPlorer, disponível neste link. Já vimos como usar esse programa no post Web Server com o módulo ESP8266 NodeMCU e DHT22. Depois de entrar no programa, selecione a porta serial do módulo FTDI e clique em Open.
Se tudo estiver certo, a console do programa (janela do lado direito), deve apresentar as informações de firmware do ESP-01, agora com o NodeMCU:
ESPlorer - Conexão ESP8266 ESP-01
Vamos ver se realmente funciona com a programação em Lua ? Adicione um led ao circuito:
FTDI FT232 ESP8266 ESP-01
Na janela do lado esquerdo do ESPlorer, copie ou digite o programa abaixo, que vai piscar o led ligado à GPIO2 do ESP-01 em intervalos de 1 segundo:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
-- Programa: Led com ESP8266 ESP-01
-- Autor: Arduino e Cia
-- Configuracao pinos e variaveis
pin = 4            --> GPIO2
value = gpio.LOW
duration = 1000    --> 1 second
-- Funcao que altera o estado do led
function toggleLED ()
    if value == gpio.LOW then
        value = gpio.HIGH
    else
        value = gpio.LOW
    end
    gpio.write(pin, value)
end
-- Inicializa a GPIO
gpio.mode(pin, gpio.OUTPUT)
gpio.write(pin, value)
-- Executa a função toggleLED()
tmr.alarm(0, duration, 1, toggleLED)
Clique no botão SEND to ESP para que o programa seja transferido para o módulo e automaticamente executado.
[Fonte]