NodeMcu Board ständig wdt Reset

Gast #4816895
Lesenswert?

Hi,
weiss jemand wodurch dieser Reset ständig beim NodeMcu Board ausgelöst 
wird? Und was bedeutet boot mode:(3,6) ?


wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld
Gast #4816909
Lesenswert?

Habe ich gerade ausprobiert, auch bei ganz kurzem dickeren Kabel kommt 
das gleiche:


 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld
ÿ


Exception (0):
epc1=0x402079bf epc2=èÂÿ
 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld

 ets Jan  8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v40106d8c
~ld
Gast #4817028
Lesenswert?

Danke für Link, wenn ich es richtig interpretiere ist es wohl der 
Watchdog Reset. Aber warum der ausgeführt wird bleibt unklar. Ich habe 
ein ganz einfaches Arduino Beispiel verwendet, der Fehler tritt auch bei 
fast allen Beispielen auf.
#4817044
Lesenswert?

Alex schrieb:
> Ich habe
> ein ganz einfaches Arduino Beispiel verwendet, der Fehler tritt auch bei
> fast allen Beispielen auf.

Das ist das Problem bei den ganz einfachen Beispielen: Die verbraten 
alle Rechenzeit, und lassen keine für die Wlan-Verwalung übrig, bis der 
Watchdog zuschlägt.

Mach in deine loop() und in alle anderen Schleifen, die länger als ein 
paar ms laufen können, ein "yield()" oder "delay(x)" rein.
Gast #4817057
Lesenswert?

Eigentlich ist da keine langsame Schleife, hier mal der Code:
1
#include <ESP8266WiFi.h>
2

3
const char* ssid = "mein-ssid";
4
const char* password = "mein-password";
5

6
// Create an instance of the server
7
// specify the port to listen on as an argument
8
WiFiServer server(80);
9

10
void setup() {
11
  Serial.begin(115200);
12
  delay(10);
13

14
  // prepare GPIO2
15
  pinMode(2, OUTPUT);
16
  digitalWrite(2, 0);
17
  
18
  // Connect to WiFi network
19
  Serial.println();
20
  Serial.println();
21
  Serial.print("Connecting to ");
22
  Serial.println(ssid);
23
  
24
  WiFi.begin(ssid, password);
25
  
26
  while (WiFi.status() != WL_CONNECTED) {
27
    delay(500);
28
    Serial.print(".");
29
  }
30
  Serial.println("");
31
  Serial.println("WiFi connected");
32
  
33
  // Start the server
34
  server.begin();
35
  Serial.println("Server started");
36

37
  // Print the IP address
38
  Serial.println(WiFi.localIP());
39
}
40

41
void loop() {
42
  // Check if a client has connected
43
  WiFiClient client = server.available();
44
  if (!client) {
45
    return;
46
  }
47
  
48
  // Wait until the client sends some data
49
  Serial.println("new client");
50
  while(!client.available()){
51
    delay(1);
52
  }
53
  
54
  // Read the first line of the request
55
  String req = client.readStringUntil('\r');
56
  Serial.println(req);
57
  client.flush();
58
  
59
  // Match the request
60
  int val;
61
  if (req.indexOf("/gpio/0") != -1)
62
    val = 0;
63
  else if (req.indexOf("/gpio/1") != -1)
64
    val = 1;
65
  else {
66
    Serial.println("invalid request");
67
    client.stop();
68
    return;
69
  }
70

71
  // Set GPIO2 according to the request
72
  digitalWrite(2, val);
73
  
74
  client.flush();
75

76
  // Prepare the response
77
  String s = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nGPIO is now ";
78
  s += (val)?"high":"low";
79
  s += "</html>\n";
80

81
  // Send the response to the client
82
  client.print(s);
83
  delay(1);
84
  Serial.println("Client disonnected");
85

86
  // The client will actually be disconnected 
87
  // when the function returns and 'client' object is detroyed
88
}
#4817151
Lesenswert?

Alex schrieb:
> Eigentlich ist da keine langsame Schleife, hier mal der Code:

Schleife kann ja auch "ganz schnell" sein, und trotzdem lange genug 
blockieren; vielleicht reicht schon der Anfang:
1
void loop() {
2
  // Check if a client has connected
3
  WiFiClient client = server.available();
4
  if (!client) {
5
    return;
6
  }

das Ding kann theoretisch unendlich lange loopen...
Gast #4817180
Lesenswert?

Auch wenn ich an dieser und anderen Stellen yield(); einfüge, keine 
Besserung!
1
void loop() {
2
  yield();
3
  // Check if a client has connected
4
  WiFiClient client = server.available();
5
  if (!client) {
6
    yield();
7
    return;
8
  }
Gast #4817186
Lesenswert?

Ich glaub es liegt an der Arduino Lib ESP8266. Ich hatte immer die 
aktuelle (2.3.0) genommen. Wenn ich die Vorgängerversion nehmen 2.2.0 
läuft alles perfekt, kein RESET mehr!
Da scheint wohl noch ein Bug drin zu sein, komisch das dies noch keiner 
bemerkt hat.
#4817198
Lesenswert?

Hallo,

ich habe Deinen Sketch gerade mal auf ein NodeMCU geflasht, nur meinen 
WLAN-Daten eingetragen.
Meldet sich ohne Probleme und schaltet den GPIO wie gewünscht.
Naja, ob er wirklich schaltet habe ich nicht geprüft, die Meldung im 
Bowser kommt jedenfalls.

IDE hier noch die 1.6.9 und ESP 2.3.0

Ich hatte mir auch schonmal einen ESP8266 so "zerlegt", daß er gesponnen 
hat.
Flashen mit der NodeLUA-Firmware oder Löschen des kompletten Flash oder 
neu schreiben passender Init-Daten hat ihn dann irgendwie wiederbelebt.

Kannst ja mal einen leeren Sketch flashen, ob er da auch crasht.

Gruß aus Berlin
Michael
Gast #4817207
Lesenswert?

Wenn es bei dir gleich die verbindung aufbaut dann ist das ok, das macht 
es bei mir garnicht erst.

Das heißt unter der Lib. 2.2.0 geht es ja bestens. Ich habe jetzt Lib 
mal wieder von 2.2 auf 2.3 geupdatet, dann geht es wieder nicht.
Also bei mir hat es definitiv mit der Lib zu tun.
Ein ganz einfache LED Blinkschleife gingt mit der 2.3.0 auch noch, aber 
alle Dinge mit WiFi scheinbar nicht.

Komisch das es bei dir geht!
#4817446
Lesenswert?

Hallo,

Alex schrieb:
> Das heißt unter der Lib. 2.2.0 geht es ja bestens. Ich habe jetzt Lib
> mal wieder von 2.2 auf 2.3 geupdatet, dann geht es wieder nicht.
> Also bei mir hat es definitiv mit der Lib zu tun.
> Ein ganz einfache LED Blinkschleife gingt mit der 2.3.0 auch noch, aber
> alle Dinge mit WiFi scheinbar nicht.

Änderungen im SDK, die nette Effekte bei irgendwelchen Funktionen 
erzeugten, die vorher noch gingen, gab es immer wieder mal...

Update hat bei mir bei den ESP-Sachen öfter mal nicht reibungslos 
geklappt.
Zwischen stable und stagung zu wecheln ging ohne deinstallieren immer 
schief.
Ich deinstalliere seitdem immer die alte Version, starte die IDE neu und 
installiere dann die neue.

Vieleicht etste ich mal mit er neuen IDE, bisher fehlte mir der Grund 
zum updaten.

Gruß aus Berlin
Michael
#4817493
Lesenswert?

Michael U. schrieb:
> Update hat bei mir bei den ESP-Sachen öfter mal nicht reibungslos
> geklappt.
> Zwischen stable und stagung zu wecheln ging ohne deinstallieren immer
> schief.
> Ich deinstalliere seitdem immer die alte Version, starte die IDE neu und
> installiere dann die neue.

ACK; ich musste auch mal händisch im Appdata\Arduino15 Verz. aufräumen, 
damit der ESP-Kram wieder tat. Allerdings hatte ich nie solche subtilen 
Fehler, eher was beim Linken...
#5434597
Lesenswert?

.. muss meinen letzten Beitrag revidieren. Es lag bei mir an der 
Versorgungsspannung. Die Zuleitungen zum Breadboard waren wackelig 
dadurch gab es instabilitäten und einen schlechten Übergangswiderstand. 
Neu gesteckt und 100uF Elko an die Versorgungsspannung haben das Problem 
erst behoben.
Gast #5434747
Lesenswert?

Schau Dir meine Hinweise an: http://stefanfrings.de/esp8266/index.html

Das Breadboards nicht zur Stromversorgung dieser Module geeignet sind, 
und die Sache mit dem 100µF Kondensator habe ich dort beides deutlich 
aufgeschrieben.

Du findest dort auch einen Tip, wie man die Größe des Flash prüfen kann 
und welche Pins du entfernen solltest, damit das Breadbord die Funktion 
des Flash Speichers nicht stört.
Gast #6688214
Lesenswert?

Hi, hab genau das selbe Problem, mit 2 nodemcu lolin V3 und tippe es 
liegt an der Charge.

Da ich einen älteren habe, der ohne Probleme läuft.
Umstellen auf Version 2.2.0 hat auch nicht geholfen, selbe Resultat wie 
bei Version 2.7.4.

Hat inzwischen jemand eine Lösung die tut?

gruß tomy
#6688378
Lesenswert?

tomy schrieb:
> Hat inzwischen jemand eine Lösung die tut?

Nachdem auf den Post von Stefan @ 26.05.2018 keine weiteren Nachfragen 
mehr gekommen sind, sind seine Tipps wohl eine gute Lösung.

(Postive/"Danke"-Rückmeldungen sind hier im Forum selten, deshalb ist 
die Abwesenheit von Negativen Rückmeldungen ein starkes Indiz, dass 
jetzt alles läuft)

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