ESP8266

Subir el fimware de ESP8266 inalámbricamente es una forma cómoda y sencilla de actualizar el código a los microcontroladores sin depender de cables. Incluso podemos proteger con contraseña por seguridad esta operación de manera que cada vez que queramos actualizar el firmware tendremos que introducirla.

Este propósito lo conseguimos gracias a una librería llamada ArduinoOTA. Vamos a utilizar el ejemplo de Firmware ESP8266 con Arduino OTA de Luis Llamas que viene incluida en la librería del ESP8266, con ella conseguimos poder subir nuestros códigos desde un puerto de comunicación WIFI.

Pre-Requisitos:

Para empezar debemos instalar la IDE de Arduino para programar, compilar y enviar el código:

https://www.arduino.cc/en/software

También debemos instalar el software más reciente de Python, accediendo en el link que os dejo a continuación podréis descargarlo:

https://www.python.org/downloads/

Preparación del ESP8266 para la subida inalámbrica de firmware

Para empezar descargamos un ejemplo de código para ESP8266 con la librería OTA implementada, en el que vais a encontrar un programa de ejemplo con 4 pestañas (Mirror:


):

  • La pagina principal con nuestro Setup y Loop donde vamos a añadir la librerías y inicializar los compontes de nuestro programa.
  • La pestaña de ESP8266_Utils: En la que vamos a encontrar toda la configuración de la red, en nuestro caso el Wifi.
  • La pestaña ESP8266_Utils_OTA: En la que vamos a ver todas las funciones que podríamos llamar relacionadas con la librería OTA.
  • Y para acabar la pestaña config.h: Que es donde vamos a poner los datos de nuestra red WIFI (Id y password).

Básicamente con este ejemplo solo debemos iniciar el programa con el IDE de Arduino, modificar los datos del Wifi por los de nuestra red en la pestaña config.h y subir el programa en nuestro ESP8266.

ATENCION: La primera vez que subamos el código a nuestra placa deberá ser utilizando el cable USB, ya que el ESP8266 necesita el firmware del ejemplo para poder empezar a enviar nuestros firmwares inalámbricamente.

Una vez subido por primera vez, comprobamos con el monitor serie, que el dispositivo se conecte correctamente a la red Wifi que el hemos configurado, si no se conecta, podemos comprobar que hayamos puesto correctamente SSID y Contraseña de nuestra Wifi. En caso de que la conexión entre nuestro ESP8266 y nuestra red WLAN sea correcta, ya podremos desconectar el ESP8266 del ordenador y pasamos a alimentarlo con una fuente de alimentación (Ej: Cargador del móvil, batería etc.) y finalmente deberemos reiniciar el IDE de Arduino.

Cargar firmware al ESP8266 via WLAN

Tras reiniciar Arduino IDE, vamos a la sección Herramientas/Puerto y veremos que podemos escoger un puerto que no es ningún COM de nuestras entradas USB, simplemente como podemos ver a la imagen nos muestra la IP de nuestro dispositivo ESP8266, elegimos el “puerto de red” en cuestión y le subimos un nuevo firmware con alguna modificación para comprobar que hay cambios. Y deberíamos ver como funciona perfectamente!!

Seleccionar COM Arduino

ATENCION: El nuevo firmware deberá mantener la configuración Wifi así como las funciones OTA para permitirnos seguir actualizando el código de esta manera. Si lo eliminamos, no podremos realizar mas actualizaciones de forma inalámbrica.

También existe la opción de ver desde el puerto serie los mensajes de como se va subiendo el sketch en nuestra placa pero para eso deberemos seguir con la placa conectada en el ordenador abriendo la comunicación Serial del puerto USB en el que este conectado nuestro dispositivo pero por supuesto subiendo el firmware desde el puerto WIFI donde se muestra nuestra IP.

Upload Progess OTA

Para la parte de la seguridad que habíamos comentado anteriormente tenemos que ir en la pestaña ESP8266_Utils_OTA y como podemos ver en la imagen de abajo hay unas líneas de código comentada al principio del programa, solo será necesario descomentarlas para poder activar la contraseña.

Después de esto cada vez que se suba un firmware saldrá una ventanita, como la que podemos ver en la imagen de abajo, preguntando la contraseña.

Clave de seguridad OTA

Y así es como se sube firmware de ESP8266 inalámbricamente a través de una conexión Wifi, a nosotros no nos ha dado problemas y es una comunicación bastante robusta, y mas con el sistema de la contraseña.

Fuentes:

  • https://www.luisllamas.es/como-programar-el-esp8266-por-wifi-con-arduino-ota/
  • https://github.com/jandrassy/ArduinoOTA

Deja una respuesta

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