NodeMCU: La solución WIFI para Arduino

NodeMCU: La solución WIFI para Arduino

NodeMCU es una iniciativa open Source para el desarrollo de un modelo sencillo de integrar la IOT (la Internet de las cosas). Para ello desarrollan modelos de hardware y software que facilite el desarrollo de programas y aplicaciones basados en WIFI.

Está basado en el Chip ESP8266. Se trata de un chip integrado con conexión WiFi y compatible con el protocolo TCP/IP. El objetivo principal es dar acceso a cualquier microcontrolador a una red.

Los anteriores modelos que incorporaban el procesador ESP8266 (ESP-01, ESP-02, ESP-03, ESP-05, ESP-12) son complicados de programar, pero no por la cantidad de manuales existentes en Internet, sino por numerosos errores de compilación de estos códigos y por el hecho de que muchos no llevan a resultados concluyentes.

Básicamente, la placa de desarrollo NodeMCU está basada en el ESP12E y expone las funcionalidades y capacidad del mismo. Pero, además, añade las siguientes ventajas propias de placas de desarrollo:

  • Programación sencilla a través del Micro-USB
  • Botón de LED y Reset integrados
  • Presenta todos los pines disponibles del ESP8266 en el exterior del modulO
  • Se puede colocar en una protoboard
  • Incluye un conector micro USB para programar el chip interno y comunicarse con el PC si es necesario (se evita el adaptador USB).
  • Soporta, tanto el modo Arduino o un modo propio de desarrollo con un lenguaje reminiscente de Basic que pueden ser cargados mediante actualizaciones firmware.

Existen 3 generaciones de NodeMCU. La 1º generación es obsoleta y estaba montada sobre un módulo ESP12. La 2º generación recibe el nombre de Amica y está declarada la versión oficial de NodeMCU. Monta un ESP12E en lugar de un ESP12. La 3º Generación pertenece al fabricante Lolin, donde se monta un conversor serial CH340G.

Para empezar a programar una placa NodeMCU sólo es necesario un cable microUSB, con el cual vamos a alimentar dicho chip, conectándolo al ordenador.

 

El siguiente código permite que una placa NodeMCU se conecte a una determinada red WIFI, obtenga una dirección IP por DHCP y por lo tanto pueda ser accedida desde un móvil conectado a la misma WIFI.

 

 

El problema en si es como conseguimos compilar y subir/cargar dicho código en una placa NodeMCU.

Primero debemos instalar la plataforma ESP8266 y seleccionar un modelo de placa que nos permita comunicarnos con la placa NodeMCU. Esto lo encontramos en la siguiente página de github:

 

 

En nuestro IDE Arduino, cuya versión tiene que ser igual o superior a la 1.8.7, debemos ir la ventana Archivo/Preferencias, y en Gestor de URLs Adicionales de Targetas debemos indicar la URL:

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

 

 

De esta forma incluimos los drivers de nuestra placa NodeMCU. Pero esto no es suficiente. Además debemos insertar la librería ESP8266 Community yendo a la opción de menú Programa/Incluir Librería/Administrar Bibliotecas. Esta librería nos permitirá compilar el código Arduino e incluir la librería ESP8266Wifi.h. Hemos de buscar esta librería e instalarla:

 

 

Una vez hemos instalado la parte ‘hardware’ (para seleccionar nuestra placa) y la parte software’ (para poder compilar el código) debemos indicar el puerto donde está conectada nuestra unidad NodeMCU. Vamos a Herramientas/Puerto y seleccionamos el puerto que nos indique el IDE:

 

 

A continuación debemos cambiar el tipo de Placa a programar por la “Generic ESP8285 Module” en la opción de menú Herramientas. Al instante se cambian muchas de las opciones existentes tal y como se puede observar en la siguiente imagen:

 

 

Se deben de cambiar algunos valores de parámetros que aparecen por defecto, como la velocidad de subida o el tamaño de la memoria flash:

 

 

Una vez llegados a este punto, el programa de Arduino ya se puede compilar y descargar en la placa NodeMCU. Si abrimos el Monitor Serial podemos observar los mensajes de que el servidor se ha inicializado y que nos podemos conectar a él a través de una determinada dirección IP:

 

 

Para testear el funcionamiento del dispositivo, lo más fácil es conectarse a través de un móvil conectado previamente a la misma wifi que el dispositivo NodeMCU. Así de esta forma comparten la misma red y hay visibilidad entre ellos. Abriendo un navegador y poniendo la dirección IP que nos ha indicado anteriormente el dispositivo, obtenemos la página web que nos está sirviendo nuestra placa NodeMCU.

 

Espero que este articulo os haya resultado útil.

Saludos y hasta el próximo

1 Comentario

  • carlos
    01/07/2020

    buenas tardes es necesario q la der wifi tenga acceso a internet para poder aplicar proyectos de nodemcu con alguna aplicacion de app inventor en un dis`positivo android

Escribe un comentario