ArduinoOTA und Schrödingers Katze

Gast #6858512
Lesenswert?

Hi,

ich habe eigentlich ein ziemlich einfaches Script um meine ESP32 via OTA 
zu flashen.

1
#include <Arduino.h>
2

3
//OTA/Appsize beachten...
4
#include <WiFi.h>
5
#include <WiFiClientSecure.h>
6
#include <ESPAsyncWebServer.h>
7

8
#include <ArduinoOTA.h>
9

10
#include "FS.h"
11
#include "SPIFFS.h"
12
#define FORMAT true
13

14
#define OTA_NAME "TEST-DEVICE"
15
#define PASSWORD "TestPWD"
16

17
void handleWiFi(); void testWiFi();
18

19

20
const char* ssid = "xxxx";
21
const char* pass = "xxxx";
22

23

24
WiFiClientSecure clientTCP;
25
AsyncWebServer server(80);
26

27

28
void setup() {
29
  Serial.begin(115200);
30
  Serial.println();
31

32
  if(!SPIFFS.begin(true)){
33
    Serial.println("SPIFFS Mount Failed");
34
  }
35
  if(FORMAT)
36
    SPIFFS.format();
37
  
38

39
  handleWiFi();
40

41
  ArduinoOTA.setHostname(OTA_NAME);
42
  //ArduinoOTA.setPassword(PASSWORD);
43
  ArduinoOTA.begin();
44
}
45

46

47

48
void loop(void) {
49
  ArduinoOTA.handle();
50
  delay(1);
51
}
52

53
void handleWiFi() {
54
  WiFi.mode(WIFI_STA);
55
  WiFi.begin(ssid, pass);
56
  Serial.println();
57

58
  while (WiFi.status() != WL_CONNECTED) {
59
    delay(500);
60
    Serial.print(".");
61
  }
62
  Serial.println();
63

64
  if (WiFi.status() == WL_CONNECTED) {
65
    Serial.println("erfolgreich verbunden");
66

67
    Serial.println();
68
    Serial.print("Connected to ");
69
    Serial.println(ssid);
70
    Serial.print("IP address: ");
71
    Serial.println(WiFi.localIP());
72
  }
73

74
  server.on("/", HTTP_GET, [](AsyncWebServerRequest * request) {
75
    request->send(200, "text/plain", "OK");
76
  });
77

78
  server.begin();
79
  Serial.println("HTTP server started");
80
}

jetzt zu Schrödingers Katze. Wenn ich mein ESP beobachte und Serial ran 
hänge...

d.h. ich beobachte COM5 und schreibe auf 192.168.... dann funktioniert 
das OTA. Wenn ich aber nicht beobachte und keine Serielle Verbindung 
habe, kann ich nicht flashen. Der Fehler:
[ERROR]: No response from the ESP

in der Fritzbox wird er aber erkannt, d.h. er hat eine WiFi-Verbindung. 
Hat jemand ne Idee was ich falsch gemacht haben könnte?

Danke :)
#6858574
Lesenswert?

Hallo,

mal Deinen Sketch auf einen ESP32 D1 mini geflasht.
OTA flashen geht in jeder Lebenslage stabil, auch ohne PC mit Powerbank 
als Stromversorgung

Janina schrieb:
> d.h. ich beobachte COM5 und schreibe auf 192.168.... dann funktioniert
> das OTA. Wenn ich aber nicht beobachte und keine Serielle Verbindung
> habe, kann ich nicht flashen. Der Fehler:
> [ERROR]: No response from the ESP

Wie machst Du das? Mit einem getrennten Terminalprogramm?
Die ArduinoIDE schließt den seriellen Monitor doch sowieso wenn man als 
Port den OTA-Port auswählt.

Gruß aus Berlin
Michael
Gast #6859381
Lesenswert?

Hi, konnte das Problem lösen...

ich hatte einen Wackelkontakt auf der Platine, und als ich den Stecker 
drauf gedrückt habe, hat sich dieser zu einer Stabilen Verbindung 
(zwischen ESP und Platine) aufgebaut. Nachlöten hat geholfen :)

...

zum Testaufbau (falls es Interesse gibt).
Ich flashe mit PlatformIO (übers Netzwerk) und mit einem anderen Rechner 
(hier nicht notwendigerweise mit Arduino IDE) schau ich was der Chip 
macht (Serielle Verbindung).


Danke für jeden Tipp... konnte das Problem lösen :)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren