ElectrónicaESP8266Wifi

Cómo programar el módulo WiFi ESP8266 en lua (Parte I)

ElBlogdeJoshelu

El módulo WiFi ESP8266 se ha puesto muy de moda entre los amantes del DIY ya que se trata de un módulo WiFi de muy bajo coste ( unos 3 euros en bangood envío incluido ) y que nos permite incorporar Internet a nuestros proyectos fácilmente. Sin embargo, mucha gente utiliza un arduino para controlar al ESP8266 cuando en realidad podemos programarlo directamente y prescindir del arduino.

Así es, con las herramientas apropiadas podemos programar directamente el módulo utilizando lenguajes de programación tan extendidos como lua o Python. También podemos hacerlo en otros, pero a mí estos me han resultado muy cómodos y rápidos de implementar.

Requisitos

Antes de comenzar vamos a hacer un repaso sobre los diferentes elementos que necesitamos para poder trabajar cómodamente:

  • ESP8266: Yo personalmente he comprado estos. Aunque hay varios modelos, la diferencia principal reside en el número de pines de propósito general que tenemos disponibles.
  • Adaptador USB-Serie: Yo he comprado los famosos FTDI FT232RL porque no necesitan drivers y porque permiten seleccionar los niveles de tensión con un jumper. Esto es importante porque el ESP8266 trabaja a 3,3V y si lo alimentamos o nos comunicamos a 5V lo “petamos”. Por supuesto, si tenéis por casa otro adaptador diferente podéis utilizarlo sin problema, siempre que trabaje a 3,3V.
  • Fuente de alimentación a 3V: Por desgracia, el ESP8266 consume “mucha energía” para el regulador del FTDI, por lo tanto debemos disponer de una fuente de alimentación alterna. Por ejemplo un par de pilas en serie podrían valer. Yo voy a utilizar un DC/DC ya que el lugar donde lo voy a instalar dispone de una fuente de alimentación de 24V.

Conexionado

De serie, el ESP8266 está programado para ejecutar comandos AT a través del puerto serie. Para que podamos cargar scripts escritos debemos cambiarle el firmware. Por lo tanto, tendremos que arrancarlo en modo bootloader. Para ello lo conectaremos según la siguiente imagen:

Esquema para actualizar firmware

Esquema para actualizar firmware

Ojo al cable que conecta el pin GPIO_0 a tierra. Encender el ESP8266 con este pin a tierra es lo que le hace arrancar en modo bootloader.

Cambiando el firmware del ESP8266 por el de NodeMCU

Ya tenemos todo el hardware preparado, ahora le toca el turno al software. Bajamos los siguientes programas:

  • ESP8266 Flasher: Herramienta que nos permite programar el firmware pulsando un par de botones.

Comenzamos alimentando los diferentes dispositivos, recordad 3,3V nunca más. Conectamos el FTDI (o equivalente) al PC y esperamos unos segundos a que se detecte y configure.

Acto seguido, abrimos el ESP8266 Flasher:

Pestaña principal ESP8266 Flasher

Pestaña principal ESP8266 Flasher

Lo único que debemos cambiar, y no siempre, es el puerto COM por el que nos haya asignado el sistema al FTDI. En caso de dudas, lo más sencillo es abrir el Flasher, ver qué puertos nos salen, cerrar, conectar el FTDI y volver a abrirlo. El puerto COM que haya aparecido será el de nuestro FTDI.

Para iniciar la carga del firmware pulsamos el botón “Flash”.

ESP8266 Flasher cargando firmware

ESP8266 Flasher cargando firmware

Acto seguido veremos cómo la luz azul del ESP8266 comienza a parpadear informando de la comunicación. En el ordenador veremos que se ha averiguado la dirección MAC y se muestra una barra de proceso. Si pasados 20 o 30 segundos no se ha movido la barra de proceso; abortamos la carga y volvemos a empezar (cerrando el programa de ordenador y desconectando de la alimentación el ESP8266).

Cuando acabe, veremos que la barra de proceso llega al final y en la esquina inferior izquierda se muestra el icono de NodeMCU Team en verde.

ES8266 Flasher al acabar el proceso

ES8266 Flasher al acabar el proceso

En la siguiente parte veremos cómo cargarle nuestros scripts.

Etiquetado con: , ,
Publicado en: Tutoriales
2 comentarios sobre “Cómo programar el módulo WiFi ESP8266 en lua (Parte I)
  1. Carlos dice:

    Hombre para cuando tienes el resto de partes del tutorial? Estamos desarrollando un proyecto con este y estamos muy interesados. Muchas gracias.

  2. Joshelu dice:

    Hola Carlos, pues la verdad es que no te puedo dar una fecha… hice una versión en vídeo para Youtube pero cuando la acabé y revisé la grabación me di cuenta de que el software había grabado el escritorio y no las aplicaciones ¿wtf?. Así que lo aparqué hasta dar con un software que me permita grabar una cámara y el escritorio al mismo tiempo…

    De todas formas, lo que falta es el uso de la aplicación “ESPlorer”.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

Sígueme en Twitter