Programando para o ESP8266 com o NodeMcu em Lua

Algumas pessoas me perguntaram se é possível programar o ESP8266 da mesma forma que o Arduino. Até hoje a resposta que dou é não, porém existe o NodeMcu, que é uma implementação do interpretador de Lua (Wiki) dentro do ESP. Isso torna possível criar scripts Lua dentro do ESP e facilita a vida de quem está começando, já que existe uma camada de drivers que criam uma certa abstração do HW, ajudando, por exemplo, a controlar GPIO’s de uma forma similar ao Arduino.
Este firmware possibilita, em sua grande parte, escrever scripts na linguagem Lua, sem a necessidade de recompilar o código e fazer o flash do firmware, já que o script é interpretado. Isso possibilita, por exemplo, criar toda a lógica diretamente por meio de scripts.

Hoje, vou mostrar uma breve introdução ao NodeMcu, desde compilar o código fonte, processo de flash e um exemplo básico. Vamos assumir que você instalou o SDK utilizando este processo.

O primeiro passo é fazer o clone do repositório:

git clone https://github.com/nodemcu/nodemcu-firmware.git

Compliar:

make all

Flash do firmware no módulo (lembre-se de colocar o pino GPIO0 em low/aterrado e religar o módulo):

make flash

Se o processo de flash finalizar sem nenhum erro, abra o terminal serial (cutecom ou minicom) em 9600bps 8N1, e a seguinte mensagem deverá aparecer:

NodeMCU 0.9.5 build 20150213 powered by Lua 5.1.4
lua: cannot open init.lua

Para enviar o script, usamos a interface serial, onde enviamos comandos tais como:

No script acima, criamos um arquivo chamado init.lua e escrevemos um simples print “Ola mundo” que será executado toda vez que o modulo iniciar.

Nos próximos posts, irei criar outros exemplos, tais como conexão com o router, web server, controle das GPIO’s e muito mais.

Happy Hacking!