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@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @pfried last edited by

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

      Aber nicht vergessen die Alignment Punkte mit ausschneiden

      wenn das Papier passt kann man die Alignment punkte sogar aufmalen

      1 Reply Last reply Reply Quote 0
      • Z
        Zwer2k last edited by

        Seit Anfang des Jahres läuft mein Zähler absolut stabil, auch mit der billigen SD-Karte die am Anfang paar mal neu bespielt werden musst. Super Arbeit 👍 .

        @jomjol
        Ich würde gerne freie GPIOs für andere Zwecke benutzen (z,.B. Bewegungsmelder). Währe es möglich die GPIOs einfach per MQTT durchzureichen? Dürfte glaube ich nicht so viel aufwand sein, müsste eventuell eine Einstellmöglichkeit in der Weboberfläche implementiert werden, am beste als Interrupts und/oder in Zeitabständen.

        Rupert S. J 2 Replies Last reply Reply Quote 0
        • Rupert S.
          Rupert S. @Zwer2k last edited by

          @zwer2k said in Wasserzähler - Version 2 - all-in-device:

          Seit Anfang des Jahres läuft mein Zähler absolut stabil,

          Hmmm, da frage ich mich: Mache ich was falsch?

          • Immer wieder schwarze Bilder
          • Blitzlicht blieb 2x auf Dauerlicht (hab's zufällig im Keller entdeckt und musste es durch Reboot lösen)
          • Ausgelesener Zählerstand "robbt" sich davon obwohl stundenlang überhaupt kein Wasserverbrauch auftrat

          Ich bin schon drauf und dran, auf das Vorgängerprojekt zu gehen: ESP32 macht nur Foto, AI wird auf einen meiner unterbeschäftigten, aber dauernd laufenden Pi's installiert. Da würde ich mir mehr Kontrolle und Einblicke erhoffen.

          Nebenbei: Gibt es von dem ESP32-CAM AI-Thinker Board Versionen ohne integriertem Pullup-Widerstand an IO0? Ich habe Boards, die nach dem Drücken des Reset-Knopfes in den Download-Mode gehen anstatt das Programm zu starten. Laut diesem Schaltplan sollte ein Pullup da sein. Ich habe zwei Versionen des Boards: 99E2 und 8E02. 8E02 zickt da rum, den 99E2 habe ich leider beim Versuch, auf externe Antenne umzulöten, zerstört (die Pads für den "0-Ohm-Widerstand" sind auch unverschämt klein, obwohl reichlich Platz wäre 😡)
          IMG_0323.JPG

          J Z S 3 Replies Last reply Reply Quote 0
          • J
            jomjol last edited by

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

            @michmein danke Michael. Das hatte ich gelesen aber ich verstehe es nicht.
            Was ist mit Netzgröße gemeint?

            Version q gleich schlechter weil kleiner?

            Nein, "q" bedeutet quantisierte Gewichte. Damit kann das Netz kompakter gespeichert werden (Datentyp mit geringerem Speicherbedarf). Aber die Genauigkeit nimmt nicht ab.
            Generell kann man nicht sagen, dass "kleiner = schlechter". Zu groß gewählte Netzarchitekturen lernen, wenn es schlecht läuft, die Bilder nur auswendig, aber abstrahieren die Eigenschaften nicht. Dann sind kleiner Netze in der Tat besser.

            1 Reply Last reply Reply Quote 0
            • J
              jomjol @Rupert S. last edited by

              @rupert-s Ich habe die Erfahrung gemacht, dass es an der OV2640 liegt. Ich habe mehrere Kameras (unterschiedliche Versionen laut Beschriftung auf dem Flexband) probiert und musste auch feststellen, dass einige dazu neigen, sich aufzuhängen. Konnte noch keine Systematik finden.
              Ich habe mir mal 2 weitere bestellt, um weiter zu experimentiren.

              Rupert S. 1 Reply Last reply Reply Quote 0
              • J
                jomjol @Zwer2k last edited by

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

                Seit Anfang des Jahres läuft mein Zähler absolut stabil, auch mit der billigen SD-Karte die am Anfang paar mal neu bespielt werden musst. Super Arbeit 👍 .

                @jomjol
                Ich würde gerne freie GPIOs für andere Zwecke benutzen (z,.B. Bewegungsmelder). Währe es möglich die GPIOs einfach per MQTT durchzureichen? Dürfte glaube ich nicht so viel aufwand sein, müsste eventuell eine Einstellmöglichkeit in der Weboberfläche implementiert werden, am beste als Interrupts und/oder in Zeitabständen.

                Im Prinzip schon, aber momentan arbeite ich an einem anderen Feature (mehrere getrennte Zahlen für Mehrfachzähler). Dein Wunsch ist schon eher speziell, Aufwand dafür vermutlich schon so 1 Nachmittag. Ggf. einen eigenen Fork machen?

                Z 1 Reply Last reply Reply Quote 0
                • Z
                  Zwer2k @Rupert S. last edited by

                  @rupert-s
                  Wie gesagt, solche Probleme kenne ich seit Anfang des Jahres nicht mehr. Hast du schon mal andere SD-Karte getestet? Wenn das Licht an geblieben ist, deutet darauf hin, dass der Zähler hängen geblieben ist, das wiederum kann von einer defekten SD-Karte kommen. Defekte SD-Karte kann auch Timig-Probleme verursachen, die eventuell auch schwarze Bilder erklären könnten.
                  Mit dem mickrigen Antennen-Wiederstad habe ich mich auch schon rumgeärgert.

                  Rupert S. 1 Reply Last reply Reply Quote 0
                  • Z
                    Zwer2k @jomjol last edited by

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

                    Dein Wunsch ist schon eher speziell, Aufwand dafür vermutlich schon so 1 Nachmittag. Ggf. einen eigenen Fork machen?

                    Würdest du den Fork dann mergen? Will schon noch von deinen Updates profitieren 🙂

                    Eine Ausgabe der Firmware-Version und der Up-Time per MQTT währe auch nicht schlecht 😊

                    J 1 Reply Last reply Reply Quote 0
                    • S
                      stan23 @Rupert S. last edited by

                      @rupert-s said in Wasserzähler - Version 2 - all-in-device:

                      Nebenbei: Gibt es von dem ESP32-CAM AI-Thinker Board Versionen ohne integriertem Pullup-Widerstand an IO0? Ich habe Boards, die nach dem Drücken des Reset-Knopfes in den Download-Mode gehen anstatt das Programm zu starten. Laut diesem Schaltplan sollte ein Pullup da sein.

                      Der ESP32 hat sogar einen internen Pull-up an IO0 und anderen Pins.
                      Du könntest im stromlosen Zustand messen ob an IO0 nicht ein Kurzschluss nach GND vorliegt, und wenn nicht, einen externen Widerstand nach VCC setzen. Der kann ja auch bedrahtet sein wenn es in SMD nicht klappt.

                      Rupert S. 1 Reply Last reply Reply Quote 0
                      • Rupert S.
                        Rupert S. @Zwer2k last edited by

                        @zwer2k said in Wasserzähler - Version 2 - all-in-device:

                        Hast du schon mal andere SD-Karte getestet?

                        Ich hatte für dieses Projekt extra zwei frische SanDisk Ultra microSDHC UHS-I Karten mit 16GB gekauft. Class 10 und bis zu 80 MB/s.

                        Was ich vergaß zu schreiben: Ich verwende die Version "master" vom 23.05.21. Das ist nicht die absolut neueste. @jomjol: Sind in den neueren (master oder rolling) diese Themen adressiert? Ich hatte hier ja den Hinweis auf den möglichen Konflikt um GPIO4 gepostet.

                        J 1 Reply Last reply Reply Quote 0
                        • Rupert S.
                          Rupert S. @stan23 last edited by

                          @stan23 said in Wasserzähler - Version 2 - all-in-device:

                          externen Widerstand nach VCC

                          Mit zusätzlichen 10k nach 5V bootet der ESP zuverlässig...

                          1 Reply Last reply Reply Quote 1
                          • Rupert S.
                            Rupert S. @jomjol last edited by Rupert S.

                            @jomjol said in Wasserzähler - Version 2 - all-in-device:

                            Ich habe die Erfahrung gemacht, dass es an der OV2640 liegt.

                            Meine drei Kameras sind alle identisch mit "TY-OV2 640-V2.0" beschriftet.

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

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

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

                              Dein Wunsch ist schon eher speziell, Aufwand dafür vermutlich schon so 1 Nachmittag. Ggf. einen eigenen Fork machen?

                              Würdest du den Fork dann mergen? Will schon noch von deinen Updates profitieren 🙂

                              Eine Ausgabe der Firmware-Version und der Up-Time per MQTT währe auch nicht schlecht 😊

                              Grundsätzlich schon. Die GPIOs sind eigentlich schon durch als Ausgabe-PINs für einen anderen Feature Request belegt - also schon ein Interessenkonflikt. Wenn du das parametrisierbar machst und gut kapselst, dann kann ich das übernehmen.
                              Early Warning: wenn der Platz auf dem Speicher (aktuelle Auslastung 92%) für zentrale Features knapp wird, ist das ein möglicher Streichkandidat.
                              Beste Grüße,
                              jomjol

                              Z 1 Reply Last reply Reply Quote 0
                              • J
                                jomjol @Rupert S. last edited by

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

                                @zwer2k said in Wasserzähler - Version 2 - all-in-device:

                                Hast du schon mal andere SD-Karte getestet?

                                Ich hatte für dieses Projekt extra zwei frische SanDisk Ultra microSDHC UHS-I Karten mit 16GB gekauft. Class 10 und bis zu 80 MB/s.

                                Was ich vergaß zu schreiben: Ich verwende die Version "master" vom 23.05.21. Das ist nicht die absolut neueste. @jomjol: Sind in den neueren (master oder rolling) diese Themen adressiert? Ich hatte hier ja den Hinweis auf den möglichen Konflikt um GPIO4 gepostet.

                                Ja - in den neueren Versionen wird die SD-Karte im 1-Line Modus angesprochen. Dort ist der GPIO4 dann nicht in Benutzung, bzw. nur für die LED frei.

                                1 Reply Last reply Reply Quote 0
                                • Z
                                  Zwer2k @jomjol last edited by

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

                                  Grundsätzlich schon. Die GPIOs sind eigentlich schon durch als Ausgabe-PINs für einen anderen Feature Request belegt - also schon ein Interessenkonflikt.

                                  Du meinst vermutlich die Anfrage um Externe Flash-LED ansprechen zu können.

                                  Welche GPIOs könnten überhaupt für andere Zwecke verwendet werden?
                                  So wie ich es sehe sind die meisten für die SD-Karte verwendet.
                                  GPIO16 sollte als einziger ohne Einschränkungen nutzbar sein.
                                  Serielle Schnittstelle wird ja fast nie benutzt, somit können doch GPIO1 und 3 für andere Zwecke verwendet werden.
                                  GPIO 0 könnte bei richtiger Beschaltung auch verwendet werden, ist halt wichtig das hier beim Booten HI anliegt.
                                  In FeatureRequest.md steht was davon, dass GPIO 12 und 13 verfügbar sind. Werden die nicht auch von der SD-Karte mitbenutzt?

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

                                    @zwer2k Verfügbar sind GPIO 12 und 13, jedoch jetzt schon per http steuerbar für eine Spezialanwendung. Die Serielle Schnittstelle wird zwar im Betrieb nicht genutzt, ich benötige sie aber sehr intensiv für die Entwicklung und das Debugging. Daher müsste deine Implementierung sehr einfach deaktivierbar sein.
                                    Mit GPIO0 habe ich bisher keine guten Erfahrungen gemacht. Es schein irgendwie auch noch mit der SD-Karte verknüpft zu sein.

                                    Z 1 Reply Last reply Reply Quote 0
                                    • Rupert S.
                                      Rupert S. last edited by Rupert S.

                                      Hallo,

                                      mein verlängertes Wochenende habe ich damit verbracht, ESP-Boards, Kameras und SD-Karten hin und her zu tauschen. Meine Erkenntnis: Auch mit einem externen 10k-Widerstand von IO0 nach +5V gerät ein Board in den Download-Modus -- vielleicht ist es doch einfach nur defekt...
                                      Von den beiden SD-Karten ist jetzt die andere im Einsatz. Mal schau'n.

                                      Bin nun auf Version master - v7.1.1 - 2020-05-30.
                                      Was mir beim vielen Konfigurieren aufgefallen ist: In der config.ini steht (via Fileserver)

                                      [System]
                                      TimeZone = CET-1CEST,M3.5.0,M10.5.0/3
                                      

                                      Die Website /index_configure.html zeigt aber nur "Timezone: CET-1CEST". Das wird beim Speichern (Update Config.ini) dann auch übernommen, so dass die Erweiterung mit den Schalttagen verloren geht.

                                      Ist es richtig, dass der ESP intern mit Zulu-Time rechnet? Ich hatte mich gewundert, dass beim Auslesen der SD-Karte (mit dem Desktop) die config.ini einen Zeitstempel in der Zukunft hatte.

                                      So ganz stabil und mit zuverlässigen Ergebnissen läuft's bei mir immer noch nicht. Wenn ich daher "meine 5 Ct" für Verbesserungen einbringen darf: Zum Debuggen fände ich weitere MQTT-Kanäle sehr hilfreich. Z.B. einen für den RAW-Value (inkl. der N für nicht erkannte Ziffern) und einen für corrected oder checked value -- welcher auch immer vom "Topic" abweichen kann. Ich hätte es ja fast selbst in einen fork eingebaut, aber die Komplexität überfordert mich dann doch. Und: Den Error-Kanal sollte man m.E. nur befeuern, wenn tatsächlich ein Fehler vorliegt. Die kontinuierlichen "no error" oder früher " " finde ich nicht optimal...

                                      Viele Grüße, Rupert

                                      Rupert S. 1 Reply Last reply Reply Quote 0
                                      • Rupert S.
                                        Rupert S. @Rupert S. last edited by

                                        @rupert-s said in Wasserzähler - Version 2 - all-in-device:

                                        Von den beiden SD-Karten ist jetzt die andere im Einsatz. Mal schau'n.

                                        Nein, kein Erfolg: in <90 min 2x Dauerlicht. Es kommen dann auch keine Daten mehr. Der Webserver antwortet zwar noch, z.B. auf /capture_with_flashlight, aber das reaktiviert die Bilderkennung auch nicht. Immerhin funktioniert ein /reboot aus der Ferne...

                                        1 Reply Last reply Reply Quote 0
                                        • RolandR
                                          RolandR last edited by RolandR

                                          Ich habe in den letzten Tagen auch meine ersten Gehversuche mit dem AI-on-the-edge Wasserzähler-Leser gemacht. Nach diversen Fehlversuchen (zwischendrin hat der esp32-cam alle 20 Sekunden gebootet, weil ich wohl irgendwas in der config.ini hatte, was ihm nicht gefallen hat) und einem regelmäßig bei der Configuration verschwindenen config.ini (inzwischen habe ich immer ein Backup zur Hand, das ich zur Not wieder hochladen kann), sieht jetzt eigentlich alles ganz gut aus, außer dass die digits nicht zuverlässig erkannt werden:
                                          2021-06-06_18-25-32.png
                                          Manchmal erkennt er die 8 als 8, meistens allerdings als 0. Und die Einerstelle des Zählerstandes (zwischen 6 und 7, sollte also 6 oder zur Not "N" sein), wird inzwischen auch als 0 erkannt 😞
                                          Was kann ich dagegen tun?
                                          Ich habe schon so lange am Rohr gedreht, dass ich jetzt genau bei 90° liege und keine zusätzlichen Artefakte durch die Rotation des Bildes dazu kommen, aber das löst das Problem leider auch nicht.
                                          Gibt es vielleicht irgendwo eine andere Datenbank für weiße Zahlen auf schwarzem Grund?
                                          Oder kann ich die selber anlernen?

                                          Gruß
                                          Roland

                                          1 Reply Last reply Reply Quote 0
                                          • TbsJah
                                            TbsJah last edited by TbsJah

                                            @jomjol Wie ist der Ablauf bei der Erkennung?
                                            Es wird ein Bild erstellt
                                            Gemäß den Vorgaben gedreht
                                            Jede Markierung analysiert?

                                            Ich habe immer wieder dieses Phänomen. Als würde die Erkennung bereits starten obwohl das Bild noch nicht korrekt gedreht ist

                                            Negative Rate - Returned old value - read value: 111.711 - raw value: N0N11.NN1 - checked value: 111.710999
                                            

                                            e1112d3c-8648-4253-8a4d-7afce8324eb3-image.png
                                            3aba4fb8-e01d-4880-a612-ffdf49d213bc-image.png

                                            Log Eintrag
                                            Durch das scheinbar nicht fertige Drehen sind dann leider auch Falscherkennungen vorhanden.
                                            Ist von 162.791 auf 162.885 gesprungen obwohl eigentlich 162.805
                                            Die errechnete Flow Rate wäre aber auch nicht korrekt oder habe ich da einen Denkfehler?
                                            Wäre doch 0.094 und nicht 0.018799

                                            Vermutlich habe ich jedoch etwas falsch eingestellt. Werde auf alle Fälle noch abkleben wie weiter oben empfohlen


                                            2021-06-07T10:24:41: task_autodoFlow - round done
                                            2021-06-07T10:24:41: CPU Temperature: 56.1
                                            2021-06-07T10:28:29: task_autodoFlow - next round - Round #2
                                            2021-06-07T10:28:29: FlowControll.doFlow - ClassFlowMakeImage
                                            2021-06-07T10:28:38: FlowControll.doFlow - ClassFlowAlignment
                                            2021-06-07T10:29:34: FlowControll.doFlow - ClassFlowDigit
                                            2021-06-07T10:29:40: FlowControll.doFlow - ClassFlowPostProcessing
                                            2021-06-07T10:29:40: FlowControll.doFlow - ClassFlowMQTT
                                            2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=29954, MULTICAL21/Zählerstand, 162.791
                                            2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=25632, MULTICAL21/error, no error
                                            2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=46787, MULTICAL21/rate, 0.000000
                                            2021-06-07T10:29:40: sent publish successful in MQTTPublish, msg_id=5091, MULTICAL21/timestamp, 2021-06-07T10:28:38
                                            2021-06-07T10:29:41: task_autodoFlow - round done
                                            2021-06-07T10:29:41: CPU Temperature: 55.0
                                            2021-06-07T10:33:29: task_autodoFlow - next round - Round #3
                                            2021-06-07T10:33:30: FlowControll.doFlow - ClassFlowMakeImage
                                            2021-06-07T10:33:38: FlowControll.doFlow - ClassFlowAlignment
                                            2021-06-07T10:34:35: FlowControll.doFlow - ClassFlowDigit
                                            2021-06-07T10:34:40: FlowControll.doFlow - ClassFlowPostProcessing
                                            2021-06-07T10:34:40: FlowControll.doFlow - ClassFlowMQTT
                                            2021-06-07T10:34:40: sent publish successful in MQTTPublish, msg_id=23117, MULTICAL21/Zählerstand, 162.885
                                            2021-06-07T10:34:40: sent publish successful in MQTTPublish, msg_id=1050, MULTICAL21/error, no error
                                            2021-06-07T10:34:41: sent publish successful in MQTTPublish, msg_id=47338, MULTICAL21/rate, 0.018799
                                            2021-06-07T10:34:41: sent publish successful in MQTTPublish, msg_id=5971, MULTICAL21/timestamp, 2021-06-07T10:33:38
                                            2021-06-07T10:34:41: task_autodoFlow - round done
                                            2021-06-07T10:34:41: CPU Temperature: 53.9
                                            2021-06-07T10:38:30: task_autodoFlow - next round - Round #4
                                            2021-06-07T10:38:30: FlowControll.doFlow - ClassFlowMakeImage
                                            2021-06-07T10:38:38: FlowControll.doFlow - ClassFlowAlignment
                                            2021-06-07T10:39:34: FlowControll.doFlow - ClassFlowDigit
                                            2021-06-07T10:39:40: FlowControll.doFlow - ClassFlowPostProcessing
                                            2021-06-07T10:39:40: FlowControll.doFlow - ClassFlowMQTT
                                            2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=63797, MULTICAL21/Zählerstand, 162.885
                                            2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=4306, MULTICAL21/error, Rate too high - Returned old value - read value: 10112.885 - checked value: 10112.885
                                            2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=8474, MULTICAL21/rate, 0.000000
                                            2021-06-07T10:39:40: sent publish successful in MQTTPublish, msg_id=59232, MULTICAL21/timestamp, 2021-06-07T10:33:38
                                            2021-06-07T10:39:40: task_autodoFlow - round done

                                            J 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            413
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            ai on the edge cnn esp32 hausautomatisierung neuronale netze ov2640 version 2 wasserzähler water gauge water meter
                                            235
                                            3381
                                            1551956
                                            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