Forum: Mikrocontroller und Digitale Elektronik NodeMcu Board ständig wdt Reset


von Alex (Gast)


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

von Pete K. (pete77)


Lesenswert?

Zu schwaches Netzteil oder zu dünnes Kabel?

von Alex (Gast)


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

von Michael U. (amiga)


Lesenswert?

Hallo,

mit welcher Firmware drauf? NodeLUA oder eigene Software?
Wenn eigene: welche?

Gruß aus Berlin
Michael

von Alex (Gast)


Lesenswert?

Ich denke es war bei der Lieferung NodeLUA drauf.
Es ist dieses Modul: http://amzn.to/2g1LKD2

Da ich aber mit der Arduino IDE programmiere, wird die ja überschrieben.

von Pete K. (pete77)


Lesenswert?

Vielleicht hilft dieser Link:
https://github.com/esp8266/Arduino/issues/1013

Siehe Kommentar von h4rm0n1c

von Alex (Gast)


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.

von Pete K. (pete77)


Lesenswert?

Was für ein Netzteil benutzt Du?

von Alex (Gast)


Lesenswert?

Hab ihn am PC, sonst würde ich ja Log nicht sehen!
Hab ihm aber auch schon an Powerback gehabt, scheinbar das gleiche

von Εrnst B. (ernst)


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.

: Bearbeitet durch User
von Alex (Gast)


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
}

von Jan L. (ranzcopter)


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...

von Alex (Gast)


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
  }

von Alex (Gast)


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.

von Michael U. (amiga)


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

von Alex (Gast)


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!

von Alex (Gast)


Lesenswert?

Das Problem scheint schon mal bei jemanden aufgetreten zu sein:
Beitrag "Node MCU und WeMos D1 immer wdt reset"

von Alex (Gast)


Lesenswert?

Das Problem scheint schon mal bei jemanden aufgetreten zu sein,
hie rin dem Thread: Beitrag "Node MCU und WeMos D1 immer wdt reset"

von Michael U. (amiga)


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

von Jan L. (ranzcopter)


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...

von Luigi A. (spok)


Lesenswert?

Hatte das selbe Phänomen, hab erstmal gedacht es liegt an defekter 
ESP8266 Lieferung. Nach dem dritten Modul habe dann die Einstellungen 
angepasst: Flashsize von 4M auf 1M(64KSPIFFS) runter. Danach neu 
geflasht und alle Module liefen.

von Luigi A. (spok)


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.

von Stefan F. (Gast)


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.

von tomy (Gast)


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

von Εrnst B. (ernst)


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)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.