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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.