Programování OTA (Over the Air) je funkce jakéhokoli mikrokontroléru s podporou WiFi, jako jsou ESP32 a ESP8266, která těmto zařízením umožňuje bezdrátově upgradovat firmware nebo software bez fyzického přístupu. Tuto funkci lze použít k přeprogramování zařízení upevněných na střeše nebo na jiném místě, kde je obtížné připojit kabel. Pomocí OTA můžete odeslat aktualizaci více mikrokontrolérům nebo zařízením, která jsou ve stejné síti. Tuto funkci lze například použít k odesílání aktualizací pro řešení chyb, přidání některých funkcí atd. Do více mikrokontrolérů, mobilních telefonů, počítačů, set-top boxů atd. Důležitou roli v IoT hrají také aktualizace OTA. Používá se pro vzdálenou aktualizaci zařízení připojených k internetu pomocí nového nastavení, softwaru a firmwaru.
Dříve jsme se naučili programovat ESP8266 NodeMCU pomocí OTA. V tomto tutoriálu použijeme OTA (over-the-air) programování s ESP32 pomocí OTA Web Updater v Arduino IDE.
Požadované komponenty
- ESP32
- Arduino IDE
Jak funguje programování OTA?
Chcete-li použít programovací funkci Over the Air (OTA), musíte nejprve nahrát skicu přes sériový port. Tento náčrt obsahuje kód HTML pro vytvoření webového aktualizátoru OTA, takže můžete kód později nahrát pomocí prohlížeče. Když je kód nahrán přes sériový port, vytvoří webový server, kde si můžete vybrat a nahrát nový náčrt pomocí webového prohlížeče.
Chcete-li nahrát první kód, připojte ESP32 k notebooku a otevřete Arduino IDE, vyberte typ desky jako ESP32 Dev Kit a vyberte správný sériový port.
Pak přejděte na Soubor> Příklady> ArduinoOTA> OTAWebUpdater
Změňte název a heslo Wi-Fi v původním kódu.
const char * ssid = "Vaše WiFi jméno"; const char * heslo = "heslo";
Nahrajte kód na svoji desku ESP32. Po úspěšném nahrání kódu otevřete sériový monitor. Změňte přenosovou rychlost 115200 na sériovém monitoru a stiskněte tlačítko Reset na ESP32 a mělo by se vytisknout IP adresa ESP32.
Nyní otevřete výchozí prohlížeč a vložte IP adresu ESP32. Měl by otevřít webový server pro programování vzduchem, jak je znázorněno na následujícím obrázku:
Výchozí uživatelské jméno a heslo je admin.
Poté zadejte uživatelské jméno a heslo a klikněte na přihlašovací stránku, otevře se nová karta. Zde můžete nahrát kód.
Zde nahrajeme jednoduchý blikající kód LED. Každý kód, který nahrajete vzduchem, by měl mít v sobě kód OTA. Přidejte tedy blikající část do původního OTA kódu. Celý kód je uveden na konci stránky.
void loop (void) {server.handleClient (); zpoždění (1); digitalWrite (led, HIGH); zpoždění (600); digitalWrite (led, LOW); zpoždění (600); }
Uložte kód s novým názvem a poté přejděte do S ketch> Exportovat kompilovaný binární soubor . Tím ve složce náčrtu vytvoříte nový soubor .bin .
Nyní přejděte na webovou stránku OTA a poté klikněte na tlačítko „ Vybrat soubor“ a vyberte soubor .bin . Poté klikněte na tlačítko „Aktualizovat“ a nahrajte náčrt.
Takto lze programovat ESP32 pomocí OTA bez použití sériové komunikace.