Im Regelfall wird für das Hochladen des Programms ein USB-Anschluss verwendet. Bei den Mikrocontrollern mit einem WiFi-Modul besteht die Möglichkeit, das Programm über die drahtlose Verbindung hochzuladen. Wenn die Mikroontroller mit einem externen Netzteil betrieben werden, können Programm auch ohne Computer und USB-Anschluss hochgeladen werden.
Installiere zunächst die benötigte Bibliothek:

Das Basisprogramm für die Nutzung von Over The Air (OTA):
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
#ifdef ESP8266 #include "ESP8266WiFi.h" #else #include "WiFi.h" #endif #include "ArduinoOTA.h" // Name des Router/Passwort char Router[] = "Router_SSID"; char Passwort[] = "xxxxxxxx"; void setup() { Serial.begin(9600); delay(1000); Serial.println("Starte ..."); // Verbindung aufbauen WiFi.mode(WIFI_STA); WiFi.begin(Router, Passwort); while (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.println("Keine Verbindung, neuer Versuch..."); delay(2000); ESP.restart(); } // OTA starten ArduinoOTA.begin(); // Rechnername setzen ArduinoOTA.setHostname("ESP"); // Passwort zum Hochladen setzen // Passwortabfrage vor dem Hochladen entfällt ArduinoOTA.setPassword("xxxxxxxx"); Serial.println("Verbindung erfolgreich hergestellt!"); Serial.print("IP Adresse: "); Serial.println(WiFi.localIP()); } void loop() { // Updates über OTA ermöglichen ArduinoOTA.handle(); } |
Im Seriellen Monitor siehst du die IP-Adresse mit der die Verbindung hergestellt wurde.

Nach dem Hochladen siehst du neben dem bisher verwendeten USB-Port den hinzugefügten Netzwerkport.

Nach der Eingabe eines beliebigen Passworts wird das Hochladen gestartet. Wenn du ein Passwort gesetzt hast (ArduinoOTA.setPassword(„xxxxxxxx“) entfällt dieser Schritt.

Am Beispiel des Blink-Programms soll die Verwendung von OTA erläutert werden.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
#ifdef ESP8266 #include "ESP8266WiFi.h" #else #include "WiFi.h" #endif #include "ArduinoOTA.h" char Router[] = "Router_SSID"; char Passwort[] = "xxxxxxxx"; /* interne LEDs Arduino Nano ESP32 -> D13 Wemos D1 Mini D4 ESP32-Wroom -> 2 */ int LED = D13; void setup() { Serial.begin(9600); delay(1000); Serial.println("Starte ..."); WiFi.mode(WIFI_STA); WiFi.begin(Router, Passwort); while (WiFi.waitForConnectResult() != WL_CONNECTED) { Serial.println("Keine Verbindung, neuer Versuch..."); delay(2000); ESP.restart(); } ArduinoOTA.begin(); ArduinoOTA.setHostname("ESP"); ArduinoOTA.setPassword("xxxxxxxx"); Serial.println("Verbindung erfolgreich hergestellt!"); Serial.print("IP Adresse: "); Serial.println(WiFi.localIP()); pinMode(LED, OUTPUT); } void loop() { ArduinoOTA.handle(); digitalWrite(LED, HIGH); delay(1000); digitalWrite(LED, LOW); delay(1000); } |
letzte Aktualisierung: