Objetivos
Material requerido
NodeMCU V2 o V3 |
NodeMCU, un microcontrolador basado en el ESP8266
Ya hemos hablado anteriormente sobre el módulo WIFI ESP8266 en otras ocasiones, pero hoy vamos a hablar de una placa que está basada en él: el NodeMCU v1.0. Queremos recalcar que si queréis juguetear con él es conveniente que busquéis la versión 1.0 porque los cambios introducidos han sido enormes y para mejor.
Uno de esos cambios es que el procesador que incluye, en la versión 12E, o mejorada (del inglés Enhanced), tenemos 6 pines más, cuatro de los cuales están dedicados a la comunicación SPI, que son los CS0, MISO, MOSI y SCLK. Si no tenéis claro lo que significa SPI o no lo recordáis, podéis echar un vistazo a este otro tutorial en el que hablamos de él cuando enredábamos con displays: El bus SPI.
Podéis ver los nuevos pines en el siguiente esquema:
En el tutorial Modelos ESP2866 ya presentamos al NodeMCU y dijimos que si se confirmaba que se podía programar como un Arduino mediante el plugin ESP8266 podría ser el Arduino que llevamos mucho tiempo esperando con WIFI incluido por un precio ridículo además.
Pues bien, ya está confirmado y gracias al grupo de benefactores de la humanidad que desarrollaron el plugin ESP2866 para el IDE Arduino, podemos utilizarlo ahora también para programar el NodeMCU desde el IDE de Arduino.
En lugar de tener que aprender a programar el dichoso módulo en LUA, podemos ahorrarnos tiempo y quebraderos de cabeza y empezar a cacharrear directamente con él usando el C que utilizamos en nuestro IDE de Arduino.
Vamos a recordar un poco las ventajas que nos ofrece el plugin del ESP2866 para programar el NodeMCU:
Decíamos que NodeMcu es una iniciativa Open Source de Espressif systems para el desarrollo de un modelo sencillo de integrar la IOT en donde haga falta. Para ello desarrollan modelos de hardware y software que facilite el desarrollo de programas y aplicaciones basados en WIFI.
Una ventaja con respecto a otros módulos que integran el ESP2866 es que todos sus pines están disponibles en el exterior, en un montaje que se puede colocar en una protoboard (síi, por fin) y además incluye un conector mini USB para programar el chip interno y comunicarse con el PC si es necesario, con lo que nos evitamos el adaptador FTDI a USB que siempre es engorroso.
Variantes de Nodemcu
Vamos a echar un ojo a los diferentes modelos de las placas NodeMCU, porque al ser un proyecto open-source existen una serie de variantes ya que cualquiera puede producir y vender placas NodeMCU.
Principalmente son tres los fabricantes: Amica, Doit/Smartduino y Lolin/WeMos. En nuestro caso hemos probado la versión NodeMCU Amica.
Primera Generación, V1 (versión V0.9)
La primera generación de placas NodeMCU, que lleva la numeración v0.9, tiene la peculiaridad de que el color de la placa suele ser amarillo y que el formato es más ancho que el de sus sucesoras, 47 mm x 31 mm. El inconveniente de este tipo de placas es que, debido a su tamaño, cubre los diez pines de una protoboard normal haciendo que sea engorroso utilizarla para nuestros proyectos porque no deja pines libres.
Segunda Generación, V2 (versión V1.0)
En la segunda generación de placas ya han solucionado el problema del tamaño y podemos usar las nuevas NodeMCU v1.0 en nuestras protoboards sin incomodidades, ya que nos deja una fila de pines disponibles a cada lado. Además llevan los nuevos chips mejorados ESP12E.
En este caso no se trata de una auténtica nueva versión ya que NodeMCU no ha sacado ninguna nueva especificación, sino una versión que LoLin se ha sacado de la manga y que presenta una serie de innovaciones menores con respecto a la versión V1.0.
En teoría el puerto USB es más robusto y LoLin ha usado uno de los pines reservados para la alimentación USB de salida y otro de los pines reservados para una conexión GND adicional.
Otra peculiaridad de esta versión es que el tamaño es más grande que el de las placas Amica y Doit. En las siguientes imágenes se puede apreciar la diferencia de tamaño entre las versiones V2 y V3.
Ambas variantes son equivalentes ne cuanto a prestaciones, pero el menor tamaño de la version Amica puede ser una ventaja.
Bueno, vamos a dejarnos de tanta cháchara y cacharreemos ya con nuestro NodeMCU. Pero primero tenemos que instalarlo en nuestro equipo y para ello conviene que sigas los pasos que describimos en esta sesión en su día, en el caso de que aun no lo tengas instalado.
Arduino, si volvéis ahora a seleccionar las placas con \Herramientas\Placa, veréis que ya podéis seleccionar las correspondientes al NodeMCU 1.0 (ESP-12E Module).
Nos falta seleccionar el puerto en el que está instalado NodeMCU en nuestro equipo, así que navegamos a \Herramientas\Puerto y seleccionamos el que haya elegido para ello nuestro sistema operativo. En nuestro caso elegimos el puerto COM7.
Ya tenemos el NodeMCU instalado en el equipo, hemos descargado el plugin del ESP8266 para el IDE de Arduino, hemos seleccionado la tarjeta y el puerto en el que lo hemos instalado, así que ya sólo nos queda comprobar que funciona correctamente.
PROBANDO EL BLINKING LED
Ya sabéis que es costumbre que el primer programa que utilizamos con un micro controlador sea el blinking LED, sustituyendo a los famosos «Hola Mundo» de la programación habitual. Es verdad que se nos va a quedar muy corto y con ganas de hincarle más el diente al NodeMCU, pero por algo hay que empezar y la tradición, es la tradición.
Vamos a cargar el programa de ejemplo del blinking LED del ESP8266, que nos va a funcionar sin ningún problema en nuestro NodeMCU. Para ello iremos a \Archivo\Ejemplos\ESP8266\Blink y haremos click en el ejemplo.
- Atención: Asegúrate de cargar el ejemplo que corresponde al ESP8266, porque el LED esta en un pin diferente del habitual 13 de Arduino, y si no lo haces así no veras el parpadeo.
Como siempre cargaremos el programa en nuestra placa haciendo click en la flecha horizontal y veremos que el LED azul de la placa ESP8266, que se encuentra en la zona de la antena, comienza a parpadear indicando que se está realizando la transferencia de datos.
Fijate que la descarga del programa se indica con una linea de puntos suspensivos media que avanza el volcado
Pasados unos segundos se habrá completado la transferencia y veremos que el LED de la placa del NodeMCU empieza a parpadear.
Si todo ha ido bien y vemos cómo parpadea el LED significará que tenemos instalado y configurado nuestro NodeMCU para que en futuras sesiones podamos emprender proyectos de mayor envergadura.
Resumen de la sesión