Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Wasserzähler - Version 2 - all-in-device

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Wasserzähler - Version 2 - all-in-device

    This topic has been deleted. Only users with topic management privileges can see it.
    • Z
      Zwer2k @fuso last edited by Zwer2k

      @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

      1 Reply Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @fuso last edited by

        @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.

        dokorfish 1 Reply Last reply Reply Quote 0
        • dokorfish
          dokorfish @BananaJoe last edited by

          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.

          J 1 Reply Last reply Reply Quote 0
          • J
            jomjol @dokorfish last edited by

            @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.

            BananaJoe 1 Reply Last reply Reply Quote 0
            • BananaJoe
              BananaJoe Most Active @jomjol last edited by

              @jomjol

              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

              00a0ad56-647e-47c3-8dd7-510d55f224a1-image.png
              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

              J felix fre 2 Replies Last reply Reply Quote 0
              • J
                jomjol @BananaJoe last edited by

                @bananajoe sagte in Wasserzähler - Version 2 - all-in-device:

                @jomjol

                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

                00a0ad56-647e-47c3-8dd7-510d55f224a1-image.png
                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 😉

                BananaJoe 1 Reply Last reply Reply Quote 0
                • BananaJoe
                  BananaJoe Most Active @jomjol last edited by

                  @jomjol jetzt wo ich weis wo es steht weis ich auch welchen Link ich hätte klicken müssen - danke.

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    developnoob @BananaJoe last edited by

                    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.
                    Screenshot 2021-08-02 212600.png

                    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.

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      developnoob @developnoob last edited by

                      b05e5af6-59bb-4d9a-9c0e-8e6d1d0549da-grafik.png

                      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.

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jomjol @developnoob last edited by

                        @developnoob sagte in Wasserzähler - Version 2 - all-in-device:

                        b05e5af6-59bb-4d9a-9c0e-8e6d1d0549da-grafik.png

                        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.

                        D 1 Reply Last reply Reply Quote 0
                        • D
                          developnoob @jomjol last edited by

                          @jomjol
                          Also meinst du das auch ein umpositionieren oder etwas näher mit der Kamera ran nicht
                          wirklich helfen wird?

                          Aktuell habe ich von deiner Vorlage den 5cm Ring plus einen 1cm Ring in Verwendung.
                          Bei dem 2cm und 5cm Ring waren die Zahlen schwer zu erkennen.

                          Werde vielleicht einfach mal den 5cm Ring nehmen, schlechter als jetzt kann es ja nicht mehr werden 😑 .

                          Gruß developnoob.

                          J 1 Reply Last reply Reply Quote 0
                          • J
                            jomjol @developnoob last edited by

                            @developnoob Leider nein, bei deinem Zähler sind die Zahlen nicht vollständig im Bild. Wenn das nicht von der Kamera kommt, sondern so auch darauf aussieht, dann sieht es eher schlecht aus 😞

                            D J 2 Replies Last reply Reply Quote 0
                            • D
                              developnoob @jomjol last edited by

                              @jomjol
                              Also mit 5cm Abstand und etwas gedrehter Kamera scheint der Algo ab und an Werte zu erkennen, soweit so gut!

                              Es hat aber den anschein, dass die Drehung nicht immer funktioniert.
                              Zumindest in der letzten Stunde haben die Bilder selten das "Alignment" hinbekommen.
                              Habe schon die Bilder für das erkennen mehrfach "ausgetauscht", andere markante Punkte genommen und auch mal den Erkennungsmodus auf "HighAccurity" gesetzt.

                              Was mir aufgefallen ist:
                              Wenn ich die Alignment Marker ändere scheinen diese0 zumindest auf den angezeigten Bildern bei mir, erst nach einem Reboot eingezeichnet zu werden.

                              Ich sammle mal ein paar Bilder und werde die dann heute Abend hochladen, vielleicht mache ich auch was Grundlegendes falsch. Ist ja nicht auszuschließen 🙂

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                developnoob @developnoob last edited by

                                @developnoob
                                Also wenn ich den Marker verändere bekomme ich folgendes in den Logfiles:

                                2021-08-04T17:04:41: download_get_handler
                                2021-08-04T17:04:45: File is locked: /sdcard/img_tmp/ref_zw.jpg - wait for 1
                                2021-08-04T17:04:46: File is locked: /sdcard/img_tmp/ref_zw_org.jpg - wait for 1
                                2021-08-04T17:04:48: download_get_handler
                                

                                Dann erscheinen die geänderten Marker auch nicht in den neuen Recognition Bilder.
                                Aber nach einem Neustart sind in den Recognition die geänderten Marker wirksam.

                                Nebenbei, nun geht die Erkennung auch bei fast jedem Versuch.
                                831a0dd6-a4c6-4c18-a508-e35ed43dcf6f-grafik.png
                                Hier hat es mal nicht so gut geklappt. Aber da ich in den MQTT Nachrichten nachvollziehen kann das die Zahlen in etwas so hoch gehen wie ich es durch den Verbrauch erwartet hätte geht es nun.

                                Soweit so gut. Obwohl die Zahlen immer noch am unteren Rand sind, tauchen Sie ja auch mal im richtigen Spot zur Erkennung auf.

                                1 Reply Last reply Reply Quote 0
                                • J
                                  Jezinka @jomjol last edited by

                                  @jomjol Hallo. Heute haben sie meinen Wasserzähler gewechselt und deshalb habe ich gleich aufgerüstet. Nach dem Upgrade wird mqtt jedoch nicht mehr gesendet, aber in den Einstellungen scheint alles richtig eingestellt zu sein. Kannst du bitte etwas aus dem Log lesen, was passiert ist? Danke.

                                  2021-08-17T19:57:11: =============================================================================================
                                  2021-08-17T19:57:11: =================================== Main Started ============================================
                                  2021-08-17T19:57:11: =============================================================================================
                                  2021-08-17T19:57:15: Time zone set to CET-1CEST
                                  2021-08-17T19:57:15: task_autodoFlow - next round - Round #1
                                  2021-08-17T19:57:15: FlowControll.doFlow - ClassFlowMakeImage
                                  2021-08-17T19:57:25: FlowControll.doFlow - ClassFlowAlignment
                                  2021-08-17T19:57:46: FlowControll.doFlow - ClassFlowDigit
                                  2021-08-17T19:58:09: download_get_handler
                                  2021-08-17T19:58:10: download_get_handler
                                  2021-08-17T19:58:13: FlowControll.doFlow - ClassFlowAnalog
                                  2021-08-17T19:58:28: FlowControll.doFlow - ClassFlowPostProcessing
                                  2021-08-17T19:58:28: FlowControll.doFlow - ClassFlowMQTT
                                  2021-08-17T19:58:28: task_autodoFlow - round done
                                  2021-08-17T19:58:28: CPU Temperature: 53.3
                                  2021-08-17T20:01:51: download_get_handler
                                  2021-08-17T20:01:53: download_get_handler
                                  2021-08-17T20:02:06: task_autodoFlow - next round - Round #2
                                  2021-08-17T20:02:06: FlowControll.doFlow - ClassFlowMakeImage
                                  2021-08-17T20:02:17: FlowControll.doFlow - ClassFlowAlignment
                                  2021-08-17T20:02:36: FlowControll.doFlow - ClassFlowDigit
                                  2021-08-17T20:03:02: FlowControll.doFlow - ClassFlowAnalog
                                  2021-08-17T20:03:17: FlowControll.doFlow - ClassFlowPostProcessing
                                  2021-08-17T20:03:17: FlowControll.doFlow - ClassFlowMQTT
                                  2021-08-17T20:03:17: task_autodoFlow - round done
                                  2021-08-17T20:03:17: CPU Temperature: 53.3
                                  2021-08-17T20:04:28: download_get_handler
                                  2021-08-17T20:06:57: task_autodoFlow - next round - Round #3
                                  2021-08-17T20:06:57: FlowControll.doFlow - ClassFlowMakeImage
                                  2021-08-17T20:07:07: FlowControll.doFlow - ClassFlowAlignment
                                  2021-08-17T20:07:26: FlowControll.doFlow - ClassFlowDigit
                                  2021-08-17T20:07:52: FlowControll.doFlow - ClassFlowAnalog
                                  2021-08-17T20:08:07: FlowControll.doFlow - ClassFlowPostProcessing
                                  2021-08-17T20:08:07: FlowControll.doFlow - ClassFlowMQTT
                                  2021-08-17T20:08:07: task_autodoFlow - round done
                                  2021-08-17T20:08:07: CPU Temperature: 53.3
                                  2021-08-17T20:10:45: download_get_handler
                                  2021-08-17T20:10:47: download_get_handler

                                  J 1 Reply Last reply Reply Quote 0
                                  • J
                                    Jezinka @Jezinka last edited by

                                    Vor dem Upgrade sah das Protokoll so aus.

                                    2021-08-17T13:44:53: task_autodoFlow - next round - Round #2590
                                    2021-08-17T13:44:53: FlowControll.doFlow - ClassFlowMakeImage
                                    2021-08-17T13:45:06: FlowControll.doFlow - ClassFlowAlignment
                                    2021-08-17T13:45:26: FlowControll.doFlow - ClassFlowDigit
                                    2021-08-17T13:45:36: FlowControll.doFlow - ClassFlowAnalog
                                    2021-08-17T13:45:41: FlowControll.doFlow - ClassFlowPostProcessing
                                    2021-08-17T13:45:41: FlowControll.doFlow - ClassFlowMQTT
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=15845, watermeter/readout/connection, connected
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=8925, watermeter/readout/uptime, 753485
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=53499, watermeter/readout/freeMem, 2991192
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=34620, watermeter/readout/value, 715.3917
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=4158, watermeter/readout/error, no error
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=665, watermeter/readout/rate, 0.000164
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=24780, watermeter/readout/timestamp, 2021-08-17T13:45:02
                                    2021-08-17T13:45:41: sent publish successful in MQTTPublish, msg_id=50126, watermeter/readout/json, {"value":715.3917,"error":"no error","rate":0.000164,"timestamp":"2021-08-17T13:45:02"}
                                    2021-08-17T13:45:41: task_autodoFlow - round done

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      jomjol @Jezinka last edited by

                                      @jezinka Update von welcher Version hast du den gemacht? Schau mal in dein MQTT broker. Es gab mal eine Änderung in der Datenstruktur. Vielleicht heißen deine Einträge jetzt einfach anders.

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        Jezinka @jomjol last edited by

                                        @jomjol 8.0.5 oder 7.1.2 aber letztes mal musste ich nur mqtt ändern. Es ist weniger als ein Monat her.

                                        J 1 Reply Last reply Reply Quote 0
                                        • J
                                          Jezinka @Jezinka last edited by Jezinka

                                          Ansonsten dachte ich, dass mqtt auch bei einer anderen Datenstruktur senden und im Protokoll sehen sollte, aber das Protokoll auf mqtt ist leer.

                                          das ist die mqtt-Einstellung
                                          [MQTT]
                                          Uri = mqtt: //10.10.20.11: 1883
                                          ; Hauptthema =
                                          ClientID = Wasser
                                          user = mqttuser
                                          Passwort = mqttpassword

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            jomjol @Jezinka last edited by

                                            @jezinka
                                            Hauptthema ist ungewöhnlich. Meine MQTT sieht wie folgt aus:

                                            [MQTT]
                                            Uri = mqtt://aaa.bbb.ccc.ddd:1883
                                            MainTopic = wasserzaehler
                                            ClientID = wasser
                                            ;user = USERNAME
                                            ;password = PASSWORD
                                            
                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            411
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            ai on the edge cnn esp32 hausautomatisierung neuronale netze ov2640 version 2 wasserzähler water gauge water meter
                                            235
                                            3381
                                            1531490
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo