Die OTA-Programmierung (Over the Air) ist eine Funktion jedes WiFi-fähigen Mikrocontrollers wie ESP32 und ESP8266, mit der diese Geräte ihre Firmware oder Software drahtlos ohne physischen Zugriff aktualisieren können. Diese Funktion kann verwendet werden, um Geräte neu zu programmieren, die auf einem Dach oder an einem anderen Ort befestigt sind, an dem das Verbindungskabel schwierig ist. Mit OTA können Sie ein Update an mehrere Mikrocontroller oder Geräte senden, die sich im selben Netzwerk befinden. Diese Funktion kann beispielsweise verwendet werden, um Updates zur Behebung der Fehler, zum Hinzufügen einiger Funktionen usw. zu mehreren Mikrocontrollern, Mobiltelefonen, Computern, Set-Top-Boxen usw. zu senden. Die OTA-Updates spielen auch im IoT eine wichtige Rolle. Es wird zum Remote-Aktualisieren von mit dem Internet verbundenen Geräten mit neuen Einstellungen, Software und Firmware verwendet.
Wir haben zuvor gelernt, ESP8266 NodeMCU mit OTA zu programmieren. In diesem Tutorial verwenden wir die OTA-Programmierung (Over-the-Air) mit dem ESP32 unter Verwendung des OTA Web Updater in Arduino IDE.
Erforderliche Komponenten
- ESP32
- Arduino IDE
Wie funktioniert die OTA-Programmierung?
Um die OTA-Programmierfunktion (Over the Air) zu verwenden, müssen Sie zunächst eine Skizze über die serielle Schnittstelle hochladen. Diese Skizze enthält den HTML-Code zum Erstellen eines OTA-Web-Updaters, damit Sie den Code später über den Browser hochladen können. Wenn der Code über die serielle Schnittstelle hochgeladen wird, wird ein Webserver erstellt, auf dem Sie eine neue Skizze über einen Webbrowser auswählen und hochladen können.
Um den ersten Code hochzuladen, verbinden Sie den ESP32 mit dem Laptop und öffnen Sie die Arduino IDE, wählen Sie den Board-Typ als ESP32 Dev Kit und wählen Sie die richtige serielle Schnittstelle.
Gehen Sie dann zu Datei> Beispiele> ArduinoOTA> OTAWebUpdater
Ändern Sie den WLAN-Namen und das Kennwort im Originalcode.
const char * ssid = "Ihr WiFi-Name"; const char * password = "Passwort";
Laden Sie den Code auf Ihre ESP32-Karte hoch. Öffnen Sie nach dem erfolgreichen Hochladen des Codes den seriellen Monitor. Ändern Sie die Baudrate von 115200 auf dem seriellen Monitor und drücken Sie die Reset-Taste auf dem ESP32. Die ESP32-IP-Adresse sollte gedruckt werden.
Öffnen Sie nun den Standardbrowser und fügen Sie die ESP32-IP-Adresse ein. Es sollte den Webserver für die Over-the-Air-Programmierung öffnen, wie in der folgenden Abbildung gezeigt:
Der Standardbenutzername und das Standardkennwort sind admin.
Geben Sie dann den Benutzernamen und das Passwort ein und klicken Sie auf die Anmeldeseite. Eine neue Registerkarte wird geöffnet. Hier können Sie den Code hochladen.
Hier laden wir einen einfachen LED-Blinkcode hoch. Jeder Code, den Sie drahtlos hochladen, sollte einen OTA-Code enthalten. Fügen Sie also den Blink-Teil in den ursprünglichen OTA-Code ein. Der vollständige Code ist am Ende der Seite angegeben.
void loop (void) {server.handleClient (); Verzögerung (1); digitalWrite (LED, HIGH); Verzögerung (600); digitalWrite (LED, LOW); Verzögerung (600); }}
Speichern Sie Ihren Code unter einem neuen Namen und gehen Sie dann zu S ketch> Export compiled Binary . Dadurch wird eine neue BIN- Datei in Ihrem Skizzenordner erstellt.
Gehen Sie nun zur OTA-Webseite, klicken Sie auf die Schaltfläche " Datei auswählen " und wählen Sie die .bin- Datei aus. Klicken Sie anschließend auf die Schaltfläche "Aktualisieren" , um die Skizze hochzuladen.
Auf diese Weise kann ESP32 mit OTA ohne serielle Kommunikation programmiert werden.