ich versuche nun seit gefühlt einer Woche ArduinoOTA zu verwenden, was leider bisher nicht funktioniert hat.
Nun habe ich erstmal grundsätzliche Fragen:
Mit welcher Python-Version muss ich arbeiten?
Funktioniert die IDE 2.3.2 für diese Anwendung?
Ist der serielle Monitor über Netzwerk nutzbar?
Ich hatte anfänglich das Problem, dass ich keinen Port bekommen habe. Nun ist es so, das "sending invitation" nicht beantwortet wird.
Ich arbeite mit Linux, IDE 2.3.2 und dem ESP32 Dev Module.
Im englischen Teil des Forum müssen die Beiträge und Diskussionen in englischer Sprache verfasst werden. Deswegen wurde diese Diskussion in den deutschen Teil des Forums verschoben.
Habe laut Beschreibung die portable Version der IDE 1.8.19 benutzt.
Mit dem Beispiel BasicOTA und mit dem laut Github installierte AurduinoOTA erhalte ich folgende Meldung beim Versuch über die Netzwerkschnittstelle den Sketch hochzuladen:
Sending invitation to 192.168.xxx.xxx
09:52:41 [ERROR]: No response from device
Um den ESP32 im Netzwerk zu "finden" nutze ich den Angry IP Scanner:
die Adresse wird gefunden, ein Hostname wird nicht ausgegeben, ein offenen Port 65280 wird angezeigt.
Das ist der Sketch mit der Bibliothek ArduinoOTA gemäß Github:
#include <WiFi.h> // For connecting ESP32 to WiFi
#include <ArduinoOTA.h> // For enabling over-the-air updates
const char* ssid = "ssid"; // Change to your WiFi Network name
const char* password = "password"; // Change to your password
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password); // Connect to WiFi - defaults to WiFi Station mode
// Ensure WiFi is connected
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
// start the WiFi OTA library with internal (flash) based storage
ArduinoOTA.begin(WiFi.localIP(), "Arduino", "password", InternalStorage);
// you're connected now, so print out the status:
printWifiStatus();
}
void loop() {
ArduinoOTA.handle(); // Handles a code update request
// All loop you're code goes here.
}
void printWifiStatus() {
// print the SSID of the network you're attached to:
Serial.print("SSID: ");
Serial.println(WiFi.SSID());
// print your WiFi shield's IP address:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
// print the received signal strength:
long rssi = WiFi.RSSI();
Serial.print("signal strength (RSSI):");
Serial.print(rssi);
Serial.println(" dBm");
}
Wenn ich in der IDE als Port die Netzwerkverbindung auswähle, funktioniert der serielle Monitor nicht mehr.
Oder was meinst Du mit:
Was siehst du an der seriellen Schnittstelle (USB) des Ziels?
Öffne mal ein Terminal-Programm (Putty o.ä.) und geb als Verbindung die serielle Schnittstelle mit 115200 Bd an und verbinde mit dem ESP.
Beim OTA download sollte dann was ausgegeben werden, evtl sogar schon bei einem Verbindungsversuch einige Meldungen.
In deinem sketch fehlen aber die OTA - Routinen...
Lade mal das Beispiel aus der IDE (BasicOTA) in den ESP und versuch's damit.
Ausgabe IDE:
Der Sketch verwendet 945333 Bytes (72%) des Programmspeicherplatzes. Das Maximum sind 1310720 Bytes.
Globale Variablen verwenden 49028 Bytes (14%) des dynamischen Speichers, 278652 Bytes für lokale Variablen verbleiben. Das Maximum sind 327680 Bytes.
Sending invitation to 192.168.xxx.xxx
14:26:55 [ERROR]: No response from device
14:26:55 [ERROR]: No response from device
Ab jetzt wirds zu speziell, kann nicht mehr helfen.
Vermutung: ESP verliert Verbindung, möglicherweise ist ein Port im Netzwerk/PC gesperrt, zumindest würde ich in dieser Richtung weitersuchen.
warum nicht in der IDE 2.x den Netzwerk-Port statt Com-Port zum flashen verwenden? Wenn ein OTA Sketch vorher per USB/Com-Port geflasht wurde muss das funktionieren. Funktionierte bei mir auf Anhieb.
Was für einen Telnet-Server hast Du auf Deinem ESP, damit Du mit Putty darauf zugreifen kannst?
Das weiß ich nicht, ich mache nur Basics. Bedeutet Auspacken, mit PC verbinden und Sketche ausprobieren. Und da ich mir ein paar Wlan-Module gekauft hatte und zufällig über OTA gestolpert bin, war das für interessant.
Ab jetzt wirds zu speziell, kann nicht mehr helfen.
Vermutung: ESP verliert Verbindung, möglicherweise ist ein Port im Netzwerk/PC gesperrt, zumindest würde ich in dieser Richtung weitersuchen.
Die Verbindung wird nicht verloren. ich versuche ja direkt nach dem Hochladen des Sketch eine Verbindung über Wlan. Ich vermute auch etwas mit meinen Einstellungen, weil es ja beim Rest der Welt auf Anhieb funktioniert. Nur weiß ich nicht, was man alles einstellen bzw. verstellen kann. Oder was vorhanden sein muss, damit es funktioniert.
Ich habe schon einiges probiert und komme immer auf das gleiche Ergebnis: die IDE sieht den Teilnehmer im Netzwerk, aber es kommt nicht zur Übertragung.
Die Ausgabe am Putty beweist, dass der OTA-Sketch auf dem ESP läuft.
Es wird ein Anfang der Übertragung erkannt, dann aber abgebrochen.
Schau mal auf deine Einstellungen in der IDE ob es Einstellungen für Flash / OTA / Filesystem gibt....
Edit: Stichwort "Partition scheme"