Upload Firmware ESP8266 Via WiFi

by sabas1080 in Circuits > Microcontrollers

5164 Views, 29 Favorites, 0 Comments

Upload Firmware ESP8266 Via WiFi

55bd2a18937ddb45c9000145.jpeg

Hoy les voy a mostrar una forma de cargar firmware al ESP8266 via WiFi una manera muy cómoda de modificar el firmware sin tener que usar el puerto serial, por el momento se requiere usar un script de python pero ya se esta trabajando para que pueda ser directamente desde el IDE de Arduino al igual que funciona con el Arduino Yun

Si te gusta experimentar no te pierdas este instructable

Material

IMG_20150729_132623548_HDR.jpg
IMG_20150729_132631587_HDR.jpg
IMG_20150729_132643696.jpg
IMG_20150729_132655042.jpg

El material que necesitamos para este ejercicio es:

  • ESP8266 12 o cualquier version con mas de 1M de memoria
  • FTDI Friend o convertidor USB-Serial
  • Protoboard
  • Cable USB

Arduino IDE

IDE3.png
configuracion3.png
configuracion4.png
IDE2.png
IDE.png
IP.png

Para este ejercicio necesitas tener instalado la versión de Arduino IDE 1.6.5 o superior, para poder instalar la el paquete para poder programar el ESP8266 desde el Arduino IDE, debemos ir a Archivo -->Preferencias --> Additional Board URL y pegamos el siguiente link

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

(si tu ya habías instalado el paquete asegúrate de que sea la versión de prueba, si no, no va a funcionar)

Ahora vamos a herramientas --Board Manager y elegimos ESP82266, se empezaran a descargar e instalar los archivos necesarios, con eso ahora podemos elegir la versión de ESP8266 que nos corresponda y el puerto donde esta conectado.

Ahora primero debemos cargarle el bootlader que nos permitira cargar otros firmwares via wifi al ESP8266, para esto hay que ir a la sección de ejemplos y elegir ESP8266mDNS-->DNS_SD_Arduino_OTA, modificamos el scketch con los datos de nuestra red WiFi, color el ESP8266 en modo boot y cargar el scketch al modulo.

Con eso al abrir el monitor Serial nos mostrara el espacio disponible en la memoria para grabar un nuevo firmware y algo muy importante la IP del ESP8266 para poder cargarle firmware vía wifi

Cargar Firmware Con Python

python.png
cmd.png

Para cargar el firmware via WiFi vamos a utilizar un script de python (No funciona en python 3.0) que pueden descargar desde el gist de Igrr

https://gist.github.com/igrr/d35ab8446922179dc58c

una vez descargado y teniendo el archivo .bin que quieran cargar el ESP, deben entrar a su terminal solo y escribir el comando:

python ota.py [direccion ip del ESP8266] archivoaenviar.bin

e iniciara la carga, ustedes pueden nombra el script de python como ustedes gusten, este solo es un ejemplo formato que debe tener el comando.

Este proyecto aun esta en pruebas como les comente al inicio, la intención es integrarlo al IDE de Arduino directamente, si quieren reportar algún bug o contribuir al proyecto pueden entrar

https://github.com/esp8266/Arduino/issues/268

Espero les haya gustado es instructable y espero sus comentarios

Hasta la próxima Inventores!!