En el pasado, las actualizaciones de firmware en sistemas integrados fueron una tarea crítica. Pero la mayoría de los dispositivos IoT y los dispositivos integrados están conectados a través de Internet para actualizar el firmware de forma remota por los desarrolladores. Los dispositivos capaces de conectarse a Internet tienen el beneficio de actualizarse. Entonces este tipo de programación de firmware en ESP32 se conoce como OTA (al aire), que ayuda a mantener actualizados los dispositivos integrados con la mínima intervención del usuario. Además, el exceso de aire ofrece muchas características y es una técnica rentable para que los desarrolladores se actualicen sus dispositivos. Este artículo explora el Firmware de OTA Actualizar el procedimiento a través de la Junta de Desarrollo ESP32.
¿Qué es la programación OTA en ESP32/ ESP32 OTA?
ESP32 OTA es la capacidad de cargar o actualizar un nuevo programa en el proceso de tablero de desarrollo ESP32 a través de Internet sin conectarse a una computadora. Además, este proceso también puede reducir el tiempo requerido para actualizar cada módulo ESP en mantenimiento. Por lo tanto, permite actualizaciones inalámbricas a través de Internet u otros tipos de redes inalámbricas.
La Junta de Desarrollo de ESP32 presta atención a una actualización de firmware descargándola usando protocolos como https, mqtt o http. Después de eso, lo verifica y lo muestra en una partición asignada dentro de la memoria de la placa ESP32. Las actualizaciones de OTA son significativas para dispositivos integrados o dispositivos IoT, particularmente cuando los dispositivos son difíciles de acceder o en ubicaciones remotas.
Partes centrales OTA ESP32
ESP32 OTA utiliza varios componentes clave para actualizaciones de firmware sin conectar el dispositivo físicamente. Por lo tanto, las partes centrales de esta OTA ayudan a transmitir y recibir actualizaciones. Además, Asyncelegantota (OR) las bibliotecas y marcos ESP HTTPS OTA de Espressif acortan el procedimiento de implementación.
Partición de datos de OTA
Esta partición dentro de la memoria flash de la placa ESP32 simplemente almacena la información actualizada de OTA, como la imagen de firmware y un contador para rastrear a qué tragamonedas se escribió más recientemente.
Mecanismo de comunicación
Las actualizaciones de OTA dependen principalmente de protocolos de comunicación inalámbrica como Bluetooth o wifi, donde Bluetooth se usa para actualizaciones más localizadas y más pequeñas, y se usa comúnmente WiFi.

Arquitectura del cliente-servidor
Un cliente, como una aplicación móvil o PC, inicia la actualización y envía el firmware al servidor ESP32.
Bibliotecas y marcos
Asyncelegantota y las bibliotecas ESP HTTPS OTA proporcionan funcionalidades preconstruidas para manejar el procedimiento OTA y acortar el desarrollo.
Cargador de arranque
Este gestor de arranque maneja la transición al último firmware después de una exitosa actualización de OTA.
Safe OTA
Las actualizaciones seguras de OTA implican la verificación de imágenes de firma de firmware para garantizar su integridad y autenticidad.
En esencia, las actualizaciones ESP32 OTA implican una combinación de software (particiones, bibliotecas y firmware) y protocolos de comunicación (Wi-Fi o Bluetooth). Por lo tanto, actualiza sin problemas el firmware del dispositivo sin acceso físico.
Laboral
La programación OTA ESP32 permite que el firmware/software de ESP32 actualice de forma inalámbrica a una computadora sin una conexión física. Por lo tanto, esto se puede hacer enviando una nueva imagen de firmware a través de una red como Wi-Fi, y después de eso escribiéndola en la memoria flash del ESP32. Por lo tanto, los reinicios de la Junta de Desarrollo ESP32 y el último firmware se están ejecutando.
Implementación de ESP32 OTA
Para implementar actualizaciones por aire para la Junta de Desarrollo ESP32, se debe cargar un boceto OTA básico. Después de eso, se utiliza un servidor web para cargar el último firmware. Por lo tanto, toda esta instalación del procedimiento OTA ESP32 implica una configuración de conexión Wi-Fi, instalación de la biblioteca, y después de eso, un archivo binario compilado se carga en la placa ESP32.
Procedimiento paso a paso de la implementación de OTA ESP32:
- Primero, necesito instalar el paquete de placa ESP32 dentro del IDE Arduino.
- Después de eso, incluya las bibliotecas específicas y otras bibliotecas necesarias de ESP32.
- El boceto OTA básico debe cargarse, que normalmente contiene un servidor web principalmente para actualizaciones de OTA.
- Abra el navegador y permita la dirección IP del servidor web de ESP32.
- Elija el archivo .bin en la interfaz del servidor web que desea cargar.
- Haga clic en el botón Cargar para iniciar la actualización OTA.
- Ahora el ESP32 está conectado a su red Wi-Fi.
- Open Aard se reiniciará a través del firmware recién cargado.
- La biblioteca Arduinoota debe usarse en el núcleo ESP32 para simplificar el procedimiento OTA.
- También puede emplear el ejemplo de Basicota dado por la biblioteca o hacer su propia aplicación OTA.
- Ahora, la Biblioteca Arduinoota simplemente le permite subir el último boceto OTA en su ESP32.
Use un servidor web
- En la Biblioteca Arduino ESP32, el ejemplo de Otawebupdater proporciona una interfaz web para cargar firmware.
- El boceto se compila para generar un archivo .bin, después de eso se puede cargar a través del servidor web.
- Esta técnica permite actualizaciones OTA simples y accesibles.
- Además, asegúrese de tener un mínimo de dos particiones OTA dentro de su placa ESP32.
- Use otras técnicas como la nube Arduino IoT, principalmente para actualizaciones de OTA.
- El procedimiento OTA sobrescribe el firmware existente dentro de una partición OTA dedicada asegurando que el firmware en ejecución se mantenga estable.
ESP32 OTA interfaz con Arduino
La característica principal de los microcontroladores habilitados para WIFI (ESP32 y ESP8266 ) es programación OTA. Estos dispositivos actualizan su firmware de forma inalámbrica. Usando OTA, se puede enviar una actualización a varios microcontroladores que están en una red similar. Esta característica se utiliza para enviar actualizaciones para resolver los errores al incluir algunas características a varios microcontroladores, cuadros establecidos, computadoras, teléfonos celulares, etc.
En general, las actualizaciones de OTA juegan un papel clave en el Internet de las cosas para actualizar los dispositivos conectados a Internet de forma remota con nuevas configuraciones y software. Aquí vamos a utilizar la programación OTA con la placa ESP32 en Arduino IDE con el actualizador web de OTA.
Los componentes requeridos para la interfaz OTA ESP32 con la placa Arduino incluyen la Junta ESP32 y el Arduino IDE.

Código OTA
El código OTA para la Junta de Desarrollo ESP32 se proporciona a continuación.
#Include
#include
const char* host = 'esp32'; ssid = 'xxx'; contraseña = 'xxxx';
Servidor de servidor web (80);
/* página de inicio de sesión*/
Const char* logindex =
'
''';
/*
* Página de índice de servidor
*/
const char* serverIndex =
'';
/*
* Función de configuración
*/
Configuración vacía (void) {
Serial.Begin (115200);
// conectarse a la red WiFi
Wifi.begin (ssid, contraseña);
Serial.println ('');
// esperar la conexión
while (wifi.status ()! = wl_connected) {
retraso (500);
Serial.print ('.');
}
Serial.println ('');
Serial.print ('Conectado a');
Serial.println (SSID);
Serial.print ('Dirección IP:');
Serial.println(WiFi.localIP());
/*Use MDNS para la resolución del nombre de host*/
if (! mdns.begin (host)) {// c2e2f8f35ba56eedbbc296b8125c387d1182e239
Serial.println ('Error de configuración de MDNS respondedor!');
mientras (1) {
retraso (1000);
}
}
Serial.println ('Investrante MDNS comenzó');
/ *Página de índice de retorno que se almacena en ServerIndex */
servidor.on ('/', http_get, [] () {
servidor.sendheader ('conexión', 'cerrar');
servidor.send (200, 'Text/HTML', LoginIndex);
});
servidor.on ('/serverIndex', http_get, [] () {
servidor.sendheader ('conexión', 'cerrar');
servidor.send (200, 'Text/HTML', ServerIndex);
});
/ *Manejo de la carga de archivo de firmware */
servidor.on ('/update', http_post, [] () {
servidor.sendheader ('conexión', 'cerrar');
servidor.send (200, 'Text/Plain', (update.haserror ())? 'Fail': 'Ok');
Esp.restart ();
} {
Httpupload & upload = server.upload ();
if (upload.status == upload_file_start) {
Serial.printf ('Actualización: %s \ n', upload.fileName.c_str ());
if (! update.begin (update_size_unknown)) {// Comience con el tamaño máximo disponible
Update.printerror (serie);
}
} else if (upload.status == upload_file_write) {
/* firmware intermitente a ESP*/
if (update.write (upload.buf, upload.currentsize)! = upload.currentsize) {
Update.printerror (serie);
}
} else if (upload.status == upload_file_end) {
if (update.end (true)) {// true para establecer el tamaño en el progreso actual
Serial.printf ('Actualización de éxito: %u \ nrebooting ... \ n', upload.totalSize);
} demás {
Update.printerror (serie);
}}}
servidor.begin ();
}
bucle vacío (void) {
servidor.handleclient ();
retraso (1);
}
Programación de OTA funcionando
Para usar la función de programación OTA, se debe cargar un boceto a través del puerto serie. Este boceto incluye el código HTML para hacer un actualizador web de OTA. Más tarde, puede cargar fácilmente el código con el navegador. Una vez que el código se carga a través de un puerto serie, se creará un servidor web donde puede seleccionar y cargar un nuevo boceto a través de un navegador web.
Conecte la placa ESP32 a la computadora portátil para cargar el código primario, luego abra el IDE Arduino y elija el tipo de placa como kit de desarrollo ESP32 y elija el puerto serie adecuado.
Modifique el nombre del Wi-Fi y la contraseña dentro del código original.
El código OTA debe cargarse en su placa ESP32. Una vez que el código se carga correctamente, abra el monitor en serie. Después de eso, la tasa de baudios de 115200 debe cambiarse en el monitor en serie. Presione el botón RESET sobre el módulo ESP32, y debe imprimir la dirección IP de la placa ESP32.
Abra el navegador predeterminado para pegar la dirección IP ESP32. Por lo tanto, debe abrir la página del servidor web para OTA. Aquí el nombre de usuario y la contraseña de forma predeterminada son administradores. Ahora, ingrese los detalles de inicio de sesión, haga clic en la página de inicio de sesión y luego se abrirá una nueva pestaña para cargar el código.
Ventajas
Las ventajas de ESP32 OTA incluyen las siguientes.
- Este enfoque centralizado permite que una sola actualización se extienda a varios ESP32 en una red similar.
- OTA permite actualizaciones de firmware remoto sin usar acceso físico a la placa de desarrollo para que sea perfecto para las implementaciones de IoT.
- OTA elimina el requisito de conexiones físicas para actualizar la placa ESP32 simplificando el procedimiento de actualización, particularmente para dispositivos inaccesibles o remotos.
- Las actualizaciones se pueden lograr de forma remota, lo que disminuye el tiempo dedicado a la protección y la operación.
- Una sola fuente envía actualizaciones a numerosos ESP32 en una red similar y optimiza el procedimiento de actualización para grandes implementaciones.
- OTA permite actualizaciones simultáneas a varios dispositivos haciéndolo muy eficiente para proyectos a gran escala.
- Las actualizaciones se pueden planificar y ejecutar en horas de extracción, lo que reduce los problemas al funcionamiento del dispositivo.
- Las actualizaciones de OTA incluyen parches de seguridad y mejoras que protegen de las vulnerabilidades.
- La funcionalidad OTA se puede integrar en proyectos basados en ESP32 con las bibliotecas de Arduinoota.
- La programación OTA le permite actualizar un nuevo programa en el ESP32 sin ninguna conexión con la computadora.
Desventajas
El Desventajas de ESP32 OTA incluir lo siguiente.
- La imagen de fábrica de la placa ESP32 no contiene capacidad OTA. Por lo tanto, primero, debe cargar este firmware a través de una conexión en serie antes de usar actualizaciones de OTA.
- Además, algunos modelos ESP32 anteriores tienen limitaciones de memoria, particularmente aquellas que tienen 1 MB de memoria flash.
- Cada boceto cargado en una placa ESP32 debe contener el código requerido para permitir la funcionalidad OTA. El dispositivo sin este código ya no estará disponible para las actualizaciones de OTA a través de un servidor web.
- Muchos tableros ESP32 modernos tienen suficiente memoria, pero los modelos ESP32 más pequeños o más antiguos pueden cumplir con las limitaciones a través de OTA, particularmente si el boceto cargado está cerca del límite de memoria existente.
- Si los usuarios de carga de código sin contraseña, el dispositivo puede volverse inalcanzable para futuras actualizaciones de OTA, posiblemente requiriendo una recarga del boceto OTA necesario a través de Serial.
- Si bien los usuarios pueden agregar un nombre de usuario y una palabra secreta para la seguridad, esta medida podría no proteger completamente la página de carga OTA del acceso no autorizado si alguien identifica la URL específica.
- La implementación inadecuada del código OTA puede conducir a problemas potenciales, ya que puede deshabilitar la funcionalidad de OTA futura.
Aplicaciones
Las aplicaciones de ESP32 OTA incluyen lo siguiente.
- Las aplicaciones OTA ESP32 permiten que el firmware del dispositivo se actualice de forma remota sin ninguna conexión física con el dispositivo. Por lo tanto, esto es principalmente útil para dispositivos IoT instalados en ubicaciones inaccesibles, disminuyendo el tiempo de inactividad y los costos de mantenimiento. OTA permite actualizaciones de software, correcciones de errores y mejoras de características que se implementarán de manera rápida y eficiente.
- Las actualizaciones de OTA ESP32 son esenciales en varias aplicaciones, principalmente en sistemas integrados e implementaciones de IoT.
- Estas actualizaciones son significativas para el mantenimiento y la actualización de los sistemas de automatización industrial sin cerrar todo el proceso.
- OTA permite a los dispositivos de inicio inteligente recibir actualizaciones remotas de firmware al garantizar las mejores mejoras de rendimiento y características.
- Las actualizaciones de OTA son significativas para actualizar los sistemas de firmware y monitoreo de los sensores remotos, asegurando que se mantengan precisos y funcionales.
- OTA Update proporciona un método adecuado para manejar y mantener dispositivos en cualquier aplicación IoT, donde sea que el acceso remoto no sea práctico o limitado.
- Los usuarios actualizan bloqueos inteligentes, cámaras de seguridad y sistemas de seguridad para garantizar que permanezcan seguros y funcionales.
- Las industrias emplean ESP32 OTA para actualizar el software y los sistemas de máquinas en los procesos de automatización.
- Los técnicos actualizan el software del dispositivo en estaciones meteorológicas, monitoreo ambiental y aplicaciones remotas.
- Esta OTA actualiza el software en equipos agrícolas inteligentes, sistemas de riego, etc.
- Administra y actualiza dispositivos de inicio inteligente de forma remota en la automatización del hogar, como cerraduras, sistemas de seguridad, luces inteligentes, etc.
Conclusión:
De este modo, Las actualizaciones de OTA ESP32 proporcionan Un método conveniente para actualizar el firmware y otros archivos de forma inalámbrica en los dispositivos ESP32 eliminando las conexiones físicas. Por lo tanto, este método es principalmente útil para implementaciones remotas y reduce el mantenimiento al permitir correcciones de errores y mejoras de características sin ninguna conexión física. La actualización OTA ESP32 proporciona una técnica valiosa para mantener y actualizar los dispositivos ESP32 de forma remota, simplificar el mantenimiento y acortar el proceso de actualización. Aquí hay una pregunta para usted: ¿Cuál es el tablero ESP32?