Huhu.
Ich bastel ja an einer Webserver Steuerung für einen Wemos D1 Mini. Dazu wurde mir hier schon sehr geholfen. ESP8266Webserver HTML refresh - Deutsch - Arduino Forum
Jetzt wollte ich über den Webserver einen anderen Wemos D1 Mini Steuern. Dieser hat ein Relaismodul und soll eine Stehlampe an/ausschalten.
Wenn ich den Wemos D1 Mini mit dem RelaisModul direkt über den Browser steuer, funktioniert er einwandfrei.
Wenn ich den Wemos D1 Mini mit dem RelaisModul über den Webserver des ersten Wemos D1 Mini steuern will, stürzt der Wemos D1 Mini mit dem Webserver ab und bootet neu.
Über den Seriellen Monitor konnte ich die Stelle wo er Absturzstelle ziemlich genau ausmachen.
sender.begin("http://192.168.0.102/state"); // Status des anderen ESP abrufen (ESP mit Relais)
Eine Serielle Ausgabe direkt davor kommt noch im Monitor an. Eine Serielle Ausgabe direkt danach kommt nicht mehr im Monitor an.
Alles anderen Aktionen auf dem Webserver führen zu keinem Absturz und Reset. Dies habe ich getestet. Nur wenn ich in folgende If Abfrage gehe gibt es einen Absturz und Reset.
if (server.arg("relay") == String(0)) {
Serial.println("Befehl Relais kommt von Webseite");
sender.begin("http://192.168.0.102/state"); // Status des anderen ESP abrufen (ESP mit Relais)
sender.GET();
String empf_state = sender.getString(); // Empfanger Status wird der Varible übergeben
if(empf_state == "1") {
sender.begin("http://192.168.0.102/relay_off");
sender.GET();
sendstring = "r1off";
}
if(empf_state == "0") {
sender.begin("http://192.168.0.102/relay_on");
sender.GET();
sendstring = "r1on";
}
sender.end();
}
Serial.println("Befehl Relais kommt von Webseite");
kommt noch problemlos auf dem Seriellen Monitor an.
Folgende Meldung kommt im Seriellen Monitor bei Absturz.
19:30:14.616 -> Befehl Relais kommt von Webseite
19:30:15.631 ->
19:30:15.631 -> Exception (9):
19:30:15.631 -> epc1=0x40209d2c epc2=0x00000000 epc3=0x40101118 excvaddr=0x0000017a depc=0x00000000
19:30:15.665 ->
19:30:15.665 -> >>>stack>>>
19:30:15.665 ->
19:30:15.665 -> ctx: cont
19:30:15.665 -> sp: 3ffffc70 end: 3fffffc0 offset: 01a0
19:30:15.665 -> 3ffffe10: 00000001 13bc045c 3ffee864 40205578
19:30:15.665 -> 3ffffe20: 3ffe8774 3ffee858 3ffee864 402062c8
19:30:15.665 -> 3ffffe30: 0000001d 3fff02d4 3ffee864 4020665c
19:30:15.665 -> 3ffffe40: 3ffee864 0000001d 3ffffe70 40206fd4
19:30:15.665 -> 3ffffe50: 3ffffe70 3ffffe70 3ffe8774 4020700a
19:30:15.665 -> 3ffffe60: 3ffee864 3ffee858 3ffee758 4020366e
19:30:15.699 -> 3ffffe70: 3fff0354 001d001f 00ffff18 616c0030
19:30:15.699 -> 3ffffe80: 3ffe0079 81fee77c 3ffee758 40206e10
19:30:15.699 -> 3ffffe90: 00000001 3ffee77c 3ffee758 402030c5
19:30:15.699 -> 3ffffea0: 00000000 00000001 3ffee954 00000001
19:30:15.699 -> 3ffffeb0: 3ffffef0 3ffefb9c 00000000 40201d28
19:30:15.699 -> 3ffffec0: 00000001 00000001 3ffefb74 40209ac2
19:30:15.699 -> 3ffffed0: 00000001 4020107c 3ffefb74 401000e1
19:30:15.733 -> 3ffffee0: 3ffefb74 3ffee798 3ffefb74 40201d5e
19:30:15.733 -> 3ffffef0: 3ffe0000 3fff0000 80fee9a0 80000030
19:30:15.733 -> 3fffff00: 3ffefb74 3ffee798 3ffee758 402037da
19:30:15.733 -> 3fffff10: 0000002f 80000000 81fefe00 0000008f
19:30:15.733 -> 3fffff20: 8000616c 0ecb4dca 40100200 0001bb3d
19:30:15.733 -> 3fffff30: 3ffee798 00000001 00000001 40100170
19:30:15.733 -> 3fffff40: 00000001 00000000 00000000 3ffee9a0
19:30:15.733 -> 3fffff50: 00000001 3ffee77c 3ffee758 3ffee9a0
19:30:15.767 -> 3fffff60: 00000001 3ffee77c 3ffee758 40203a94
19:30:15.767 -> 3fffff70: 40235533 00000000 00001388 feefeffe
19:30:15.767 -> 3fffff80: 3ffef30c 40204380 00000001 40100170
19:30:15.767 -> 3fffff90: 3fffdad0 00000000 3ffee960 40203b38
19:30:15.767 -> 3fffffa0: 3fffdad0 00000000 3ffee960 40208088
19:30:15.767 -> 3fffffb0: feefeffe feefeffe 3ffe8504 40100c01
19:30:15.767 -> <<<stack<<<
19:30:15.801 ->
19:30:15.801 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
19:30:15.801 ->
19:30:15.801 -> load 0x4010f000, len 1384, room 16
19:30:15.801 -> tail 8
19:30:15.801 -> chksum 0x2d
19:30:15.801 -> csum 0x2d
19:30:15.835 -> vffffffff
19:30:15.835 -> ~ld
19:30:15.835 -> ⸮cd`;⸮glph* ESP Gestartet
19:30:15.869 ->
19:30:15.869 ->
19:30:15.869 -> * Verbindung zu ***
19:30:16.378 -> .
19:30:16.378 -> * WLAN verbunden
19:30:16.378 -> * IP: 192.168.0.101
19:30:16.378 -> HTTP Server gestartet
Die Fehler Meldung variert aber auch ab und zu. Es gibt Exception (9) wie auch Exception (29).
Wenn ich das richtig verstanden habe passiert dort etwas unerwartetes im Cache.
Das Fehlermeldung Übersetzungstoll konnte ich irgendwie nicht richtig installieren. Das erscheint nach dem Neustart der Arduino IDE nicht im Werkzeug Reiter.
Die kompletten Codes habe ich mal angehangen.
Weis jemand warum der Wemos D1 mini an dieser Stelle aussteigt?
Kann jemand die Fehlermeldung übersetzen?
Habe ich eine Fehler im Code?
Was kann ich tun, damit es funktioniert?
Danke
mein_webschalter.ino (5.53 KB)
index_html.h (8.73 KB)
Relay.ino (2.21 KB)