Sei sulla pagina 1di 8

NodeMCU - primeros pasos (MIC024S)

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.

NodeMCU - principales características de hardware

Esta placa que llamamos NodeMCU es una tarjeta de desarrollo para el chip ESP8266 12-E que se

encuentra soldada en el Módulo. Es decir, toda la ejecución de la programación, gestión de memorias y


conectividad WiFi quedan por cuenta del Chip ESP8266 12-E.

Figura 1 - placa de desarrollo NodeMCU y al lado solamente el Chip ESP8266 12-E.


Las principales características de hardware de NodeMCU son:

- Alimentación de la tarjeta y carga de programas: hechos a través de un cable micro-USB común.

- ESP8266 12-E: en cuanto al procesamiento, el destaque es poseer un procesador 32 bits y frecuencia de


operación de 80MHz (default) o 160MHz (seleccionable).

- 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

- Temperatura de funcionamiento: -40ºC hasta + 125ºC

- 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)

- WI-FI: opera en el estándar 802.11 b / g / n, en la frecuencia 2.4GHz.

- Seguridad del Wi-Fi: soporta las encriptaciones WPA y WPA2

- 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).

- Corriente máxima drenada por salida: 12mA.

- ADC: un canal, siendo la resolución de ADC igual a 10 bits.

- Proporciona un LED (conectado al GPIO D0) para el usuario.

- Interfaces seriales: 1 interfaz I²C, 1 Interfaz HSPI y 2 UART.

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.

Programación del NodeMCU

Las dos formas de programar el NodeMCU más populares en Internet son:

- Arduino IDE - Exactamente de la misma forma que se programa un Arduino común.

- Utilizando lenguaje LUA

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

Preparación del Arduino IDE para la programación de NodeMCU

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:

1. En el Arduino IDE, haga clic en "Archivo> Preferencias". Observe la figura 2.


Figura 2 - Menú Archivo> Preferencias

2. En la ventana de preferencias, en el campo "URL adicionales de los gestores de tarjetas", introduzca la


siguiente información:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Hecho esto, haga clic en Aceptar.

3. Ahora, en el menú Herramientas, haga clic en la opción: "Tarjeta> Gestor de tarjetas". Observe la figura 3.

Figura 3 - Menú Herramientas> Tarjeta> Gestor de tarjetas


4. En la ventana del Administrador de tarjetas, hay un campo de búsqueda. Introduzca en este campo el texto
"nodemcu" (sin las flechas) y espere. La búsqueda devolverá una única opción ("esp8266 by ESP8266
Community"). Haga clic en ella y luego en "Instalar".

Observe la figura 4.

Figura 4 - Gestor de placas de Arduino IDE

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).

6. Una vez finalizada la instalación, cierre la ventana del Administrador de tarjetas

En este punto, todos los recursos necesarios ya están instalados, lo que permite avanzar hacia la
programación del NodeMCU propiamente dicha.

Driver para Windows

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

Cómo hacer nuestro primer programa para el NodeMCU


¡Ha llegado la hora de hacer nuestro primer programa para el NodeMCU! Para ello, haremos el tradicional
"Hello world" del mundo de los embarcados, vamos a parpadear un LED. El LED cambiará entre encendido y
apagado cada segundo medio. Para ello, siga el procedimiento siguiente:

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.

Figura 5 - Selección de la tarjeta NodeMCU


4. Ahora vamos a crear nuestro primer programa. Para ello copie el siguiente código y péguelo en la sesión
de código de Arduino IDE. En este código tenemos el estado del GPIO D0 (GPIO = puerto programable de
entrada y salida, en nuestro caso D0 está conectado un LED) el cual contiene, en la propia placa del
NodeMCU, un LED encendido) es alternado entre encendido y apagado a cada medio segundo.

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:

- Si D0 está en estado alto (HIGH), el LED se apaga.

- Si D0 está en estado bajo (LOW), el LED se enciende.

Por favor, lea atentamente los comentarios presentes en el código fuente.

// Header del equipo

#include

void setup () {

// Configura el GPIO D0 como salida.

// En el NodeMCU, el GPIO D0 se conecta directamente a un LED en la


propia tarjeta.

// Para el diseño del parpadeo-LED eso es óptimo, pues de esa forma no


es necesario

// ningún componente de hardware además del propio NodeMCU y el cable


de

// poder.

pinMode (D0, OUTPUT);

void bucle () {

// Enciende el LED y espera medio segundo


digitalWrite (D0, LOW);

delay (500);

// Apaga el LED y espera medio segundo

digitalWrite (D0, HIGH);

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.

Figura 6 - botón de compilación y subida de programa a NodeMCU

6. Finalizado el proceso, basta con observar el LED de su placa. Se parpadeará en la frecuencia programada.

Con eso terminamos el primer programa en el NodeMCU: el parpadea LED.

Yendo más allá

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/

Potrebbero piacerti anche