NEWS
Wasserzähler - Version 2 - all-in-device
-
@jomjol
Hallo,ich bin schon vor längeren auf dein Projekt gestoßen. sehr schön.
Bei mir läuft es im Moment ähnlich. USB-CAM am Raspi und mit ein paar Scripten werden dann die Zeiger richtungen erkannt. (openCV)
Ich möchte es gerne mit dem ESP32-CAM Modul machen.
Ich stoße aber im Moment an folgendes Problem:
Der Zähler hängt im Dunkeln und wenn ich eine Foto mit dem ESP32-CAM mache sind die Farben nicht immer konstant.
D.h. mal ist es rot, lila oder grün Stichig. Manchmal ist es richtig.Ich habe das Gefühl das die Kamera sich immer erst einstellt. (wenn ich das licht länger anlasse und das Foto dann später machen geht es besser)
Fragen:
- Wie länge lässt du das Licht an (on Board LED) befor du das Foto machts?
- Gibt es evtl. eine Einstellung (die ich noch nicht gefunden habe) um der Kamera zu sagen das sie immer mit den voreingestellten Einstellungen ein Foto machen soll? (so wie mit einem Blitzlicht -> kurz an -> Foto -> aus) ohne das die Kamera sich jedesmal lange einstellt?
Um in deinen Sourcen etwas zu finden bin ich zu wenig Softwerker.
Danke
-
Super danke, bin über das WE verreist und kümmere mich morgen oder Montag drum.
Das mit der Version habe ich mir auch schon überlegt. Muss mir noch überlegen, wie ich das möglichst automatisch hin bekomme.
@jomjol Habe jetzt meinen ersten "Pull Request" gemacht auf Github mit den Updates
-
@jomjol Hi, habe das Word File mit der Migration von alt auf neu System fertig. Wie soll ich Dir das für das Wiki zukommen lassen? Es ist jetzt reiner Text mit einem Beispiel, sag mir dann ob das OK ist.
-
@michaeljoos Neue html.zip eingespielt, geht super! Das mit der "Installed FW: xxxx" ist eine super Idee ...
-
Hallo @treerunner,
ich habe keine besonderen Einstellungen für die Kamera und habe 5s Wartezeit nach Einschalten der Beleuchtung.
Gruß,
jomjol -
@michaeljoos sagte in Wasserzähler - Version 2 - all-in-device:
Super danke, bin über das WE verreist und kümmere mich morgen oder Montag drum.
Das mit der Version habe ich mir auch schon überlegt. Muss mir noch überlegen, wie ich das möglichst automatisch hin bekomme.
@jomjol Habe jetzt meinen ersten "Pull Request" gemacht auf Github mit den Updates
Pull request ist in die Rolling eingespielt - bei mir funktioniert auch das Update der
jquery-3.5.1.min.js
automatisch, dazu muss man manuell das zip-File in /firmware updaten.Super vielen Dank für die Anpassung, sieht sehr gut aus und funktionert auch bei mir auf Anhieb. An der Versionierung bin ich dran. Kernpunkt ist, dass ich es automatisch machen will (per cmake), da da manuelle Anpassung zu fehleranfällig.
-
@pfried Schick es mir per Mail oder lade es hier einfach hoch.
Danke! -
@jomjol ESP Water-meter migration.docx
Mache sowas das erste Mal, kannst mir gerne ein E-Mail mit Änderungswünschen schreiben....
Liebe Grüße
Paul -
@jomjol
I2C Problem: Ich brauche einen zweiten I2C PortDie Kamera scheint über Software I2C angesteuert zu werden da die Parameter für HardwareI2C in der sdkconfig (CONFIG_SCCB_HARDWARE_I2C , CONFIG_SCCB_HARDWARE_I2C_PORT) nicht gesetzt sind.
Siehe dazu auch https://github.com/espressif/esp32-camera/blob/master/KconfigDas Problem tritt auf, wenn man den zweiten I2C Port benutzen will.
Ein direktes Eintragen in die sdkconfig funktioniert nicht, da diese bei jedem build neu geschrieben wird.Ich habe länger rumgesucht und keine Lösung zur Veränderung der sdkconfig gefunden. run -t menuconfig funktioniert bei mir nicht.
Wie hast Du die sdkconfig aus der sdkconfig.old erzeugt?
Beste Grüße
Hike -
@hike Ich verwende VSCode mit der Platformio Extension. Dort kannst du einen Terminal starten und dann dort über
platformio run -t menuconfig
den Editor starten.
Achtung: vorher das Terminalfenster groß ziehen, sonst kommt eine Fehlermeldung. -
@jomjol
Deine Achtung-Anmerkung ist die Lösung. Diesen Hinweis habe ich noch nirgendwo gesehen. Da muß man erst mal drauf kommen. Ich bin dutzendmale vorher in die Fehlermeldung gerauscht.Das Tool ist etwas gewöhnungsbedüftig, seltsamerweise reagiert Arrow up and down nicht, dafür aber + (down) und - (up).
Ich finde aber keinen Eintrag für sccb.
In der camera lib gibt es einen Hinweis auf kconfig, das scheint das definierende File für menuconfig zu sein.
https://github.com/espressif/esp32-camera
Make sure to append this Kconfig content into the Kconfig of your project. Then, choose the configurations according to your setup.Irgendeine Idee wo ich das finde?
Danke
Hike -
@hike Ich habe das für diese Zwecke bisher nicht verwendet. Wenn du dir die Konfiguration der Kameraanbindung (GPIOs) anschauen willst, prüfe mal die Datei
code/jomjol_controllcamera/camera_define.h
Dort sind die GPIOs definiert. -
Die GPIOs sind mir klar(26,27). Neben dem Freischalten (1Bit-Mode) des Kartenlesers den Du ja auch verwendest könnte man auch GPIO13 und GPIO2 für den zweiten I2C-Bus verwenden. Einige der anderen Pin erzeugen Bootprobleme, da sie durch die pullups auf high liegen.
Ich bin überhaupt erst auf die Idee gekommen, weil in Deinen Projekt unter lib/driver die tatsächlich verwendeten .h und .c aufgeführt sind. So konnte ich im Log sehen, das der Kameratreiber in sccb.c twi verwendet.
Damit komme ich an den zweiten I2C Bus nicht ran, den ich aber gerne für die Ansteuerung von einem Oled-Display nutzen würde.Bei anderer Vorgehenweise z.B als Arduino-Projekt und der Verwendung von Wire0 und Wire1 (I2C-Scanner) bekomme ich zwar die I2C-Adresse de Kamera zu sehen, jedoch fällt der Prozessor mit einer Guru-Meditation beim ersten Zugriff auf das zweite Interface auf die Nase.
An diesem Problem scheint sich schon der eine oder andere die Zähne ausgebissen zu haben.
Beste Grüße
Hike -
I have downloaded digits from the device, probably too much. I already sorted them more or less. Mostly there were problems with the number 7 and number 1. Number 8 was detected quite nicely.
wetransfer: https://we.tl/t-jQ56n1n4pr
Kind regards,
Koen -
@aandekant Hi Koen,
I got the images, thanks. This are more than 23k pictures, where 18k in directory 10 do not show any digit. Only 2-3 typical images per digit and a collection of NaN (10) is totally sufficient. I will take some of them, but if you like to sort by yourself, you are welcome.
Best regards,
jomjol -
@aandekant I have created a new version including parts of your digits:
https://github.com/jomjol/neural-network-digital-counter-readout
Please test it. -
Also bei mir scheint alles zu funktionieren. Danke nochmal jomol
Für den parser in iobroker habe ich noch einen Tip. Mein Wasserzähler hat folgendes Format 12345.1234
Mein Zähler hat momentan den Stand 123.1234. Die führenden Nullen werden ja nicht mit übertrgaen. Mit [N|0-9][N|0-9][N|0-9][N|0-9][N|0-9]\D\d\d\d\d geht das, aber was ist wenn der Stand von 999 auf 1000 geht? Dann tuts nicht mehr, oder man muss es umschreiben. Mit \d{1,5}.\d{4} müsste es immer gehen. Vielleicht ist hier ein regex Spezialist der das bestätigen kannGruß
Werner -
@WernerS Hallo Werner, ich habe dauernd das Problem, dass der Parser irgendwann "hängenbleibt" Dann muss ich manuell den Parser stoppen und wieder starten, hast Du das Problem auch?
Meine Parsereinstellungen:
-
@jomjol Hast du dich schon mal mit "Core Dump" befasst um den spontanen Restarts auf die Spur zu kommen?
-
@michaeljoos Nein - kenne ich nicht. Ich weiss aber, dass bei den Restarts etwas mit der JPEG-Bibliothek schief geht. Den ersten Fehler konnte ich abfangen und dann die Bilderverabeitung einfach neu starten. Genau letzteres müsste ich bei späteren Bildbearbeitungen auch integrieren.
Kennst du dich mit Core-Dumps aus und könntest einen Blick rein werfen?