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
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
Hallo, mit welcher Firmware drauf? NodeLUA oder eigene Software? Wenn eigene: welche? Gruß aus Berlin Michael
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.
Vielleicht hilft dieser Link: https://github.com/esp8266/Arduino/issues/1013 Siehe Kommentar von h4rm0n1c
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.
Hab ihn am PC, sonst würde ich ja Log nicht sehen! Hab ihm aber auch schon an Powerback gehabt, scheinbar das gleiche
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
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 | } |
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...
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 | } |
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.
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
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!
Das Problem scheint schon mal bei jemanden aufgetreten zu sein: Beitrag "Node MCU und WeMos D1 immer wdt reset"
Das Problem scheint schon mal bei jemanden aufgetreten zu sein, hie rin dem Thread: Beitrag "Node MCU und WeMos D1 immer wdt reset"
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
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...
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.
.. 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.
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.