No passado, atualizações de firmware em sistemas incorporados foram uma tarefa crítica. Mas a maioria dos dispositivos IoT e dispositivos incorporados está conectada pela Internet para atualizar o firmware remotamente pelos desenvolvedores. Os dispositivos capazes de se conectar à Internet têm o benefício de se atualizar. Então, esse tipo de programação de firmware em Esp32 é referido como OTA (over-the-ar), que ajuda a manter os dispositivos incorporados atualizados com a intervenção mínima do usuário. Além disso, o ar oferece muitos recursos e é uma técnica econômica para os desenvolvedores fazer sua atualização de dispositivos. Este artigo explora o Firmware OTA Atualizar procedimento sobre o Conselho de Desenvolvimento do ESP32.
O que é a programação OTA no ESP32/ ESP32 OTA?
O ESP32 OTA é a capacidade de fazer upload ou atualizar um novo programa para o processo da placa de desenvolvimento ESP32 pela Internet sem se conectar a um computador. Além disso, esse processo também pode reduzir o tempo necessário para atualizar todos os módulos ESP em manutenção. Assim, permite atualizações sem fio pela Internet ou outros tipos de redes sem fio.
O Conselho de Desenvolvimento do ESP32 presta atenção a uma atualização de firmware baixando -a usando protocolos como https, mqtt ou http. Depois disso, ele verifica e o exibe em uma partição alocada na memória da placa ESP32. As atualizações da OTA são significativas para dispositivos incorporados ou dispositivos de IoT, principalmente quando os dispositivos são difíceis de acessar ou em locais remotos.
Esp32 OTA Core Parts
O ESP32 OTA usa vários componentes principais para atualizações de firmware sem conectar o dispositivo fisicamente. Assim, as partes principais deste OTA ajudam a transmitir e receber atualizações. Além disso, asycenegantota (ou) as bibliotecas e estruturas do ESP HTTPS OTA da Espressif reduzem o procedimento de implementação.
Partição de dados da OTA
Esta partição na memória flash da placa ESP32 simplesmente armazena as informações atualizadas da OTA, como a imagem do firmware e um contador para rastrear qual slot foi escrito mais recentemente.
Mecanismo de comunicação
As atualizações de OTA dependem principalmente de protocolos de comunicação sem fio como Bluetooth ou wifi, onde o Bluetooth é usado para atualizações mais localizadas e menores, e o WiFi é comumente usado.

Arquitetura do cliente-servidor
Um cliente, como um aplicativo ou PC móvel, inicia a atualização e envia o firmware para o servidor ESP32.
Bibliotecas e estruturas
Asycelegantota e as Bibliotecas OTA HTTPS OP fornecem funcionalidades pré-construídas para lidar com o procedimento OTA e reduzir o desenvolvimento.
Bootloader
Este carregador de inicialização lida com a transição para o firmware mais recente após uma atualização bem -sucedida da OTA.
OTA seguro
As atualizações seguras da OTA envolvem a verificação da imagem de assinatura do firmware para garantir sua integridade e autenticidade.
Em essência, as atualizações do ESP32 OTA envolvem uma combinação de software (partições, bibliotecas e firmware) e protocolos de comunicação (Wi-Fi ou Bluetooth). Assim, atualiza perfeitamente o firmware do dispositivo sem acesso físico.
Trabalhando
A programação ESP32 OTA permite que o firmware/software do ESP32 atualize sem fio para um computador sem uma conexão física. Portanto, isso pode ser feito enviando uma nova imagem de firmware em uma rede como o Wi-Fi e, depois disso, escrevendo-a na memória flash do ESP32. Assim, o REBOOTS DO REVISÃO DE DESENVOLVIMENTO ESP32 e o firmware mais recente está em execução.
Implementação de ESP32 OTA
Para implementar atualizações ao ar para o Conselho de Desenvolvimento do ESP32, um esboço básico de OTA deve ser enviado. Depois disso, um servidor da Web é usado para fazer upload do firmware mais recente. Portanto, toda essa instalação do procedimento ESP32 OTA envolve uma configuração de conexão Wi-Fi, instalação da biblioteca e, depois disso, um arquivo binário compilado é enviado na placa ESP32.
Procedimento passo a passo da implementação do ESP32 OTA:
- Primeiro, precisa instalar o pacote da placa ESP32 no Arduino IDE.
- Depois disso, inclua as bibliotecas específicas e outras necessárias do ESP32.
- O esboço básico da OTA deve ser enviado, que normalmente contém um servidor da Web principalmente para atualizações de OTA.
- Abra o navegador e permita o endereço IP do servidor da Web do ESP32.
- Escolha o arquivo .bin na interface do servidor da web que você deseja fazer upload.
- Clique no botão Upload para iniciar a atualização do OTA.
- Agora o ESP32 está conectado à sua rede Wi-Fi.
- O Open Aard reiniciará o firmware recém -enviado.
- A biblioteca Arduinoota deve ser usada no núcleo ESP32 para simplificar o procedimento OTA.
- Você também pode empregar o exemplo do BasicOta dado pela biblioteca ou fazer seu próprio aplicativo OTA.
- Agora, a biblioteca Arduinoota simplesmente permite que você faça o upload do esboço mais recente OTA no seu ESP32.
Use um servidor da web
- Na Biblioteca Esp32 Arduino, o exemplo otawebupdater fornece uma interface da web para fazer upload do firmware.
- O esboço é compilado para gerar um arquivo .bin. Depois disso, ele pode ser carregado através do servidor da Web.
- Essa técnica permite atualizações de OTA simples e mais acessíveis.
- Além disso, certifique -se de ter no mínimo duas partições OTA na sua placa ESP32.
- Use outras técnicas, como o Arduino IoT Cloud, principalmente para atualizações de OTA.
- O procedimento OTA substitui o firmware existente em uma partição OTA dedicada, garantindo que o firmware em execução permaneça estável.
Esp32 OTA interface com Arduino
A principal característica dos microcontroladores habilitados para Wifi (ESP32 & ESP8266 ) é a programação OTA. Esses dispositivos atualizam seu firmware sem fio. Usando o OTA, uma atualização pode ser enviada para vários microcontroladores que estão em uma rede semelhante. Esse recurso é usado para enviar atualizações para resolver os bugs, incluindo alguns recursos para vários microcontroladores, decodificadores, computadores, telefones celulares etc.
Geralmente, as atualizações de OTA desempenham um papel fundamental no Internet das coisas Para atualizar os dispositivos conectados à Internet remotamente com novas configurações e software. Aqui vamos usar a programação OTA com a placa ESP32 no Arduino IDE com o OTA Web Updater.
Os componentes necessários para a interface do ESP32 OTA com a placa Arduino incluem a placa ESP32 e o Arduino IDE.

OTA Code
O código OTA para o Conselho de Desenvolvimento do ESP32 é fornecido abaixo.
#include
#include
const char* host = 'esp32'; ssid = 'xxx'; senha = 'xxxx';
Servidor do servidor da web (80);
/* Página de login*/
Const char* logIndex =
'
'
'
“
“
'
'
'
'
'
'
'
'
'
“
'
'
'
'
'
'
'
“
'
'
'
'
'
'
'
'
'
' tabela>'
''
'';
/*
* Página de índice do servidor
*/
const char* serverIndex =
'';
/*
* Função de configuração
*/
Configuração void (void) {
Serial.begin (115200);
// Conecte -se à rede wifi
Wifi.begin (ssid, senha);
Serial.println ('');
// Aguarde por conexão
while (wifi.status ()! = wl_connected) {
atraso (500);
Serial.print ('.');
}
Serial.println ('');
Serial.print (“conectado a“);
Serial.println (ssid);
Serial.print (“Endereço IP:“);
Serial.println (wifi.localip ());
/*Use MDNs para resolução de nomes do host*/
if (! mdns.begin (host)) {// c2e2f8f35ba56eedbbc296b8125c387d1182e239
Serial.println (“Erro configurando o MDNS Responder!”);
enquanto (1) {
atraso (1000);
}
}
Serial.println ('MDNS Responder começou');
/ *Retornar a página do índice que é armazenado no ServerIndex */
Server.on ('/', http_get, [] () {
server.sendHeader ('conexão', 'fechar');
Server.send (200, 'Text/HTML', LoginIndex);
});
Server.on ('/ServerIndex', http_get, [] () {
server.sendHeader ('conexão', 'fechar');
Server.send (200, 'Text/HTML', ServerIndex);
});
/ *Manuseio de upload do arquivo de firmware */
Server.on ('/update', http_post, [] () {
server.sendHeader ('conexão', 'fechar');
Server.send (200, 'Text/Plain', (update.haserror ())? 'Fail': 'OK');
Esp.restart ();
} {
Httpupload & upload = server.upload ();
if (upload.status == upload_file_start) {
Serial.printf ('Atualização: %s \ n', upload.filename.c_str ());
if (! update.begin (update_size_unknown)) {// comece com o tamanho máximo disponível
Update.printerror (serial);
}
} else if (upload.status == upload_file_write) {
/* firmware piscando para ESP*/
if (update.write (upload.buf, upload.currentsize)! = upload.currentsize) {
Update.printerror (serial);
}
} else if (upload.status == upload_file_end) {
if (update.end (true)) {// true para definir o tamanho para o progresso atual
Serial.printf (“Sucesso da atualização: %u \ nrebooting… \ n”, upload.totalsize);
} outro {
Update.printerror (serial);
}}}
server.Begin ();
}
Void Loop (void) {
server.HandLeclient ();
atraso (1);
}
Programação OTA funcionando
Para usar o recurso de programação OTA, um esboço precisa ser carregado através da porta serial. Este esboço inclui o código HTML para fazer um atualizador da Web OTA. Mais tarde, você pode fazer o upload facilmente o código com o navegador. Depois que o código for enviado através de uma porta serial, um servidor da Web será criado onde você poderá selecionar e fazer upload de um novo esboço através de um navegador da Web.
Conecte a placa ESP32 ao laptop para fazer o upload do código primário, depois abra o Arduino IDE e escolha o tipo de placa como kit de dev esp32 e escolha a porta serial correta.
Modifique o nome do Wi-Fi e senha dentro do código original.
O código OTA deve ser carregado na sua placa ESP32. Depois que o código for enviado com sucesso, abra o monitor serial. Depois disso, a taxa de transmissão de 115200 deve ser alterada no monitor serial. Pressione o botão Redefinir acima do módulo ESP32 e ele deve imprimir o endereço IP da placa ESP32.
Abra o navegador padrão para colar o endereço IP ESP32. Portanto, ele deve abrir a página do servidor da web para OTA. Aqui o nome de usuário e a senha por padrão são admin. Agora, digite os detalhes do login, clique na página de login e, em seguida, uma nova guia será aberta para fazer o upload do código.
Vantagens
As vantagens do ESP32 OTA incluem o seguinte.
- Essa abordagem centralizada permite que uma única atualização se espalhe para vários ESP32s em uma rede semelhante.
- A OTA permite atualizações de firmware remoto sem usar o acesso físico ao quadro de desenvolvimento para torná -lo perfeito para implantações de IoT.
- A OTA remove o requisito de conexões físicas para atualizar a placa ESP32, simplificando o procedimento de atualização, particularmente para dispositivos inacessíveis ou remotos.
- As atualizações podem ser alcançadas remotamente, o que diminui o tempo gasto em proteção e operação.
- Uma única fonte envia atualizações para vários ESP32s em uma rede semelhante e simplifica o procedimento de atualização para enormes implantações.
- A OTA permite atualizações simultâneas para vários dispositivos, tornando-o muito eficiente para projetos em larga escala.
- As atualizações podem ser planejadas e executadas em horários fora do pico, o que reduz os problemas para a operação do dispositivo.
- As atualizações da OTA incluem patches de segurança e melhorias que protegem das vulnerabilidades.
- A funcionalidade OTA pode ser integrada aos projetos baseados em ESP32 com as bibliotecas Arduinoota.
- A programação OTA permite atualizar um novo programa no ESP32 sem qualquer conexão com o computador.
Desvantagens
O Desvantagens do ESP32 OTA inclua o seguinte.
- A imagem da fábrica da placa ESP32 não contém capacidade de OTA. Assim, primeiro, você precisa fazer upload desse firmware através de uma conexão serial antes de usar as atualizações do OTA.
- Além disso, alguns modelos ESP32 mais antigos têm limitações de memória, particularmente aquelas que possuem 1 MB de memória flash.
- Cada esboço carregado em uma placa ESP32 deve conter o código necessário para permitir a funcionalidade OTA. O dispositivo sem esse código não estará mais disponível para atualizações de OTA através de um servidor da Web.
- Muitas placas Modernas Esp32 têm memória suficiente, mas os modelos Esp32 menores ou mais antigos podem atender às limitações através da OTA, principalmente se o esboço carregado estiver próximo ao limite de memória existente.
- Se os usuários carregarem código sem senha, o dispositivo poderá se tornar inacessível para futuras atualizações da OTA, possivelmente exigindo uma reposição do esboço OTA necessário via serial.
- Embora os usuários possam adicionar um nome de usuário e uma palavra secreta para segurança, essa medida pode não proteger totalmente a página de upload da OTA do acesso não autorizado se alguém identificar o URL específico.
- A implementação inadequada do código OTA pode levar a problemas em potencial, pois pode desativar a funcionalidade futura da OTA.
Aplicações
As aplicações do ESP32 OTA incluem o seguinte.
- Os aplicativos ESP32 OTA permitem que o firmware do dispositivo atualize remotamente sem nenhuma conexão física com o dispositivo. Portanto, isso é principalmente útil para dispositivos IoT instalados em locais inacessíveis, diminuindo os custos de inatividade e manutenção. O OTA permite atualizações de software, correções de bugs e aprimoramentos de recursos a serem implantados de maneira rápida e eficiente.
- As atualizações do ESP32 OTA são essenciais em várias aplicações, principalmente em sistemas incorporados e implantações da IoT.
- Essas atualizações são significativas para a manutenção e atualização dos sistemas de automação industrial sem desligar todo o processo.
- A OTA permite que os dispositivos domésticos inteligentes recebam atualizações remotas de firmware, garantindo as melhores melhorias de desempenho e recursos.
- As atualizações da OTA são significativas para atualizar os sistemas de firmware e monitoramento dos sensores remotos, garantindo que eles permaneçam precisos e funcionais.
- A OTA Update fornece um método adequado para manusear e manter os dispositivos em qualquer aplicativo de IoT, onde quer que o acesso remoto seja impraticável ou limitado.
- Os usuários atualizam bloqueios inteligentes, câmeras de segurança e sistemas de segurança para garantir que permaneçam seguros e funcionais.
- As indústrias empregam o ESP32 OTA para atualizar o software e os sistemas de máquinas nos processos de automação.
- Os técnicos atualizam o software do dispositivo em estações meteorológicas, monitoramento ambiental e aplicativos remotos.
- Este OTA atualiza software em equipamentos agrícolas inteligentes, sistemas de irrigação etc.
- Ele gerencia e atualiza dispositivos domésticos inteligentes remotamente na automação residencial, como bloqueios, sistemas de segurança, luzes inteligentes, etc.
Conclusão:
Por isso, Esp32 OTA Atualizações fornecem Um método conveniente para atualizar o firmware e outros arquivos sem fio nos dispositivos ESP32, removendo as conexões físicas. Portanto, esse método é principalmente útil para implantações remotas e reduz a manutenção, permitindo correções de bugs e aprimoramentos de recursos sem nenhuma conexão física. O ESP32 OTA Update fornece uma técnica valiosa para manter e atualizar os dispositivos ESP32 remotamente, simplificar a manutenção e reduzir o processo de atualização. Aqui está uma pergunta para você: O que é a placa ESP32?