Logging in Datei auf SD-Karte

Hallo zusammen,

ich hab das Problem, dass mein ESPuino gelegentlich crashed, natürlich findet der Crash nicht statt, wenn ich per Kabel und Console am Rechner hänge.

Der Crash findet beim abspielen statt, ich kann weder zuordnen welche .mp3 zu dem Zeitpunkt lief, noch ob Tasten-Inputs stattfinden. Anschließend startet der ESPuino nicht mehr und jedes 2. Licht der LEDs leuchten.

Gibt es ne Möglichkeit das logging auf SD-Karte zu schreiben, hier sollte ja ein Ringspeicher reichen, der die letzten 30 / 60 / 90 min aufzeichnet, damit die Datei nicht endlos groß wird. (Sollte natürlich wieder deaktivierbar sein, um die schreib/lese Zugriffe zu reduzieren.

Für alternativen zum Debugger beim Crash bin ich auch dankbar.

Benutzt du einen aktuellen SW-Stand?
Vielleicht würde das ja schon dein Problem beheben.

ja, ist der aktuelle aus dem master-Branch.

Also ich bin ehrlich gesagt kein großer Fan davon, ständig Kram auf die SD-Karte zu loggen. Weil SD-Karten verschleißen damit schneller. Leute, die mal längere Zeit einen Raspi mit uSD-Karte im Einsatz hatten, kennen das Problem sicherlich.

Es ist auch einigermaßen unklar, ob der Moment, der dich interessiert, dann wirklich noch auf der SD drauf ist. Aber ich hatte so ein Problem mal mit dem ESP32, den ich für die Gartenbewässerung einsetze. Dem habe ich dann einen zweiten ESP32 spendiert, der die serielle Ausgabe ausgelesen und an einen Syslog-Server geschickt hat. Die Lösung ist natürlich ein bisschen nerdig, aber hat ihren Zweck definitiv erfüllt.

Kannst du (ein bisschen) programmieren? Weil wenn du das wirklich per SD versuchen möchtest, dann musst dir ja eigentlich nur die Log.cpp hernehmen und SdCard.h inkludieren. Und ganz generell mal in die SdCard.cpp schauen, wie man auf dem Dateisystem so arbeitet. Also der Weg sollte nicht weit sein.

was machst du, damit er wieder funktionstüchtig wird. Strom aus / ein?

Welche Hardware hast du - Platine oder Breadboard?

Sieht mir nach instabilen Hardwareverhältnissen aus.

Versucht, in dem Zustand, wo er nicht mehr reagiert und jede 2. LED leuchtet, an den PC anzuschließen und den SerialMonitor zu starten, oder hängte er zu diesem Zeitpunkt an der Stromversorgung?

Ja, programmieren kann ich und ich hab auch schon mit dem ESP32 und SD Karte gearbeitet, muss ich mal sehen wann ich dazu komme. War nur als Frage gedacht, ob so etwas schon mal implementiert wurde (und nein, ich möchte nicht, dass du da schon wieder was machst :wink: )
Ich bin auch kein Freund von dauerzugriff auf die SD-Karte, deswegen hängen an meine Raspis auch SSD Festplatten. Die Lösung wäre auch nur zum debuggen gedacht.

Der ESP ist Batterie betrieben, wenn ich im crashed Zustand die Stromversorgung oder Console anhänge passiert nichts.
Ich hab nen Ein/Aus Schalter zum Neustarten.
(Ich hab auch schon Spannungsschwankungen vermutet, da das Ding gelegentlich durch die Gegend fliegt, aber nach ersten Messungen kann ich das ausschließen)

Kurzes Update:

Nach etlichen Versuchen, ist meine Vermutung, dass die Versorgungsspannung im Betrieb immer wieder einbricht.
Meinen Messungen nach liegt der Fehler wohl auf der Platine ( Ich hatte am Anfang ja auch Probleme mit dem Laden ), die Batteriespannung bleibt konstant.

Mit angeschlossener Powerbank hab ich keine Reboots.

Welche Hardware verwendest du genau?

D32 FePo Mit der Platine von dir inkl. Headphone.

Einmal hast du mir dann sogar den Baustein du die Ladeelektronik neu aufgelötet.

(Juli/August 2022)

@greewoo Ich hatte dir zwischenzeitlich ja ein neues Develboard geschickt. Jetzt passt alles, oder?

Ja, deutlich besser. Sind nur noch minimale Aussetzer mit reboot.

Danke.

Hmm, also Aussetzer sollte es da gar keine geben.
Also insgesamt ist es nicht auszuschließen, dass es aufgrund eines SW-Fehlers mal zu einem Neustart kommt. Aber eigentlich passiert das recht selten.
Gut, was sicherlich zu (schwer reproduzierbaren) Problemen führen kann, sind lokale WLAN-Probleme jeglicher Art.

@greewoo Du könntest die serielle Ausgabe des Crash/Neustarts hier mal posten, oft kann man am Stacktrace sehen was die Ursache ist

1 „Gefällt mir“