NEWS
Wasserzähler - Version 2 - all-in-device
-
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.
-
@fuso sagte in Wasserzähler - Version 2 - all-in-device:
oh, kannst Du mir da ein bisschen auf die Sprünge helfen. Wo kann ich das denn anschauen?
Wenn du so einen "USB ->UART interface" wie hier beschrieben verwendest, dann kannst du z.B. mit Arduino-IDE über Menü Werkzeuge -> Serieller Monitor die Ausgabe starten. Alternativ wenn Pyton installiert ist per Kommandozeile
> python -m serial.tools.miniterm
anschließend richtigen COM-Port auswählen.
Eventuell müssen zuvor serial.tools nachinstalliert werden.
> pip install --upgrade pip > pip install serial.tools
GPIO0 sollte dabei unbeschaltet bleiben.