NEWS
Wasserzähler - Version 2 - all-in-device
-
@rene_hm, @nebmar
Hat einer der Betroffenen eventuell noch die Konfig-Datei der alten Version, von der aus er auf die 8.0 gewechselt hat und/oder aktuellen Stand der Datei wenn es immer noch nicht funktioniert?
Die Log-Datein bringen an der Stelle leider nicht viel, da hier einfach nicht alles mit protokolliert werden kann, viele besser wären die Ausgaben der Seriellen-Konsole.@jomjol
Den Fehler "File allready exists" hatte ich bereits paar mal beim Hochladen der html.zip beobachtet. Nach einem Reboot ging es dann wieder. Da scheint zuvor ein Prozess nicht sauber beendet worden zu sein und daher die Datei immer noch blockiert zu sein. In diesem Fall bricht vermutlich beim Konvertieren der Konfigurations-Datei der Prozess ab und gibt die Datei nicht wieder frei.
Noch ein Hinweis zu espressif v4.3 : Das Problem scheint bereits ab v3.0 aufzutreten, da war aber der Gesamtspeicherverbrauch beim Booten noch nicht Auffälig (also bei ca. 4,2MB). Es scheint an dem internen Heap-Speicher zu liegen, die xTasks laufen standardmäßig im internen speicher
Hier ein Vergleich nach dem Botten zwischen v2.1 und v3.0:- v3.0: Heap: 4054368 Min Free: 4044376 larg. Block: 4013708 SPI Heap: 4013708 NOT_SPI Heap: 40660 Internal Heap: 40660 Internal Min Heap free: 30668
- v2.1: Heap: 4103604 Min Free: 4091792 larg. Block: 4013708 SPI Heap: 4013708 NOT_SPI Heap: 89896 Internal Heap: 89896 Internal Min Heap free: 78084
-
Bei mir sieht es so ähnlich aus wie bei René. Wahrscheinlich ist das mit dem Klicken auf GPIO nur ein Zufall. Der Rest mit keiner lesbaren Konfiguration und so hatte ich auch leider habe ich die Konfiguration vor dem Update nicht. Ich habe mir die komplette „defekte“ Konfiguration von der SD gezogen. Vor dem Neumachen. Wenn es von Belang ist kann ich mal eben hochladen.
Gruß
DerDani -
@zwer2k
Da ich das Problem weiterhin habe, hier meine config.iniAufgrund des Fehler 400 kann ich die config ja nicht speichern...
[MakeImage] ;LogImageLocation = /log/source ;LogfileRetentionInDays = 15 WaitBeforeTakingPicture = 5 ImageQuality = 5 ImageSize = VGA ;Brightness = -2 FixedExposure = false [Alignment] InitialRotate = 167 /config/ref0.jpg 219 22 /config/ref1.jpg 371 56 SearchFieldX = 20 SearchFieldY = 20 InitialMirror = false AlignmentAlgo = Default [Digits] Model = /config/dig0820s2q.tflite ;LogImageLocation = /log/digit ;LogfileRetentionInDays = 3 ModelInputSize = 20 32 digit1 235 55 33 60 digit2 275 55 33 60 digit3 312 55 34 60 [Analog] Model = /config/ana0700s1lq.tflite ;LogImageLocation = /log/analog ;LogfileRetentionInDays = 3 ModelInputSize = 32 32 analog1 390 120 123 123 analog3 347 230 115 115 analog4 243 275 112 112 analog2 127 227 118 118 ExtendedResolution = false [PostProcessing] DecimalShift = 0 PreValueUse = true PreValueAgeStartup = 720 AllowNegativeRates = true MaxRateValue = 0.1 ErrorMessage = true CheckDigitIncreaseConsistency = false [MQTT] Uri = mqtt://192.168.3.22:1883 Topic = wasserzaehler/zaehlerstand TopicError = wasserzaehler/error ClientID = wasser user = datalogger password = logger [AutoTimer] AutoStart = true Intervall = 10 [Debug] Logfile = true LogfileRetentionInDays = 3 [System] TimeZone = CET-1CEST ;TimeServer = fritz.box ;Hostname = watermeter ;SetupMode = false [Ende]
Die Log-Datein bringen an der Stelle leider nicht viel, da hier einfach nicht alles mit protokolliert werden kann, viele besser wären die Ausgaben der Seriellen-Konsole.
Kann man die Ausgabe irgendwie in eine Datei umleiten?
@jomjol Die SD-Card kann ich neu aufsetzen, aber vielleicht hilft dir ja mein System zur Fehlersuche...
-
@rene_hm
Hab es mal mit deiner Konfig ausprobier, funktioniert bei mir ohne Probleme. Wird ohne Fehler in neue Version konvertiert.Eine Möglichkeit zum Umleiten der Seriellen-Ausgabe in die Datei kenne ich leider nicht.
Hab mir kleinen Logger mit ESP8266 und ESP-link gebaut und nutze für solche Zwecke. -
@zwer2k sagte in Wasserzähler - Version 2 - all-in-device:
Hab es mal mit deiner Konfig ausprobier, funktioniert bei mir ohne Probleme. Wird ohne Fehler in neue Version konvertiert.
dann liegt es wohl daran, dass die config nicht gespeichert werden kann. siehe Fehler 400
reboot hilft hier leider auch nicht. Dann bleibt wahrschenlich nichts anderes, als die SDCard neu aufzusetzen,,, -
@rene_hm sagte in Wasserzähler - Version 2 - all-in-device:
@zwer2k sagte in Wasserzähler - Version 2 - all-in-device:
Hab es mal mit deiner Konfig ausprobier, funktioniert bei mir ohne Probleme. Wird ohne Fehler in neue Version konvertiert.
dann liegt es wohl daran, dass die config nicht gespeichert werden kann. siehe Fehler 400
reboot hilft hier leider auch nicht. Dann bleibt wahrschenlich nichts anderes, als die SDCard neu aufzusetzen,,,Ich habe auch keine bessere Idee. Vielleicht ist einfach das Filesystem auf der SD-Karte zerschossen.
-
@rene_hm sagte in Wasserzähler - Version 2 - all-in-device:
@zwer2k sagte in Wasserzähler - Version 2 - all-in-device:
Hab es mal mit deiner Konfig ausprobier, funktioniert bei mir ohne Probleme. Wird ohne Fehler in neue Version konvertiert.
dann liegt es wohl daran, dass die config nicht gespeichert werden kann. siehe Fehler 400
reboot hilft hier leider auch nicht. Dann bleibt wahrschenlich nichts anderes, als die SDCard neu aufzusetzen,,,Eventuell mal prüfen ob die Datei am PC bearbeitet werden kann und eventuell Dateisystemprüfung laufen lassen ob da Fehler angezeigt werden.
-
@zwer2k said in Wasserzähler - Version 2 - all-in-device:
@rene_hm sagte in Wasserzähler - Version 2 - all-in-device:
@zwer2k sagte in Wasserzähler - Version 2 - all-in-device:
Hab es mal mit deiner Konfig ausprobier, funktioniert bei mir ohne Probleme. Wird ohne Fehler in neue Version konvertiert.
dann liegt es wohl daran, dass die config nicht gespeichert werden kann. siehe Fehler 400
reboot hilft hier leider auch nicht. Dann bleibt wahrschenlich nichts anderes, als die SDCard neu aufzusetzen,,,Eventuell mal prüfen ob die Datei am PC bearbeitet werden kann und eventuell Dateisystemprüfung laufen lassen ob da Fehler angezeigt werden.
In meinem Fall konnte ich die config.ini auf der SDCard am PC bearbeiten - reparieren konnte ich den Fehler 400 jedoch damit nicht. Da der PC damit kein Problem hatte denke ich das ein größeres Problem am Filesystem nicht vorlag - ein scan/ repair habe ich jedoch nicht ausgeführt.
-
@zwer2k sagte in Wasserzähler - Version 2 - all-in-device:
Eventuell mal prüfen ob die Datei am PC bearbeitet werden kann und eventuell Dateisystemprüfung laufen lassen ob da Fehler angezeigt werden.
PC hat keine Fehler gefunden, Dateisystem war in Ordnung.
Ich habe die config.ini manuell am PC editiert (fehlende Einträge hinzugefügt bzw. geändert).
Danach läuft das System wieder.
Der Fehler 400 beim Speichern ist nun weg und auch die Meldung mit Transfer-Encoding: chunked 2000 ist weg...
Die config-Seite öffnet sich nun auch wieder bei jedem Aufruf. -
Ist es möglich das ESP32 Download Tool mit einem Arduino Uno zu nutzen? Oder wird das vom Tool nicht unterstützt?
Bekomme es irgendwie nicht zum Laufen,
meine ESP8266 konnte ich alle mit dem Uno flashen, allerdings mit dem Tool "nodemcu-flasher". -
Hallo Leute,
habe mir auch den Spaß gemacht, das Teil geholt und aufgesetzt. Vielen Dank an jomjol für die tolle Arbeit.
Ich hatte auch schon für gut eine Woche sauber MQTT Verbindung in IObroker. Leider habe ich jetzt ein paar Probleme und bitte um Eure kurze Hilfestellung. Ich habe bei jedem Aufruf im Browser (habe schon die verschiedensten probiert) erstmal eine "Verbindung abgelehnt" Meldung. Manchmal kommt dann doch nach 10-20 sec von selbst eine Verbindung zustande. Jedoch scheint diese unwahrscheinlich langsam zu sein. So langsam, daß es zu keinem Bildaufbau kommt. WLAN ist lt. meiner fritzbox (7590) jedoch ausreichend. Habe verschiedenste Positionen im Haus probiert. Unzählige male eine reboot gemacht. Jetzt habe ich mir (wohlweislich habe ich 2 bestellt) ein zweites System aufgesetzt, mit neuer SD Karte (Sandisk 16GB) habe aber damit exakt das gleiche Problem. Immer wieder "Verbindung abgelehnt" im Browser.
Hat jemand einen Rat für mich? Firewall ist bei mir die Standart Win10. Alle anderen Geräte (über 20x) sind im Heimnetz einwandfrei erreichbar.Gruß und Danke schon mal
-
@fuso Welche Version hast du genau? In v8.0.0 bis v8.0.2 ist ein Bug drin, der bei der Bearbeitung der config.ini zu Reboots führen kann.
Ich habe das gerade behoben und mit v8.0.3 sollte das weg sein. -
@Zwer2k Ich habe gerade eine kleine Korrektur in deinen Ergänzungen zum GPIO gemacht. In
server_file.cpp
habe ich folgende Zeilen auskommentiert:/* if (strcmp(filepath, CONFIG_FILE) == 0) { printf("New config found. Reload handler."); gpio_handler_deinit(); MQTTdestroy(); } */
Folgendes Problem: wenn ich zweimal hintereinander die config.ini upgedatet habe, ist der ESP32 in der Funktion
gpio_handler_deinit()
abgestürzt.
Kannst du dir erklären warum? Meines Erachtens sind die Zeilen nicht dringend notwendig, da nach dem Update sowie ein Reboot notwendig ist.Vielleicht kannst du dir das ja mal anschauen.
Gruß,
jomjol -
glaub, daß ich die v8.0.2 drauf habe. Komme leider grade gar nicht mehr drauf.
Werde wohl neu flashen müssen. Ich versuchs einfach.Danke erstmal
-
so, jetzt habe ich die v8.0.3 drauf.
Leider hat sich an den Verbindungsproblemen nichts geändert. bei jedem Umschalten auf einen anderen tab bekomme ich erstmal die Meldung, daß das Gerät die Verbindung abgelehnt hat. Manchmal baut die Seite dann doch auf, meistens aber nicht.
Hat jemand eine Idee ob das mit der Firewall zu tun haben könnte. ich weiß nur leider nicht, was ich da einstellen sollte. -
@fuso Kaspersky installiert?
Blockt leider die Seite
Musst du zu den Ausnahmen hinzufügen -
@jomjol sagte in Wasserzähler - Version 2 - all-in-device:
@Zwer2k Ich habe gerade eine kleine Korrektur in deinen Ergänzungen zum GPIO gemacht. In
server_file.cpp
habe ich folgende Zeilen auskommentiert:/* if (strcmp(filepath, CONFIG_FILE) == 0) { printf("New config found. Reload handler."); gpio_handler_deinit(); MQTTdestroy(); } */
Folgendes Problem: wenn ich zweimal hintereinander die config.ini upgedatet habe, ist der ESP32 in der Funktion
gpio_handler_deinit()
abgestürzt.
Kannst du dir erklären warum? Meines Erachtens sind die Zeilen nicht dringend notwendig, da nach dem Update sowie ein Reboot notwendig ist.Vielleicht kannst du dir das ja mal anschauen.
Gruß,
jomjolHallo @jomjol,
ich kann es werder in v8.0.0 noch in der aktueller rolling nachstellen. Kann ohne Probleme auch 10x speichern. Den Code habe ich selbstverständlich wieder aktiviert.In der aktuellen Version gibt es noch ein Problem in server_tflite.cpp
vTaskDelete(NULL); //Delete this task if it exits from the loop above xHandletask_autodoFlow = NULL; printf("task_autodoFlow: end\r\n");
Hier killt sich der Task und kann anschließend die Variable nicht auf NULL setzen, daher gibt es beim OTA Update Start immer einen Absturz, aber nur wenn Autooflow in der config.ini deaktiviert ist.
Sollte daher wie folgt geändert werden.xHandletask_autodoFlow = NULL; vTaskDelete(NULL); //Delete this task if it exits from the loop above printf("task_autodoFlow: end\r\n");
Mein erster Gedanke war, dass es ein ähnliches Problem ist, kann aber eigentlich nicht sein, da der Task aus einem anderen Task gekillt wird und daher die Variable zurück gesetzt werden kann.
Wie gesagt, bei mir kommt der Fehler nicht vor. Vermutlich ist da auch ein Parameter in config.ini anderes gesetzt.
Hast du mal ein Backtrace erstell um zu sehen an welcher Stelle genau er abstürzt? -
Hast du mal Ausgaben der seriellen Konsole angeschaut? Ist da was zu erkennen?
-
-
@fuso
2 Sachen die mir dazu gerade einfallen.Zum einen braucht der Zähler nach dem Start ca. 2 Minuten bis er ansprechbar ist. Davor verarbeitet er das erste Bild und ist in der Zeit nicht wirklich ansprechbar. Auch alle paar Minuten wenn er gerade eine neue Aufnahme verarbeitet sieht es mau aus mit dem Webserver. Zu viele Anfragen können dann auch zum Absturz führen und er startet neu, was dann wieder kurz warten heißt.
Das andere ist der Wlan Empfang, der ist bei den Esp´s ohne externe Antenne schon nicht gerade (teilweise von Board zu Board unterschiedlich) gut, ich bin ca. 4-5m vom AP weg, dannach wird die Luft dünn...
Das sind so die Erfahrungen die ich die Zeit jetzt gesammelt hab.