Que tal programar o módulo Wifi 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.
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:
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:
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 Win32Release (se o seu Windows for 32 bits), ou Win64Release (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:
Na aba Advanced acesse as configurações do programa e altere o Baudrate para 115200. Não é necessário mexer nos outros parâmetros.
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:
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
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.
Vamos ver se realmente funciona com a programação em Lua? Adicione um led ao circuito:
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:
-- 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.
Gostou? Confira outros posts usando ESP8266 aqui mesmo no Arduino e Cia!