Translate

quarta-feira, 29 de junho de 2016

Utilizando o firmware nodemcu com LUA em ESP8266 ESP-12 genérico



    Adquiri alguns ESP-12F no Aliexpress, aproximadamente US$ 2,78, frete grátis, devido ao fato de já vir com o conversor USB-SERIAL CH340G. Baratíssimos e com o breakout board de programação encaixado. Muito prático.


   Sofri um pouco para conseguir carregar alguma coisa nesse ESP. O firmware original do Nodemcu não se adaptou. Não insisti muito, porque demorei para chegar nessa conclusão. Achei que havia problemas com o CH340G e gerou várias mensagens de erro de memória, caracteres estranhos, etc. Só deu certo utilizando o app gravador certo com a firmware adaptável. Este post foi feito logo após dar certo, então não há aprofundamento. Cheguei somente ao ponto de conseguir a conexão wifi com LUA.


1. Iniciando o procedimento


   Inicialmente, instalei o driver do CH340G para windows (7-x64, no meu caso). Baixei no endereço http://www.wch.cn/download/CH341SER_ZIP.html ou alternativo.
   Em seguida, acessei o site http://nodemcu-build.com/ para gerar um firmware customizado. Somente dei o email (onde será enviado o endereço de download do firmware gerado), marquei alguns módulos e cliquei em "Start your build". 5 minutos depois, chegou o email com o endereço. Baixei os 2 firmwares gerados (um para utilizar somente números inteiros, teoricamente mais rápido e menor, e outro que utiliza também números com ponto flutuante).


   Baixei o ESPFlasher.exe https://github.com/nodemcu/nodemcu-flasher (alternativo) para gravar o firmware no ESP. Para carregar o firmware, simplesmente conectar o ESP na USB, executar o ESPFlasher.exe, selecionar a porta COM referente à USB utilizada e indicar o firmware baixado na aba Config. Verificar o endereço 0x00000 e na aba Advanced, verificar se a velocidade está em 115200 ou 230400. Voltar à aba Operation e clicar em Flash. Aguardar até o final da operação. Caso suspeite de erro, clicar em Restore Defaults na aba Advanced, para limpar as alterações e refazer a configuração da carga. Às vezes é necessário resetar o módulo para assumir o novo firmware.

2. Verificando o firmware.

   Fiz via ESPlorer, que pode ser baixado no endereço http://www.14core.com/how-to-install-esplorer-ide-in-multiple-platform/ (alternativo).
   Verificar a porta COM utilizada, a velocidade (melhor 115200) e clicar em Open, para fazer a comunicação.

  Logo após Resetar o ESP, o console ficou assim (note caracteres estranhos), e o comportamento estava normal, aparentemente.

   Com algumas dicas da página da Adafruit sobre o esp8266, vi que havia necessidade de alterar o modo de comportamento do ESP, originalmente AP, para station:

   Entrando com o código abaixo (modifiquei da página da Adafruit) e enviando para o ESP, é feita a conexão do ESP com o AP que você utiliza. Observe que na página referida existe um código para listar os APs disponíveis para o ESP. O final do código falhou. O servidor de DHCP deve ter demorado um pouco para fornecer o endereço e o primeiro resultado foi NIL. Reinseri o comando e o resultado foi ok.

 

   Este blog me serve sempre como referência para posteriormente refazer os passos, chegando no resultado. Assim, sinta-se livre para comentar e perguntar, que farei o possível para responder.

3. Referências:

  • https://learn.adafruit.com/adafruit-huzzah-esp8266-breakout/using-nodemcu-lua
  • http://bbs.espressif.com/viewtopic.php?f=67&t=225/
  • http://www.wemos.cc/