Create a gist now

Instantly share code, notes, and snippets.

Guia Rapida para actualizar el

#ESP8266 Firmware Update ##SDK V0.9.4 19.12.2014 + AT v0.20

Iddar Olivares para The Inventor’s House

Gracias a nuestros amigos de rusos del sitio esp8266.ru nos enteramos que junto con la ultima version del SDK de Espressif para el ESP8266 nos encontramos un nuevo firmware AT el cual incluye como característica mas notable la posibilidad de cambiar la velocidad de transmisión de modulo serial gracias al comando AT+IPR.

Entes de poder disfrutar de esta novedad debemos flashear la nueva versión del firmware AT, en esta ocasión utilizaremos la herramienta esptool.py de Fredrik Ahlberg (@themadinventor) para poder cargar las imágenes a nuestro modulo.

###Dependencias

El primer paso es instalar las dependencias de esptool.py

Linux / Mac OS

~# pip install pyserial

Windows

Instalar python 2.7:  https://www.python.org/downloads/
Instalar pySerial: https://pypi.python.org/pypi/pyserial

###Instalando ESPtool.py

Después descargamos la ultima version de esptool.py de su repositorio en GitHub: https://github.com/themadinventor/esptool/archive/master.zip

Tras descomprimir el archivo navegamos a la carpeta desde la consola y ejecutamos el archivo setup.py

~# python setup.py

Listo en este punto ya tendremos esptool.py instalado y estamos listos para proceder a grabar nuestro modulo. Podemos comprobar que esptool.py ejecutando el siguiente comando en la consola, el cual nos muestra la lista de parámetros con los que cuenta esta herramienta.

~$ esptool.py —help

Nosotros usaremos el comando write_flash al cual le podemos pasar como parámetro y en parejas la dirección de memoria de inicio y la imagen a grabar de igual forma indicaremos el puerto en el que tenemos conectado nuestro modulo.

~$ esptool.py --port /ruta/puerto write_flash 0x00000 imagen.bin

###Boot Mode

Para poder sobrescribir el firmware tenemos que iniciar el modulo en modo Boot UART para lo cual basta colocar el GPOI 0 a GND y GPIO2 a VCC, en algunos sitios recomiendan usar una resistencia para acer estas conexiones.

ESP8266 Wifi Pinout Top View

Recuerda que todas las señales son a 3.3v y que el pin CH_PD debe estar en alto.

###Cargando el firmware

Solo falta descargar la nueva version del firmware AT del enlace a continuación y grabarla.

Firmware AT: https://github.com/espressif/esp8266_at/archive/master.zip

Dentro del paquete encontraremos dos carpetas, a nosotros lo que nos interesa es el contenido de la carpeta bin la cual tienen los binarios listo para ser cargados al modulo, junto con un archivo readme.txt en el que nos indica a que dirección de la memoria debemos apuntar cada imagen.

Binarios			    Direcciones
boot_v1.1.bin				--->	0x00000
user1.bin					--->	0x01000 (ver nota )
esp_init_data_default.bin	--->	0x7C000
blank.bin      				--->	0x7E000

Nota: El paquete incluye dos versiones de la imagen user1.bin puedes elegir la que prefieras se encuentran en las carpetas newest y v0.20, en este ejemplo usaremos la version newest.

Una ves dentro de la carpeta bin ejecutamos el siguiente comando:

Unix / Mac

~/bin$ esptool.py --port /ruta/puerto write_flash 0x00000 boot_v1.1.bin 0x01000 newest/user1.bin 0x7C000 esp_init_data_default.bin 0x7E000 blank.bin

Windows (Sustituir el # por el numero del puerto correcto)

~/bin$ esptool.py --port COM# write_flash 0x00000 boot_v1.1.bin 0x01000 newest/user1.bin 0x7C000 esp_init_data_default.bin 0x7E000 blank.bin

###Probando

Para verificar que todo salió bien lo primero es reiniciar el modulo y desconectar los puentes de GPIO0 y GPIO2 para iniciar de forma normal. Con ayuda de nuestro monitor de consola preferido enviaremos algunos comando para verificar que todo funciona.

Enviamos: AT+GMR

Respuesta:
00200.9.4
OK

Para cambiar la velocidad del serial vasta usar el comando AT+IPR=velocidad como ejemplo cambiemos la velocidad a 9600b AT+IPR=9600 con esto basta para que el modulo se reinicie y quede listo para ser usado con la nueva velocidad incluso tras desconectar el modulo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment