NEWS
Wasserzähler - Version 2 - all-in-device
-
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.
-
Hallo Zusammen,
ich habe das ganze an 3 verschiedenen Zähler laufen. Bei der einen Wasseruhr habe ich das Problem, das sich nach einer gewissen Zeit der Zählerstand nicht mehr ändert.
Unter Overview sehe ich aber das sich die Seite neu lädt. Es kommt mir so vor, als würde er kein neues Foto erstellen oder immer ein Altes verarbeiten.
Nach einem Neustart über den Browser wird ein neues Foto erstellt und dann passt es auch wieder mit dem Zählerstand
Habe noch die Version master - v7.1.2 - 2020-06-17Bekomme ich irgendwie her raus an was das liegen könnte? Bei den beiden anderen ist mir das Problem nicht aufgefallen.
Der einzige unterschied der mir jetzt einfällt ist, dass ich bei dem "Problemzähler" analoge Zeiger verwende (ana0700q.tflite)
Habe es jetzt wieder auf die ana0700s1lq.tflite umgestellt und werde es weiter beobachten -
Ich nutze das hier auch für Strom/Wasser/Gas und es funktioniert super.
Hat funktioniert ...Aber NEIN, dann müssen die mir den Wasserzähler austauschen gegen so ein modernes Teil mit Funk und Fernabfrage usw.
QALCOSONIC W1
Als beste/einfachste Lösung dachte ich wieder an diese hier ... ab die haben die Uhr natürlich so angebaut das der Platz nach oben sehr knapp ist.
Eigentlich sollte das mit den Digitalzahlen ja sogar einfacher gehen ... aber ich kämpfe mit den Lichtverhältnissen (Ausleuchtung und Reflektionen) und der Kameraposition. Mein 3. Entwurf kommt nun aus dem 3D-Drucker.
Theoretisch kann das Ding mir auch direkt die Daten senden: https://www.axiomametering.com/en/products/water-metering-devices/ultrasonic/qalcosonic-w1Aber dann bräuchte ich erst einmal ein LoRaWAN oder MBUS Empfang - und ich weis nicht mal was davon aktiviert ist. Ein passende Handy App für NFC habe ich auch nicht gefunden.
Also Falls jemand eine andere Idee dazu hat ... ansonsten Bastle ich weiter am passenden Gehäuse und Ausleuchtung
-
Hallo,
möchte mal kurz Feedback geben zu meinem Problem, daß das Gerät immer den Zugriff verweigert hat.
Vorweg erstmal. ich habe jetzt seit 1 1/2 Tagen ein funktionierendes System.
Habe mir vorgestern mal die Zeit genommen und alles platt gemacht(ESP und SD-Karte). Alles neu heruntergeladen, somit auch die neueste Version (war vorgestern noch die 8.0.3). Alles neu geflasht und SD-Karte bespielt.
Dann noch eine Änderung in der hardware. Ich habe vorher für die Spannungsversorgung mir so eine Platinebesorgt und diese mit dem ESP verbunden. Als Spannungsgeber habe ich ein original Raspberry 3 Netzteil verwendet.
Zum flashen nutze ich das hier CH340G USB2Serial
und diese Teil habe ich jetzt einfach auf dem ESP stecken lassen. Netzteil ist das selbe. Seitdem habe ich keinerlei Probleme mit der kommunikation.Also ehrlich gesagt weiß ich nicht was letztendlich dafür gesorgt hat, daß es läuft. Neue Firmware oder die geänderte Stromversorgung.
Dank für Eure Hilfe
-
@fuso
Das hört sich tatsächlich nach Spannungsversorgung an.
Platine die bei dir nicht funktioniert hat, scheint keinen Spannungswandler zu haben, d.h. die Versorgung hätte über den 5V Pin von der ESP32-CAM Modul laufen müssen. Hast du aber vermutlich auch so gehab.
Ein 220µF Elko direkt an der Platine hätte eventuell schon geholfen. Beim starten der WLAN-Verbindung, gibt es kurze Stromspitzen, die zu "Brownout" führen. Diese hättest du auch über seriellen Log erkennen können, allerdings nicht mit deinem USB2Serial Modul, da es eigene Spannungsversorgung für den ESP bereitstellt. Oder du hättest dein USB2Serial Modul nur mit 3 Leitungen GND+RX+TX verbinden müssen.@jomjol
Hast du schon mal "reser reason" Funktion getestet. Eventuell könnte man den Reset-Grund nach dem Reboot in die Log-Datei schreiben. Link -
@fuso Wenn man die ESP32-CAM-MB Versionen kauft ist das genau das was du nun hast, da ist das Board für die Stromversorgung und das Flashen gleich dabei. Hatte ich von Anfang so gekauft - nicht weil ich so schlau bin sondern weil ich gesehen hatte das das andere auch so machen und ich faul bin. Ich habe dann die ESP32-CAM-MB Version genommen wo gleich eine externe Antenne dabei ist, funktioniert bei mir einen Ticken besser.
-
Verständnisfrage: mit dem HTTP request "http://<meineIP>/setPreValue.html" erhalte ich doch den letzten Wert der vom System "berechnet" wurde.
Bei mir zeigt er seit dem Update auf Version 8.0.x. immer nur 0 oder 1 aber keine aktuellen Werte mehr. -
@dokorfish sagte in Wasserzähler - Version 2 - all-in-device:
eigt er seit dem Update auf Version 8.0.x. immer nur 0 oder 1 aber keine aktuellen Wer
Eigentlich zeigt er dir dort den zuletzt korrekt berechneten Wert. Dort scheint sich aber irgendwo ein Bug eingeschlichen zu haben. Muss ich suchen, komme aber erst im Laufe der Woche dazu.
-
Gibt es eigentlich irgendwo eine Dokumentation der config.ini Parameter?
Ich spiele zum Beispiel gerade mit Contrast = und Saturation = rum (wobei Saturation keine Wirkung zeigt). Und ich habe gelernt das Contrast -5 nicht mag (dann startet der ESP32 gar nicht mehr).Ich verzweifle gerade an meinem Digitalen Wasserzähler - das LCD-Display ist extrem schlecht, ich habe schon umgebaut auf 2 LED Lampenstreifen die das Display voll ausleuchten und das Bild / der Kontrast ist immer noch Dreck. Da hatte ich gehofft das mit den Bildparametern noch verbessern zu können
Dem Bild sieht man nicht an das es eigentlich total hell und gleichmäßig ausgeleuchtet ist (für das menschliche Auge).
Die LED des ESP32 habe ich abgeklebt (der helle Punkt an der 2. Null). Wenn ich den Mitleuchten lassen ist es aber im Prinzip genauso hell, nur das der Punkt dann etwas mehr strahlt. Da wird also was runter geregelt bzw. ein Helligkeitsabgleich oder so.Ich habe es auch schon mit gerade Ausrichtung der Zahlen versucht, da die schräg sind versuche ich es gerade so einmal.
Wobei im Bildbearbeitungsprogramm schaffe ich es auch nicht da mehr rauszuholen -
@bananajoe sagte in Wasserzähler - Version 2 - all-in-device:
Gibt es eigentlich irgendwo eine Dokumentation der config.ini Parameter?
Ich spiele zum Beispiel gerade mit Contrast = und Saturation = rum (wobei Saturation keine Wirkung zeigt). Und ich habe gelernt das Contrast -5 nicht mag (dann startet der ESP32 gar nicht mehr).Ich verzweifle gerade an meinem Digitalen Wasserzähler - das LCD-Display ist extrem schlecht, ich habe schon umgebaut auf 2 LED Lampenstreifen die das Display voll ausleuchten und das Bild / der Kontrast ist immer noch Dreck. Da hatte ich gehofft das mit den Bildparametern noch verbessern zu können
Dem Bild sieht man nicht an das es eigentlich total hell und gleichmäßig ausgeleuchtet ist (für das menschliche Auge).
Die LED des ESP32 habe ich abgeklebt (der helle Punkt an der 2. Null). Wenn ich den Mitleuchten lassen ist es aber im Prinzip genauso hell, nur das der Punkt dann etwas mehr strahlt. Da wird also was runter geregelt bzw. ein Helligkeitsabgleich oder so.Ich habe es auch schon mit gerade Ausrichtung der Zahlen versucht, da die schräg sind versuche ich es gerade so einmal.
Wobei im Bildbearbeitungsprogramm schaffe ich es auch nicht da mehr rauszuholen@BananaJoe Ja es gibt eine genaue Beschreibung im Wiki: https://github.com/jomjol/AI-on-the-edge-device/wiki/Configuration-Parameter-Details
Dort findest du auch den Parameter Range (Contrast -2..2) und die Info, das Saturation und Contrast nicht implementiert sind
-
@jomjol jetzt wo ich weis wo es steht weis ich auch welchen Link ich hätte klicken müssen - danke.
-
So, wie auf Github versprochen, hier nun weitere Forschung.
Ich wollte nur mal kurz eine Meinung einholen.
Es gibt bei mir kaum ein Ergebnis beim einlesen.
Die Reflektionen auf meinem Wasserzähler sind Hölle.
Ich hänge mal ein akutelles Foto an, von diesem wird selten ein Änderung erkannt.
Nun meine Frage: Sind das zu starke Reflektionen auf den Zahlen?
Ich habe schon extra den Analogen Drehzeiger weggelassen, da dort keine Ziffern erkennbar waren.Ich hatte schon versucht mit schwarzen Textilstreifen etwas den Blitz der ESP32 LED zu zähmen, aber weißes Milimeterpapier scheint besser zu funktionieren.
-
Sieht nicht so schlecht aus bei der Erkennung, aber ich bekomme einfach keinen Wert geliefert.
Verwende seit gestern 8.0.5 durch OTA, vorher frisch geflasht mit 8.0.4 falls das was ausmachen sollte.Pre-Value habe ich eben wieder auf 635.165 korrigiert. Damit sollte es eigentlich klappen.
-
@developnoob sagte in Wasserzähler - Version 2 - all-in-device:
Sieht nicht so schlecht aus bei der Erkennung, aber ich bekomme einfach keinen Wert geliefert.
Verwende seit gestern 8.0.5 durch OTA, vorher frisch geflasht mit 8.0.4 falls das was ausmachen sollte.Pre-Value habe ich eben wieder auf 635.165 korrigiert. Damit sollte es eigentlich klappen.
Da deine Ziffern unten an der Kante hängen, werden sie als Not-A-Number erkannt. Eines der Kriterium für korrekt erkannte Ziffern ist, dass sie nicht den unteren oder oberen Rand berühren. Ich fürchte, da ist dein Zähler nur mit erheblichem Aufwand (eigens dafür trainiertes Netz) auslesbar.