Node MCU
Node MCU
Node MCU
Realizar proyectos para el actual escenario de Internet de las cosas, explicando de una forma muy simple,
consiste en el intercambio de datos entre una placa y un destino remoto (una plataforma Cloud, por ejemplo).
Pero una cosa crítica es elegir un hardware que admita los protocolos de red más comunes con el fin de
insertar fácilmente en el contexto de IoT.
Para facilitar la vida de los técnicos e ingenieros, varias empresas apuntan a facilitar esta elección con
módulos listos, así como ofrecen software de ejemplo y bibliotecas de fácil uso, lo que hace que la etapa de
prototipado de un proyecto muy rápido. Un módulo interesante que viene en esa dirección es el Wifi ESP8266
NodeMCU, y el motivo es simple: se trata de una placa de pequeñas dimensiones donde están disponibles I /
Os (Entradas y Salidas), regulación de tensión, conectividad USB donde insertamos la programación (en Luna
o por el Arduino IDE), interfaces de comunicación serial y conectividad WI-FI (utilizando el ESP8266 12-E).
Con eso notamos que esta placa es un óptimo punto de partida para proyectos que involucran IoT (Internet de
las Cosas). En este artículo daremos nuestros primeros pasos con esta tarjeta de desarrollo, desde las
principales características de hardware crear nuestro primer programa para insertar en este NodeMCU.
Esta placa que llamamos NodeMCU es una tarjeta de desarrollo para el chip ESP8266 12-E que se
- Memoria Flash y RAM: cuenta con hasta 4MB de memoria Flash para programación (la cantidad de memoria
Flash disponible depende de la versión de la tarjeta) y 128KB de memoria RAM
- Alimentación del ESP8266 12-E: posee regulador de tensión de 5V (tensión de alimentación de la placa) a
3,3V (tensión de alimentación del ESP8266 12-E)
- Antena del WI-FI: embutida / dibujada en la propia placa), sin posibilidad de utilización de antena externa.
- Actualización de software: a través del cable USB o inalámbrico (OTA - Over The Air)
- Entradas y salidas: hay 9 GPIO (D0, D1, ... D8), que pueden funcionar tanto como entradas y salidas
digitales (incluidas las salidas PWM).
Como se puede observar, presenta un hardware bastante interesante para aplicaciones IoT.
IMPORTANTE: el ESP8266 12-E no es tolerante a las entradas a nivel 5V, así como en sus interfaces y
periféricos. Por lo tanto, todas las entradas y manipulaciones de periféricos (incluyendo comunicaciones
seriales) deben ocurrir, obligatoriamente, con nivel de tensión máximo 3,3V.
Aunque bastante interesante, el lenguaje LUA no es la mejor opción para quien quiere comenzar sus
estudios y experimentos en el NodeMCU. La razón de esto es que el contenido (bibliotecas y ejemplos
disponibles en Internet) involucrando la programación del NodeMCU en lenguaje LUA, es muy escaso si se
compara a programarlo como un Arduino. Por lo tanto, para facilitar el aprendizaje vamos a programar
utilizando el Arduino IDE
La preparación del Arduino IDE para la programación del NodeMCU requiere primero que se descargue e
instale el Arduino IDE. El NodeMCU se puede programar en Arduino IDE de versiones igual o superiores a
1.6.7. Por lo tanto, descargue e instale la versión más reciente en el sitio oficial de
Arduino: https://www.arduino.cc/en/main/software
Después de descargar e instalar Arduino IDE, vamos a descargar las bibliotecas necesarias para programar
el NodeMCU. Recordando que "bibliotecas" son paquetes de códigos propios para que Arduino IDE envíe lo
necesario para que podamos colocar nuestro primer código dentro del NodeMCU. Para ello, siga el
procedimiento siguiente:
http://arduino.esp8266.com/stable/package_esp8266com_index.json
3. Ahora, en el menú Herramientas, haga clic en la opción: "Tarjeta> Gestor de tarjetas". Observe la figura 3.
Observe la figura 4.
5. Espere a Arduino IDE a descargar el contenido necesario y hacer automáticamente la instalación (puede
tardar algunos minutos, dependiendo de su velocidad de conexión a Internet).
En este punto, todos los recursos necesarios ya están instalados, lo que permite avanzar hacia la
programación del NodeMCU propiamente dicha.
Si utiliza Windows, dependiendo de la versión utilizada, puede que tenga que instalar manualmente el
controlador para el convertidor USB-Serial presente en NodeMCU. Para ello, siga los procedimientos de este
sitio aquí: https://www.robocore.net/tutoriais/como-instalar-o-driver-do-nodemcu.html
1. Compruebe que el NodeMCU está conectado a través del cable USB del ordenador.
2. En la pantalla del Arduino IDE, haga clic en "Herramientas", luego en la opción "Puerto", en el menú que
aparece seleccione el puerto de su NodeMCU (si el controlador del convertidor USB-serial de NodeMCU para
Windows está bien, será el único opción disponible).
3. En el menú "Herramientas", en la opción "Placa", seleccione la opción "NodeMCU 1.0 (ESP-12E Module)".
Ver la figura 5.
En este LED, es importante resaltar lo siguiente: el LED se ha conectado de tal manera que su accionamiento
es invertido en relación al estado de D0. O sea:
#include
void setup () {
// poder.
void bucle () {
delay (500);
delay (500);
}
5. Ahora necesitamos enviar este código dentro del módulo, para eso haga clic en "Cargar" (botón con una
flecha a la derecha, según lo destacado en la figura 6) y espere, el Arduino IDE compilar (transformar el
código en lenguaje de máquina e inserte el programa compilado en NodeMCU. Este proceso puede tardar
unos segundos.
6. Finalizado el proceso, basta con observar el LED de su placa. Se parpadeará en la frecuencia programada.
Como se muestra, el hardware de NodeMCU ofrece muchos recursos, permitiendo la realización de muchos
proyectos de complejidades diversas, ya sea en el contexto IoT o no. Una vez que esté familiarizado con
Arduino IDE y la programación de NodeMCU podemos ir mucho más allá.
Hay un montón de material de buena calidad en Internet, incluyendo el portugués, con proyectos para
nodemcu. A continuación, las direcciones de algunos blogs y sitios con un buen contenido para NodeMCU:
- https://www.filipeflop.com/?s=nodemcu&post_type=post
- https://www.embarcados.com.br/
- http://pedrominatel.com.br/pt/