OTA (Over the Air) -programmering is een functie van elke microcontroller met WiFi, zoals ESP32 en ESP8266, waarmee deze apparaten hun firmware of software draadloos kunnen upgraden zonder enige fysieke toegang. Deze functie kan worden gebruikt om de apparaten te herprogrammeren die op een dak zijn bevestigd of op een andere plaats waar het aansluiten van kabels moeilijk is. Met OTA kunt u een update sturen naar meerdere microcontrollers of apparaten die zich op hetzelfde netwerk bevinden. Deze functie kan bijvoorbeeld worden gebruikt om updates te verzenden voor het oplossen van bugs, het toevoegen van enkele functies, enz. Aan meerdere microcontrollers, mobiele telefoons, computers, settopboxen, enz. De OTA-updates spelen ook een belangrijke rol in het IoT. Het wordt gebruikt voor het op afstand updaten van met internet verbonden apparaten met nieuwe instellingen, software en firmware.
We hebben eerder geleerd om ESP8266 NodeMCU te programmeren met behulp van OTA. In deze tutorial gaan we over-the-air (OTA) -programmering gebruiken met de ESP32 met behulp van de OTA Web Updater in Arduino IDE.
Componenten vereist
- ESP32
- Arduino IDE
Hoe werkt OTA-programmering?
Om de programmeerfunctie Over the Air (OTA) te gebruiken, moet u eerst een schets uploaden via de seriële poort. Deze sketch bevat de HTML-code om een OTA Web Updater te maken, zodat je later code kunt uploaden met de browser. Wanneer de code wordt geüpload via een seriële poort, wordt er een webserver gemaakt waar u een nieuwe schets kunt kiezen en uploaden via een webbrowser.
Om de eerste code te uploaden, sluit u de ESP32 aan op de laptop en opent u de Arduino IDE, selecteert u het bordtype als ESP32 Dev Kit en selecteert u de juiste seriële poort.
Ga dan naar Bestand> Voorbeelden> ArduinoOTA> OTAWebUpdater
Verander de Wi-Fi-naam en het wachtwoord in de originele code.
const char * ssid = "Uw WiFi-naam"; const char * password = "Wachtwoord";
Upload de code naar uw ESP32-bord. Open de seriële monitor nadat de code is geüpload. Wijzig de baudrate van 115200 op de seriële monitor en druk op de resetknop op ESP32 en het zou het ESP32 IP-adres moeten afdrukken.
Open nu de standaardbrowser en plak het ESP32 IP-adres. Het zou de webserver moeten openen voor Over the Air-programmering, zoals weergegeven in de onderstaande afbeelding:
Standaard gebruikersnaam en wachtwoord is admin.
Voer vervolgens de gebruikersnaam en het wachtwoord in en klik op de inlogpagina, een nieuw tabblad wordt geopend. Hier kun je de code uploaden.
Hier gaan we een eenvoudige knipperende LED-code uploaden. Elke code die u via de ether uploadt, moet een OTA-code bevatten. Voeg dus het knippergedeelte toe aan de originele OTA-code. De volledige code staat aan het einde van de pagina.
void loop (void) {server.handleClient (); vertraging (1); digitalWrite (led, HIGH); vertraging (600); digitalWrite (led, LOW); vertraging (600); }
Sla uw code op met een nieuwe naam en ga dan naar S ketch> Export gecompileerd binair bestand . Hiermee wordt een nieuw .bin- bestand in uw schetsmap gemaakt.
Ga nu naar de OTA-webpagina en klik vervolgens op de knop ' Bestand kiezen' en selecteer het .bin- bestand. Klik hierna op de 'Update' knop om de schets te uploaden.
Dit is hoe ESP32 kan worden geprogrammeerd met behulp van OTA zonder seriële communicatie te gebruiken.