NEWS
Wasserzähler - Version 2 - all-in-device
-
Hallo,
erstmal vielen dank für das super Stück Software :).
Hab zuvor bereits die ältere Version mit einem Docker-Container benutzt und bin vor einigen Tagen auf die neue Version umgestiegen. Die Umstellung hat super funktioniert, danach ist der Zähler einige Tage stabil gelaufen, zum Schluß mit MQTT.
Vor paar Tagen gab es auf einmal keine Daten mehr und das Webinterface war auch nicht mehr erreichbar ohne dass ich etwas geändert hätte.
Nach einem Reset ist das Webinterface wieder erreichbar, Bilder werden aktualisiert, die Auswertung der Zahler funktioniert aber nicht mehr.
Hab bereits Firmware und HTML-Verzeichnis auf Git-Rev. 2ab2f07 gebracht und auch paar Einstellungen in der Konfig getestet, alles ohne Erfolg
2020-11-05_00-12-53: ============================== Main Started ======================================= 2020-11-05_00-12-57: task_autodoFlow - next round 2020-11-05_00-12-57: FlowControll.doFlow - ClassFlowMakeImage 2020-11-05_00-12-57: handler_wasserzaehler 2020-11-05_00-12-57: handler_wasserzaehler 2020-11-05_00-12-57: handler_prevalue 2020-11-05_00-13-03: FlowControll.doFlow - ClassFlowAlignment 2020-11-05_00-13-09: handler_ota_update 2020-11-05_00-13-09: upload_post_handler 2020-11-05_00-13-20: download_get_handler 2020-11-05_00-13-30: handler_ota_update 2020-11-05_00-14-21: handler_ota_update 2020-11-05_00-14-22: upload_post_handler 2020-11-05_00-14-22: download_get_handler 2020-11-05_00-14-30: handler_ota_update 2020-11-05_00-14-44: handler_reboot 2020-11-05_00-14-44: Reboot - now 2020-11-05_00-15-31: ============================== Main Started ======================================= 2020-11-05_00-15-34: task_autodoFlow - next round 2020-11-05_00-15-34: FlowControll.doFlow - ClassFlowMakeImage 2020-11-05_00-15-40: FlowControll.doFlow - ClassFlowAlignment 2020-11-05_00-15-41: handler_wasserzaehler 2020-11-05_00-15-42: handler_wasserzaehler 2020-11-05_00-15-42: handler_prevalue 2020-11-05_00-15-46: handler_wasserzaehler 2020-11-05_00-15-46: handler_wasserzaehler 2020-11-05_00-15-46: handler_prevalue 2020-11-05_00-16-28: FlowControll.doFlow - ClassFlowDigit 2020-11-05_00-17-14: ============================== Main Started ======================================= 2020-11-05_00-17-18: task_autodoFlow - next round 2020-11-05_00-17-18: FlowControll.doFlow - ClassFlowMakeImage 2020-11-05_00-17-25: FlowControll.doFlow - ClassFlowAlignment 2020-11-05_00-18-15: FlowControll.doFlow - ClassFlowDigit 2020-11-05_00-19-14: ============================== Main Started ======================================= 2020-11-05_00-19-18: task_autodoFlow - next round 2020-11-05_00-19-18: FlowControll.doFlow - ClassFlowMakeImage 2020-11-05_00-19-21: handler_wasserzaehler 2020-11-05_00-19-21: handler_wasserzaehler 2020-11-05_00-19-21: handler_prevalue 2020-11-05_00-19-23: FlowControll.doFlow - ClassFlowAlignment 2020-11-05_00-19-26: handler_wasserzaehler 2020-11-05_00-19-33: download_get_handler 2020-11-05_00-19-33: download_get_handler 2020-11-05_00-19-57: download_get_handler 2020-11-05_00-20-05: download_get_handler code_text
-
@jomjol mir gehts leider ähnlich wie @Zwer2k
Das Teil lief, seit 21.10. seit dem ich MQTT mit eingebunden hab, tadellos durch bis zum 02.11.
Komme zwar noch auf die Seite, aber es wird nichts mehr übertragen und auch nichts ausgewertet.
Hier ein Teil des Logs dazu:2020-11-02_04-36-01: task_autodoFlow - next round 2020-11-02_04-36-01: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_04-36-06: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_04-36-38: FlowControll.doFlow - ClassFlowDigit 2020-11-02_04-36-56: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_04-38-00: FlowControll.doFlow - ClassFlowPostProcessing 2020-11-02_04-38-00: FlowControll.doFlow - ClassFlowMQTT 2020-11-02_04-38-00: sent publish successful in MQTTPublish, msg_id=31982, watermeter/readout, 601.5236 2020-11-02_04-38-00: task_autodoFlow - round done 2020-11-02_04-38-00: CPU Temperature: 53.3 2020-11-02_04-47-01: task_autodoFlow - next round 2020-11-02_04-47-01: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_04-47-06: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_04-47-38: FlowControll.doFlow - ClassFlowDigit 2020-11-02_04-47-56: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_04-49-00: FlowControll.doFlow - ClassFlowPostProcessing 2020-11-02_04-49-00: FlowControll.doFlow - ClassFlowMQTT 2020-11-02_04-49-00: sent publish successful in MQTTPublish, msg_id=21424, watermeter/readout, 601.5236 2020-11-02_04-49-00: task_autodoFlow - round done 2020-11-02_04-49-00: CPU Temperature: 56.1 2020-11-02_04-58-01: task_autodoFlow - next round 2020-11-02_04-58-01: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_04-58-06: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_04-58-38: FlowControll.doFlow - ClassFlowDigit 2020-11-02_04-58-56: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-04-39: ============================== Main Started ======================================= 2020-11-02_05-04-44: task_autodoFlow - next round 2020-11-02_05-04-44: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-05-12: ============================== Main Started ======================================= 2020-11-02_05-05-16: task_autodoFlow - next round 2020-11-02_05-05-16: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-05-21: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-05-53: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-06-11: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-06-59: ============================== Main Started ======================================= 2020-11-02_05-07-03: task_autodoFlow - next round 2020-11-02_05-07-03: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-07-31: ============================== Main Started ======================================= 2020-11-02_05-07-35: task_autodoFlow - next round 2020-11-02_05-07-35: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-07-40: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-08-12: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-08-29: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-09-17: ============================== Main Started ======================================= 2020-11-02_05-09-21: task_autodoFlow - next round 2020-11-02_05-09-21: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-09-26: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-09-58: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-10-15: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-11-03: ============================== Main Started ======================================= 2020-11-02_05-11-07: task_autodoFlow - next round 2020-11-02_05-11-07: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-11-12: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-11-43: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-12-01: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-12-48: ============================== Main Started ======================================= 2020-11-02_05-12-52: task_autodoFlow - next round 2020-11-02_05-12-52: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-12-57: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-13-29: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-13-46: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-14-34: ============================== Main Started ======================================= 2020-11-02_05-14-38: task_autodoFlow - next round 2020-11-02_05-14-39: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-14-44: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-15-16: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-15-33: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-16-21: ============================== Main Started ======================================= 2020-11-02_05-16-26: task_autodoFlow - next round 2020-11-02_05-16-26: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-16-54: ============================== Main Started ======================================= 2020-11-02_05-16-58: task_autodoFlow - next round 2020-11-02_05-16-58: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-17-03: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-17-35: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-17-52: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-18-40: ============================== Main Started ======================================= 2020-11-02_05-18-44: task_autodoFlow - next round 2020-11-02_05-18-44: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-18-49: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-19-21: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-19-38: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-20-26: ============================== Main Started ======================================= 2020-11-02_05-20-30: task_autodoFlow - next round 2020-11-02_05-20-30: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-20-36: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-21-07: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-21-24: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-22-12: ============================== Main Started ======================================= 2020-11-02_05-22-16: task_autodoFlow - next round 2020-11-02_05-22-16: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-22-22: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-22-53: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-23-10: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-23-59: ============================== Main Started ======================================= 2020-11-02_05-24-03: task_autodoFlow - next round 2020-11-02_05-24-03: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-24-08: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-24-40: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-24-57: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-25-45: ============================== Main Started ======================================= 2020-11-02_05-25-49: task_autodoFlow - next round 2020-11-02_05-25-49: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-25-54: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-26-26: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-26-43: FlowControll.doFlow - ClassFlowAnalog 2020-11-02_05-27-31: ============================== Main Started ======================================= 2020-11-02_05-27-34: task_autodoFlow - next round 2020-11-02_05-27-35: FlowControll.doFlow - ClassFlowMakeImage 2020-11-02_05-27-40: FlowControll.doFlow - ClassFlowAlignment 2020-11-02_05-28-11: FlowControll.doFlow - ClassFlowDigit 2020-11-02_05-28-29: FlowControll.doFlow - ClassFlowAnalog
Heute einen Reboot über die Software gemacht, geht aber trotzdem leider nicht.
Hard Reboot werde ich noch versuchen.2020-11-04_21-28-24: ============================== Main Started ======================================= 2020-11-04_21-28-28: task_autodoFlow - next round 2020-11-04_21-28-28: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-28-33: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-29-02: handler_wasserzaehler 2020-11-04_21-29-02: handler_wasserzaehler 2020-11-04_21-29-02: handler_prevalue 2020-11-04_21-29-06: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-29-22: download_get_handler 2020-11-04_21-29-53: ============================== Main Started ======================================= 2020-11-04_21-29-57: task_autodoFlow - next round 2020-11-04_21-29-57: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-30-03: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-30-05: handler_reboot 2020-11-04_21-30-05: Reboot - now 2020-11-04_21-30-39: ============================== Main Started ======================================= 2020-11-04_21-30-43: task_autodoFlow - next round 2020-11-04_21-30-43: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-30-48: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-31-20: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-31-39: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-32-26: ============================== Main Started ======================================= 2020-11-04_21-32-30: task_autodoFlow - next round 2020-11-04_21-32-30: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-32-36: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-33-07: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-33-26: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-34-13: ============================== Main Started ======================================= 2020-11-04_21-34-17: task_autodoFlow - next round 2020-11-04_21-34-17: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-34-22: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-34-54: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-35-13: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-36-00: ============================== Main Started ======================================= 2020-11-04_21-36-03: task_autodoFlow - next round 2020-11-04_21-36-04: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-36-09: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-36-41: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-36-59: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-37-50: ============================== Main Started ======================================= 2020-11-04_21-37-54: task_autodoFlow - next round 2020-11-04_21-37-54: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-37-59: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-38-29: handler_wasserzaehler 2020-11-04_21-38-29: handler_wasserzaehler 2020-11-04_21-38-30: handler_prevalue 2020-11-04_21-38-32: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-38-43: handler_wasserzaehler 2020-11-04_21-39-12: ============================== Main Started ======================================= 2020-11-04_21-39-15: task_autodoFlow - next round 2020-11-04_21-39-16: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-39-21: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-39-52: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-40-11: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-41-03: ============================== Main Started ======================================= 2020-11-04_21-41-06: task_autodoFlow - next round 2020-11-04_21-41-07: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-41-12: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-41-43: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-42-02: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-42-49: ============================== Main Started ======================================= 2020-11-04_21-42-53: task_autodoFlow - next round 2020-11-04_21-42-53: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-42-58: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-43-29: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-43-47: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-44-33: ============================== Main Started ======================================= 2020-11-04_21-44-37: task_autodoFlow - next round 2020-11-04_21-44-37: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-44-42: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-45-14: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-45-33: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-46-20: ============================== Main Started ======================================= 2020-11-04_21-46-23: task_autodoFlow - next round 2020-11-04_21-46-24: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-46-29: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-47-01: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-47-19: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-48-07: ============================== Main Started ======================================= 2020-11-04_21-48-11: task_autodoFlow - next round 2020-11-04_21-48-11: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-48-16: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-48-48: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-49-07: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-49-53: ============================== Main Started ======================================= 2020-11-04_21-49-57: task_autodoFlow - next round 2020-11-04_21-49-58: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-50-03: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-50-35: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-50-53: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-51-41: ============================== Main Started ======================================= 2020-11-04_21-51-45: task_autodoFlow - next round 2020-11-04_21-51-45: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-51-50: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-52-22: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-52-41: FlowControll.doFlow - ClassFlowAnalog 2020-11-04_21-53-27: ============================== Main Started ======================================= 2020-11-04_21-53-31: task_autodoFlow - next round 2020-11-04_21-53-31: FlowControll.doFlow - ClassFlowMakeImage 2020-11-04_21-53-37: FlowControll.doFlow - ClassFlowAlignment 2020-11-04_21-54-08: FlowControll.doFlow - ClassFlowDigit 2020-11-04_21-54-28: FlowControll.doFlow - ClassFlowAnalog
-
@coyote eventuell musst du die SD-Karte mal neu schreiben (formatieren und wieder bespielen).
-
@jomjol
Lag bei mir tatsächlich an der SD-Karte. Vielen Dank für den Hinweis.
Kann es sein, dass es an zu vielen Dateien auf der SD-Karte lag? Bei mir waren es 15.000 unter /log/analog und 30.000 unter /log/digital . Ist nicht die schnellste 8GB Karte, war mit 1,5GB belegt. Schon ein du -sh /log/analog auf einem Linux System hat ewig gedauert. Löschen von den Dateien hat nichts gebrach. Musste die Karte formatieren.Andere Frage: Gebt es eine Einstellmöglichkeit per MQTT nur gültige Werte als Zahle zu übertrage und nicht als String? Da kommen zum Teil auch Werte mit "N" vor und es gibt unschöne Log-Einträge
You are assigning a string to the state "javascript.0.vWasserzaehler" which expects a number
-
Hallo @Zwer2k,
zu 1) du kannst die Logfiles ausschalten - einfach in [Analog], [Digits] & [MakeImage] den Parameter LogImageLocationauskommentieren:;LogImageLocation = /log/source
zu 2) verwendest du den Modus "PreValueUse"?
[PostProcessing] PreValueUse = True
Da sollten dann sobald mal eine gültige Ziffer erkannt wurde, auch nur noch Werte ohne "N" übertragen werden. Bsp bei mir gerade:
Gruß,
jomjol -
Danke dir noch einmal @jomjol .
auf 1) hätte ich auch selbst kommen könne.
2) verwende ich bereits. Es kann aber sein, dass zu dem Zeitpunkt als ich die Meldung gesehen habe noch meine Test-Einstellungen die ich nach dem Crash durchprobiert habe. Jetzt habe ich wieder meine Sicherung zurück gespielt.Noch zwei/drei kurze Fragen:
- Wird um Energie zu sparen Modem-Sleep aktiviert? Oder gibt es dazu eine Einstellung?
- Mein Zähler sitzt nicht weit von meiner Heizung. Ist es denkbar, dass ich den Zähler als Gateway für ein Arduino verwende um die Heizung auszulesen/zu steuern? Kann der ESP während der Bildverarbeitung andere Threads bedienen?
Gruß
Zwer2k -
@pfried @jomjol
Hallo, hatte ja vor 2 Wochen auch das Projekt erfolgreich gestartet bin aber mit Arbeit und Garten nicht mehr dazu gekommen das im IoBroker einzubringen. Jetzt sah ich gerade im Keller die rote LED und nachdem bisher immer alles richtig war hab ich mir das LOG angesehen. >>> Ich habe ---- Main Startet ---- im 3 min Takt. Am 15. 10 war das 4 mal und wurde lt. Log dann täglich mehr. Habt Ihr da schon ne Lösung gefunden? Meine Version ist "master - v3.0.0 - 2020-10-14" und da steht ja schon eine Lesezeit von 4,85 drin. Würde heute Abend mal die .ini der SD Karte abspeichern und dann formatieren und neu bespielen. Außer Ihr habt ne andere Idee.
Hier mal Auszüge aus der Log Datei. Wenn Debug erwünscht schalte ich das gerne ein.
LG Horst
-
Hallo @jomjol, ja wahrscheinlich. Hatte ich ja vor 14 Tagen schonmal gemacht, dann lief es wieder. Mich würde nur interessieren, warum das Problem immer nach x Tagen auftritt. Vllt sollte ich auch mal die Log Files ausschalten.
Nach einem Hard Reboot komme ich jetzt gar nicht mehr auf die Seite. -
Die Dateien sollten eventuell in Unterverzeichnisse 1/Tag verteilt sein, damit sich in einem Verzeichnis nicht zu viele sammeln. Am besten rotierend, damit die SD-Karte nicht voll läuft. Bei mir wäre die Karte nach 2Monaten voll.
-
Hallo @Zwer2k,
- Modem-Sleep wird nicht aktiviert - ESP32 sollte dauerhaft als Webserver erreichbar sein
- Von einer Verwendung als Gateway würde ich absehen. Die Bilderkennung fordert den ESP32 ziemlich (100% Core für ~ 2 Minuten). Unverstandene Reboots gibt es auch immer wieder. Daher würde ich aktuell keine weiteren Funktionen implementieren.
Gruß,
jomjol -
@Zwer2k sagte in Wasserzähler - Version 2 - all-in-device:
Die Dateien sollten eventuell in Unterverzeichnisse 1/Tag verteilt sein, damit sich in einem Verzeichnis nicht zu viele sammeln. Am besten rotierend, damit die SD-Karte nicht voll läuft. Bei mir wäre die Karte nach 2Monaten voll.
Idee ist gut - kann hier jemand unterstützen und rollierende Aufräumroutinen programmieren? Da im Filename das Datum drin steht, könnte man das mit wenig Aufwand erstellen.
Für das Logfile könnte man ja auch 1 Logfile pro Tag und alte Logs dann nach x-Tagen löschen.
Wer Lust/Zeit hat gerne melden, ich kann dann Hinweise geben, wo der beste Start ist. Idealerweise als folk in Github, dann kann ich es anschließend in einem Merge einbinden. Ich selbst komme die nächsten 1-2 Wochen nicht dazu, neue Features zu implementieren.Temporäre Alternative: Deaktiveren der Log-Files.
Beste Grüße,
jomjol -
@jomjol nach formatieren und neu beschreiben der SD-Karte läuft alles wieder, habe die Log Files jetzt auch mal deaktiviert. Werde bei beobachten, ob es jetzt besser läuft
-
@coyote sagte in Wasserzähler - Version 2 - all-in-device:
@jomjol nach formatieren und neu beschreiben der SD-Karte läuft alles wieder, habe die Log Files jetzt auch mal deaktiviert. Werde bei beobachten, ob es jetzt besser läuft
Habe jetzt auch SD Karte gewechselt und Log Dateien gelöscht. Auch gleich Update auf neue Firmware und HTML gemacht.
Ging alles Problemlos. Mal sehen was die nächsten Tage bringen. -
@jomjol
Bei Modem-Sleep bleibt der ESP per WLAN erreichbar, es wird nur nicht mit voller Leistung gesendet, der sollte der AP nicht zu weit entfernt sein ich denke das Modem wird in kurzen Intervallen abgeschaltet daher Modem-Sleep (So verstehe ich es zumindest). Hier zieht ESP nur ca. 1/2 der normalen Leistung (hab ich getestet).esp_wifi_set_ps(WIFI_PS_MAX_MODEM); esp_wifi_set_ps(WIFI_PS_MIN_MODEM); esp_wifi_set_ps(WIFI_PS_NONE);
Nicht erreichbar ist ESP nur bei light-sleep und deep-sleep.
esp_light_sleep_start(); esp_deep_sleep_start();
Theoretisch könnte zusätzlich während nicht gerechnet wird und niemand auf die Oberfläche zugreift noch der CPU-Takt herab gesetzt werden.
setCpuFrequencyMhz(80); setCpuFrequencyMhz(240);
-
@jomjol sagte in Wasserzähler - Version 2 - all-in-device:
@Zwer2k sagte in Wasserzähler - Version 2 - all-in-device:
Die Dateien sollten eventuell in Unterverzeichnisse 1/Tag verteilt sein, damit sich in einem Verzeichnis nicht zu viele sammeln. Am besten rotierend, damit die SD-Karte nicht voll läuft. Bei mir wäre die Karte nach 2Monaten voll.
Idee ist gut - kann hier jemand unterstützen und rollierende Aufräumroutinen programmieren? Da im Filename das Datum drin steht, könnte man das mit wenig Aufwand erstellen.
Für das Logfile könnte man ja auch 1 Logfile pro Tag und alte Logs dann nach x-Tagen löschen.
Wer Lust/Zeit hat gerne melden, ich kann dann Hinweise geben, wo der beste Start ist. Idealerweise als folk in Github, dann kann ich es anschließend in einem Merge einbinden. Ich selbst komme die nächsten 1-2 Wochen nicht dazu, neue Features zu implementieren.Temporäre Alternative: Deaktiveren der Log-Files.
Beste Grüße,
jomjolKann ich mir mal anschauen, dürfte ja nicht zu kompliziert sein.
Wo wäre den die Funktonalität am besten untergebracht?Hab mir kurz mal den Code angeschaut. Aufgenommene Bilder werden ja zuerst unter /img_tmp/raw.jpg abgelegt also immer überschrieben. Wenn die Bilder alle 5min aufgenommen werden, dann sind es nach einem Jahr schon 100.000 mal. Ich glaube da werden schon meiste Karten tot sein. Einige werden vermutlich schon viel früher defekte aufweisen, was eventuell die Probleme erklären könnte. Außer die Karten habe eine Logik die Datei immer wo anderes zu legen, was ich nicht glaube.
-
@Zwer2k Ja das mit dem Schreiben könnte ein Problem sein. Alternative wäre, alles über den Speicher zu machen. Da aber manche der neuronalen Netze schon 1.4 MB belegen und die verwendeten Bibliotheken die Bilder im Raw Format, je nach Auflösung auch > 1MB und für die Verarbeitung auch mehrfach (Orginal und bearbeitete Kopie) verwenden, habe ich momentan den Zwischenweg über die SD-Karte gewählt.
Erzeugt werden die Log-Files an folgenden Stellen:
- Log.txt auf root: Bibliothek:
\lib\jomjol_logfile\
- Abspeichern der Bilder:
Analog:\lib\jomjol_flowcontroll\ClassFlowAnalog.cpp --> bool ClassFlowAnalog::doNeuralNetwork(string time)
Digital:\lib\jomjol_flowcontroll\ClassFlowDigit.cpp --> bool ClassFlowAnalog::doNeuralNetwork(string time)
Ich würde jedoch vorschlagen, nicht dort einzugreifen, sondern am Ende des Flows eine "Aufräumaktion" aufzunehmen. Dort kann man dann auch parameterisiert z.B. die letzten x-Tage / Stunden ... Files wieder löschen.
- Log.txt auf root: Bibliothek:
-
Hallo @Zwer2k,
danke für die Erklärung - klingt machbar. Frage ist, ob jemand dieses Feature benötigt.Mein ESP32 rechnet von dem 4.85 Minuten Zyklus ca 2.5 Minuten, d.h. ich könnte nur für ca. 50% den Strom um die hälfte Sparen. Sinn macht das natürlich, wenn der Zyklus in deutlich längeren Zeitspannen gemessen wird.
Du könntest einfach mal ein Feature-Request als Issue in Github anstossen. Dann geht die Idee auch nicht verloren.
-
-
@pfried Meinst du es liegt wirklich an der SD Karte.
Nach dem neuen Aufsetzen macht er so alle 4,5 Stunden einen Reset. Bin mal gespannt wie es weiter geht.
Hab jetzt ne 4 GB Karte drin.
-
@Hasont sagte in Wasserzähler - Version 2 - all-in-device:
@pfried Meinst du es liegt wirklich an der SD Karte.
Nach dem neuen Aufsetzen macht er so alle 4,5 Stunden einen Reset. Bin mal gespannt wie es weiter geht.
Hab jetzt ne 4 GB Karte drin.
Übrigends ist das Log ne Stunde voraus, im Value stimmt die Uhrzeit