jueves, 10 de septiembre de 2015

Cómo empezar con NodeMCU (II)

Después de ver cómo cargar el firmware (necesario para empezar a funcionar) y cómo hacer nuestro primer "Hello World!", viene el momento de hacer algo más interesante.

En NodeMCU se pueden cargar archivos de scripts LUA y no tener que estar copiándolos y pegándolos en el terminal. Para ello vamos a escribir nuestro primer script que nos mostrará las redes WiFi de nuestro alrededor:
 function listap(t) -- (SSID : Authmode, RSSI, BSSID, Channel)  
    print("\n"..string.format("%32s","SSID").."\tBSSID\t\t\t\t RSSI\t\tAUTHMODE\tCHANNEL")  
    for ssid,v in pairs(t) do  
    local authmode, rssi, bssid, channel = string.match(v, "([^,]+),([^,]+),([^,]+),([^,]+)")  
    print(string.format("%32s",ssid).."\t"..bssid.."\t "..rssi.."\t\t"..authmode.."\t\t\t"..channel)  
    end  
   end  
 wifi.sta.getap(listap)  

Lo guardamos como show_aps.lua y ahora necesitamos un "uploader" para subir los archivos a nuestro cacharrito. Yo utilizo este:
https://github.com/kmpm/nodemcu-uploader

Hacemos un git clone al repositorio
 $ git clone https://github.com/kmpm/nodemcu-uploader.git  

Y lo usamos, compilando y subiendo el archivo previamente creado:
 $ sudo python nodemcu-uploader.py upload show_aps.lua:show_aps.lua --compile  
 Preparing esp for transfer.  
 Remove show_aps.lc  
 file.remove("show_aps.lc")  
 Transfering show_aps.lua as show_aps.lua  
 Compile show_aps.lua  
 node.compile("show_aps.lua")  
 Remove show_aps.lua  
 file.remove("show_aps.lua")  
 All done!  

Ahora nos volvemos a conectar a través de Putty y lo ejecutamos para ver el resultado:
 > dofile("show_aps.lc")  

Y nos mostrará algo como esto:

OJOCUIDAO! Después de compilarlo ya no tiene extensión .lua, ahora tiene extensión .lc

Ahora vamos a conectarnos a nuestra WiFi, una vez hemos visto que la tiene localizada. Abriendo Putty de nuevo (si has sido un prisas y ya lo has cerrado) y escribimos lo siguiente:
 > wifi.setmode(wifi.STATION)  
 > wifi.sta.config("SSID","password")  
 -- Esperamos unos segundos que se conecte  
 > print(wifi.sta.getip())  
 >> 192.168.1.XXX  

Y ya está conectado NodeMCU a nuestra red WiFi!

Podemos comprobarlo con un ping desde nuestra máquina a la IP que nos ha devuelto.

En la próxima entrada un pequeño servidor web con algún dato interesante para probar que todo funciona correctamente.

Un saludo!

No hay comentarios:

Publicar un comentario