NodeMCU( http://nodemcu.com/index_en.html ) é uma plataforma de desenvolvimento baseada no SoC ESP8266, com stack TCP/IP, eLua e vários extensões do lua embarcadas, voltadas especialmente para aplicações de IoT.
O SoC ESP8266 usa uma CPU RISC de 32bits Tensilica Xtensa LX106, rodando a 80MH. Tem uma RAM de instruções de 64 Kb, uma RAM de dados de 96Kb e uma flash interna de 4 fucking MBs! A estrela do bolo é o IEEE 802.11 b/g/n com suporte a WEP,WPA/WPA2 disponível, além dos 16 pinos de GPIO, SPI, I2C, UART e ADC de até 10bits.

nodeMCU

No xubuntu, eu tive problemas de conectar nela com o minicom. Mas estou usando lindamento o screen:

$ screen /dev/ttyUSB0 9600

Lua/eLua é linda. coisas extremamente complexas são executadas com uma simplicidade absurda, como listar as redes 802.11 disponiveis:

> function lswifi()
>>  function listap(t)
>>    for k,v in pairs(t) do
>>      print(k.." : "..v)
>>    end
>>  end
>>  wifi.sta.getap(listap)
>>end
>lswifi()

listar os arquivos, o conhecido ‘ls’, é simples:

> for k,v in pairs(file.list()) do print(k,v) end

logar na rede wifi, então, piece of cake:

wifi.setmode(wifi.STATION);
wifi.sta.config(“SSID”,”senha”)

e pronto! so checar seu ip com:

print(wifi.sta.getip())

Aproveitei e fiz um wget rudimentar hahaha

conn=net.createConnection(net.TCP, false) 
conn:on("receive", function(conn, pl) file.open("oi.lua","a"); file.write(pl); file.close() end)
conn:connect(80,"121.41.33.127")
conn:send("GET / HTTP/1.1\r\nHost: www.nodemcu.com\r\n"
    .."Connection: keep-alive\r\nAccept: */*\r\n\r\n")

Escrevi alguns métodos do GNU coreutils, como ls, cp, mv, df… para facilitar a vida. Em breve posto no github e ponho o link aqui.

O legal é que existem uma infinidade de exemplos e aplicações para esta plaquinha. E ela ganhou um fã haha.

Enjoy!