martes, 8 de septiembre de 2015

Cómo empezar con NodeMCU (I)

Aprovechando que hoy es fiesta en Málaga, he empezado a preparar un minitutorial de NodeMCU.

NodeMCU es un kit de desarrollo basado en hardware y software libre que como principales cualidades tiene la capacidad de almacenar hasta 4MB y conexión WiFi, además de costar 6,5€.

Antes de nada avisar que este mini tutorial es para Linux, pues es el sistema operativo que utilizo como principal.

Lo primero que vamos a hacer es flashear el cacharrito con el firmware necesario para hacerlo funcionar. La mayoría vienen flasheados, pero así podemos tenerlo actualizalo con la última versión.

Descargamos el firmware oficial desde github:
https://github.com/nodemcu/nodemcu-firmware/releases
Descargamos, en el momento de escribir esta entrada el archivo nodemcu_integer_0.9.6-dev_20150704.bin

Después tenemos que tener la herramienta para flashear nuestro NodeMCU, llamada esptool que es software libre (nuevamente) y podemos descargar desde: https://github.com/themadinventor/esptool

esptool tiene una dependencia que debemos instalar previamente con:
 $ sudo pip install pyserial  

Y después instalamos el propio esptool:
 $ sudo python setup.py install  

Ahora conectamos nuestro cacharrito y para ver qué puerto se le ha asignado hacemos:
 $ dmesg | tail  

Y nos debe salir algo como esto:
 [ 1699.923283] usb 1-1.2: new full-speed USB device number 8 using ehci-pci  
 [ 1700.016382] usb 1-1.2: New USB device found, idVendor=1a86, idProduct=7523  
 [ 1700.016389] usb 1-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0  
 [ 1700.016392] usb 1-1.2: Product: USB2.0-Serial  
 [ 1700.016801] ch341 1-1.2:1.0: ch341-uart converter detected  
 [ 1700.018752] usb 1-1.2: ch341-uart converter now attached to ttyUSB0  

Lo que nos indica que ha sido conectado en /dev/ttyUSB0

Procedemos a flashear con esptool y el firmware (.bin) previamente descargado:
 $ sudo esptool.py --port /dev/ttyUSB0 write_flash 0x00000 ~/nodemcu/firmware/nodemcu_integer_0.9.6-dev_20150704.bin   
 Connecting...  
 Erasing flash...  
 Wrote 462848 bytes at 0x00000000 in 45.5 seconds (81.4 kbit/s)...  
   
 Leaving...  

Y con esto ya tenemos el firmware cargado sobre el NodeMCU.

Ahora vamos a conectarnos a través del puerto serie (USB). Lo primero es tener un cliente instalado, yo tengo Putty (sí, el que se usaba para Windows, es software libre y también está para Linux) se instala con:
 $ sudo apt-get install putty  

Lo abrimos (recordad abrirlo con sudo para tener acceso al dispositivo USB)
 $ sudo putty  

y lo configuramos tal que así:


Pulsamos en "Open" y saldrá una pantalla en negro. Si nos dice que hay un problema de conexión posiblemente es que no lo hemos ejecutado con sudo o el dispositivo ha cambiado de posición (/dev/) y debemos mirarlo de nuevo con dmesg. Después de la pantalla en negro, pulsamos el botón de reset de la placa y nos saldrá una pantalla como esta:



¡Enhorabuena!, ya tenemos acceso a nuestro NodeMCU. Ahora sólo tenemos que escribir el programa que queramos hacer funcionar. Para empezar, por supuesto, no puede faltar el "Hello World!":

> print("Hello World!")
Hello World!



En las próximas entradas se profundizará un poco más sobre cómo conectar al WiFi y cargar scripts en él.

Fuentes:

No hay comentarios:

Publicar un comentario