Latch y el Internet de las Cosas: Integración con Arduino (IV)

lunes, 19 de octubre de 2015

En la entrada anterior estudiamos los detalles técnicos de la conexión entre el Arduino y el módulo WiFi. En esta entrega veremos cómo cargar el firmware necesario en el módulo WiFi para que satisfaga nuestras necesidades.

Carga de firmware del ESP8266

Para poder utilizar las librerías espduino desde Arduino y establecer la comunicación SLIP con el módulo ESP8266, es necesario sustituir el firmware original del ESP8266 por el que se proporciona como parte de espduino, llamado esp_bridge. Igualmente Open Source bajo licencia MIT, se puede encontrar el código fuente y la documentación en su espacio de GitHub.

Para la carga de un nuevo firmware, el módulo ESP8266 debe iniciarse en modo de programación (Flash Mode). Para conseguirlo hay que fijar GPIO-0 a estado LOW durante su arranque o reinicio.


Descripción de pines del módulo ESP-01


La conexión del módulo ESP8266 al equipo de escritorio para la carga del firmware se realiza por medio de un adaptador USB-Serie tipo FDTI o similar que respete el voltaje máximo de 3.3v (LVTTL).

También es posible utilizar el propio Arduino en modo USB-Serial bypass. Para conseguirlo hay que impedir que el Atmega328p interfiera; se puede hacer de tres formas:
  • Extrayéndolo de la placa si es posible.
  • Cargándole un sketch inocuo.
  • Situándolo en estado de reset, llevando a LOW su entrada de RESET conectándola a GND (recomendado).

Diferentes métodos de inhabilitación del Atmega328p

Destacar que los pines 0 y 1 de la placa Arduino que normalmente son RX y TX respectivamente, ahora estarán intercambiados, al utilizar la conexión con el conversor USB-Serie de Arduino en bypass. Observar la conexión de color amarillo en la imagen.

Conexión de Arduino UNO y el módulo ESP-01 en modo de programación (Flash Mode)

Como parte del paquete de librerías de espduino, podemos encontrar el firmware esp_bridge ya compilado y listo para ser cargado en el módulo ESP8266. Está dividido en dos archivos: 0x00000.bin y 0x40000.bin, cuyo nombre indica el desplazamiento (offset) de su contenido en la memoria flash del módulo.

Para realizar la carga del firmware hay varias aplicaciones para el equipo de escritorio, ya sea este Windows, Mac OSX o Linux, En la web de Eletrodragon hay un apartado específico donde se encuentran todas disponibles para su descarga.

Proceso de carga de firmware con ESP FLASH DOWNLOAD TOOL V1.2

Tras la carga del firmware esp_bridge, cuando el módulo ESP8266 se encuentre en modo de funcionamiento normal, la única forma de comunicarse con él será a través de las librerías de espduino que establecen la conexión SLIP.

En la siguiente entrada estudiaremos la API de Latch y por fin cómo crear el sketch de Arduino.


* Latch y el Internet de las Cosas: Integración con Arduino (I)
* Latch y el Internet de las Cosas: Integración con Arduino (II)
Latch y el Internet de las Cosas: Integración con Arduino (III)
Latch y el Internet de las Cosas: Integración con Arduino (IV)
Latch y el Internet de las Cosas: Integración con Arduino (V)
Latch y el Internet de las Cosas: Integración con Arduino (y VI)




Jorge Rivera
jorge.rivera@11paths.com

No hay comentarios:

Publicar un comentario en la entrada