- O que é programação OTA?
- ESP8266 NodeMCU
- Componentes necessários
- Preparando NodeMCU para receber atualização OTA sem fio
- ESP8266 Programa de LED piscando para transferência OTA
- Piscando o LED no ESP8266 por meio da atualização OTA
O que é programação OTA?
A programação OTA (Over the Air) é um processo que permite que os dispositivos atualizem seu firmware ou software sem fio, sem qualquer acesso físico. Ele usa tecnologia sem fio como Wi-Fi, Bluetooth, GPRS ou 4G / 3G em vez de comunicação serial com fio. OTA é usado para reprogramar os dispositivos como microcontroladores, telefones celulares, computadores, decodificadores etc. As atualizações OTA são geralmente enviadas para atualizar o software, resolver os bugs, adicionar alguns recursos etc. Com o uso crescente de dispositivos IoT, OTA é transferido usando bandas de frequência com baixa taxa de transmissão de dados (868 MHz, 900 MHz, 2400 MHz).
Aqui neste tutorial, enviaremos atualização OTA para ESP8266 NodeMCU para piscar um LED.
ESP8266 NodeMCU
NodeMCU é uma plataforma de IoT de código aberto. Inclui firmware que roda no ESP8266 Wi-Fi SoC de baixo custo habilitado para Wi-Fi da Espressif Systems e hardware que é baseado no módulo ESP-12. Possui pinos GPIO, SPI, I2C, ADC, PWM E UART. Ele pode ser programado com o Arduino IDE. O NodeMCU integrado tem CP2102 IC que fornece funcionalidade de USB para TTL. Para saber mais sobre ESP8266, verifique outros projetos baseados em ESP8266.
Componentes necessários
- NodeMCU ESP8266
- Cabo Micro USB
- IDE Arduino
Preparando NodeMCU para receber atualização OTA sem fio
Primeiro conecte o NodeMCU ESP8266 ao PC usando o cabo micro USB. Então, para fazer o upload do firmware usando OTA, precisamos fazer upload do esboço em série usando micro USB para gerar o endereço IP do ESP. Esta é a etapa necessária para carregar o firmware sem fio na próxima vez. Selecione a porta serial à qual o cabo está conectado em Ferramentas -> Porta .
ESP8266 vem com bibliotecas e exemplos que podem ser acessados diretamente do IDE do Arduino. Abra o IDE do Arduino e o exemplo do BasicOTA.
Edite o esboço substituindo “seu-ssid” e “sua-senha” por seu SSID e senha Wi-Fi e, em seguida, carregue o esboço
Abra o monitor serial após carregar o programa com sucesso. Defina a taxa de transmissão de 115200 no monitor serial e pressione o botão Reset no NodeMCU ESP8266. A conexão do NodeMCU ESP8266 com o Wi-Fi leva algum tempo, pois verifica as credenciais do Wi-Fi. Se o SSID e a senha estiverem corretos, o NodeMCU ESP8266 será conectado ao Wi-Fi e o endereço IP do ESP será exibido no monitor serial.
ESP8266 Programa de LED piscando para transferência OTA
O código completo para transferir o programa de LED piscando através do OTA é fornecido no final, aqui estamos explicando algumas partes importantes do código.
Importar as bibliotecas necessárias é a primeira etapa para escrever o código. A biblioteca ESP8266WiFi.h fornece rotinas específicas de Wi-Fi ESP8266 necessárias para se conectar a uma rede. Além disso, fornece métodos e propriedades para operar o ESP8266 no modo de estação ou no modo de ponto de acesso flexível. ESP8266mDNS.h permite que o Sketch responda a consultas DNS multicast.
#incluir
Defina variáveis para SSID e senha da rede Wi-Fi à qual o ESP deve ser conectado. Temos que conectar nosso PC e ESP à mesma rede wi-fi.
#ifndef STASSID #define STASSID "seu-ssid" #define STAPSK "sua-senha" #endif const char * ssid = STASSID; const char * senha = STAPSK;
ESP8266 é definido como modo de estação e a conexão Wi-Fi é iniciada fornecendo credenciais. Leva algum tempo para o ESP se conectar ao módulo Wi-Fi. Se o SSID e a senha estiverem corretos, ele será conectado ao Wi-Fi e se o SSID e a senha não estiverem corretos, ele será reiniciado a cada 1 segundo.
Serial.begin (115200); // Definir Baud Rate para 115200 Serial.println ("Booting"); // Etapa para conectar o ESP com o Wi-Fi WiFi.mode (WIFI_STA); // Definir ESP como modo de estação WiFi.begin (ssid, senha); // Credenciais de Wi-Fi while (WiFi.waitForConnectResult ()! = WL_CONNECTED) // Conectar ESP ao wi-fi leva algum tempo, então espere até que ele seja conectado { Serial.println ("Connection Failed! Rebooting…"); atraso (1000); ESP.restart (); }
O endereço IP do ESP é impresso no monitor serial como conexão com o módulo Wi-Fi. WiFi.localIP () fornece o endereço IP do ESP.
Depois de enviar o código com êxito, abra o monitor serial a 115200 Baud Rate. Pressione o botão de reset e após alguns segundos você poderá ver o endereço IP do ESP no Monitor Serial. Agora você poderá carregar o firmware sem fio.
Piscando o LED no ESP8266 por meio da atualização OTA
Antes de fazer o upload do próximo esboço, vá para Ferramentas e altere a PORTA para o endereço IP do ESP para fazer o upload do firmware sem fio para o NodeMCU.
Agora carregue o esboço fornecido abaixo de LED piscando em NodeMCU sem fio usando Arduino IDE e certifique-se de que seu PC e ESP estão conectados à mesma rede Wi-Fi e ESP é alimentado por alguma fonte de energia.
Após fazer o upload do código com sucesso, o LED no NodeMCU ESP8266 começará a piscar a cada 1 segundo. Você também pode definir o nome do host e a senha no esboço para segurança ao carregar o firmware no ESP.