Ejemplo de actualización OTA (Over The Air) para ESP8266
O sea, actualizar nuestro dispositivo vía inalámbrica, esto se puede hacer localmente con un servidor casero o con un servidor en la red del tipo HTTP.
Esta forma de actualización tiene sus ventajas y desventajas.
La principal ventaja es que no necesitamos conectar nuestro dispositivo a la PC para actualizarlo.
Podemos tener varios dispositivos instalados y se podrán actualizar ellos mismos tras un tiempo programado o de forma manual.
Los clientes podrán recibir actualizaciones y no tenemos que ir nosotros.
Al crear nuestros proyectos con la tarjeta base (la del SoC) podremos actualizarlos sin cables, estén donde estén.
Las desventajas son en mi caso, solo una.
Si tienes varios clientes y cada dispositivo tiene protección de identificación, se tendrán que subir al servidor varios archivos.
Y por supuesto, con cada actualización hay que programar bastante, por lo menos en lo que respecta a las claves.
Cabe mencionar que cada programa debe contar con el sistema OTA más el código de usuario.
El ejemplo que subo es muy sencillo, carece de verificación de versiones y muestra poca información como log.
Aunque mostrar información sobre el proceso es importante, no se debe mostrar todo, al menos no en lo que respecta a direcciones de archivos.
Obviamente un log lo podemos ver por RS-232, pero al usuario solo se le muestra información concisa en pantalla.
El ejemplo que adjunto es funcional desde el primer uso, ya que lo dejé con un enlace válido de descarga de un servidor gratuito.
Tras compilar y grabar el programa, este descargará el archivo, lo guardará en la memoria, dará formato a las particiones y grabará el archivo descargado.
En este caso, el ESP8266 empezará a destellar el LED del módulo o SoC (GPIO 2) cada segundo. (El clásico blink)
Como el archivo en el servidor no tiene el sistema OTA, solo quedará destellando el LED.
Ya ustedes pueden crear sus programas y añadir la actualización OTA a sus proyectos.
Próximamente subiré el ejemplo para los ESP32 que, al ser más elaborado, proporciona bastante información sobre el proceso.
O sea, actualizar nuestro dispositivo vía inalámbrica, esto se puede hacer localmente con un servidor casero o con un servidor en la red del tipo HTTP.
Esta forma de actualización tiene sus ventajas y desventajas.
La principal ventaja es que no necesitamos conectar nuestro dispositivo a la PC para actualizarlo.
Podemos tener varios dispositivos instalados y se podrán actualizar ellos mismos tras un tiempo programado o de forma manual.
Los clientes podrán recibir actualizaciones y no tenemos que ir nosotros.
Al crear nuestros proyectos con la tarjeta base (la del SoC) podremos actualizarlos sin cables, estén donde estén.
Las desventajas son en mi caso, solo una.
Si tienes varios clientes y cada dispositivo tiene protección de identificación, se tendrán que subir al servidor varios archivos.
Y por supuesto, con cada actualización hay que programar bastante, por lo menos en lo que respecta a las claves.
Cabe mencionar que cada programa debe contar con el sistema OTA más el código de usuario.
El ejemplo que subo es muy sencillo, carece de verificación de versiones y muestra poca información como log.
Aunque mostrar información sobre el proceso es importante, no se debe mostrar todo, al menos no en lo que respecta a direcciones de archivos.
Obviamente un log lo podemos ver por RS-232, pero al usuario solo se le muestra información concisa en pantalla.
El ejemplo que adjunto es funcional desde el primer uso, ya que lo dejé con un enlace válido de descarga de un servidor gratuito.
Tras compilar y grabar el programa, este descargará el archivo, lo guardará en la memoria, dará formato a las particiones y grabará el archivo descargado.
En este caso, el ESP8266 empezará a destellar el LED del módulo o SoC (GPIO 2) cada segundo. (El clásico blink)
Como el archivo en el servidor no tiene el sistema OTA, solo quedará destellando el LED.
Ya ustedes pueden crear sus programas y añadir la actualización OTA a sus proyectos.
Próximamente subiré el ejemplo para los ESP32 que, al ser más elaborado, proporciona bastante información sobre el proceso.