Navigation

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

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wasserzähler - Selfmade

    This topic has been deleted. Only users with topic management privileges can see it.
    • W
      watcherkb @pfried last edited by

      @pfried OTA geht doch schon längst meine ich.

      pfried 1 Reply Last reply Reply Quote 0
      • pfried
        pfried @watcherkb last edited by

        @watcherkb Ich habe es einmal getestet, da ging es nicht, oder ich habe etwas falsch gemacht.... Kannst Du bitte eine Anleitung zur Verfügung stellen?

        W 1 Reply Last reply Reply Quote 0
        • W
          watcherkb @pfried last edited by

          @pfried siehe hier: https://forum.iobroker.net/topic/23577/wasserzähler-selfmade/656

          pfried 1 Reply Last reply Reply Quote 0
          • S
            Stev8176 @jomjol last edited by

            @jomjol
            Zu deiner Frage die ganze Bildverarbeitung auf den ESP32 zu verlagern.

            Von mir ein klares Ja 👍 zu solo Lösung.
            Längere Antwortzeiten sind, so denke ich zu verkraften.

            Wenn du noch Unterstützung bezüglich Hardware benötigst sag beschied. Ich könnte dir eine passende Hardware entwickelt entweder mit einem ESP32 mit externem zusätzlichem RAM oder evtl mit einem zusätzlichem Co-Prozessor oder Prozessor, FPGA, mit einem ESP8266 ....

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

              @pfried Problier mal folgendes tlite-File: https://github.com/jomjol/neural-network-digital-counter-readout/blob/master/Train_CNN_Digital-Readout_Version_6.1.2.tflite

              Dachte, ich hätte sie schon beim letzten Mal geteached. Gerade aber erst gemerkt, dass dein Bild in Thread 931 ein png-Format hat. Ich hatte es einfach reinkopiert, aber der Algo verarbeitet nur jpg-Dateinen und hat es daher beim Anlernen einfach ausgelassen :-).

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

                @pfried, @michaeljoos, @ehome, @Knallochse und natürlich ALLE anderen

                Ich fasse mal eure Rückmeldungen zusammen:

                • jetzige Lösung mit ESP + Docker passt für fast alle (😊 ihr habe es ja auch am laufen)
                • Vereinzelt auch Wunsch nach einer "einfachen" Single-Tool Lösung
                • Hauptthema ist die lange Response-Zeit für eine ESP32-only Lösung
                • Debugging und Testen ist bei den langen Response-Zeiten auch aufwendig

                Für die Responsezeiten hätte ich die Lösung: das Auslesen kann ich per Timer auch offline periodisch stattfinden lassen und dann eine sofortige Rückmeldung mit dem zuletzt umgewandelten Wert kommt. Ich denke auch, dass eine Hybridlösung einfach möglich sein sollte. Denn wenn das System mal läuft, wäre es ein leichtes, auch als Bildserver für den Docker-Container zu funktionieren. Letzterer könnte dann sogar als Generator für das Config-File für des ESP32 dienen.

                Technischer Stand ist der Folgende:

                • einige Komponenten laufen schon im Einzelmodus (Bildererkennung, Bildalignment und ROI-Exktraktion, Vereinfache Config.ini Prozessierung
                • noch fehlende Komponenten: Ansteuerung Kamera, http-Server Implementierung
                • bisher ist die Rechenpower und der Speicher (4 MB PSRAM) ausreichend
                • Hauptproblem: bei Kombination von mehr als drei Modulen kommt es zu einem unbekannten Stack-Overflow, dessen Ursache ich noch nicht finden konnte. Leider geht JTAG-Debuging nicht, da die Debugports durch Kamera und SD-Karte belegt sind. Das macht die Fehlersuche sehr aufwendig.

                Ich halte euch auf dem Laufenden.

                Beste Grüße,
                jomjol

                S 1 Reply Last reply Reply Quote 0
                • S
                  Stev8176 @jomjol last edited by

                  @jomjol
                  wenn du die SD-Karte nicht brauchst dann kann ich dir gerne ein JTAG Interface "anlöteten"

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

                    @Stev8176 Danke für das Angebot - leider ist die SD-Karte notwendig. Ich muss die Bilder zwischenspeichern, denn ich kann nicht mehrere Bitmaps und das Neuronale Netz im Speicher belassen. Dafür reicht schlicht der Speicher nicht.

                    Aber bei nächster Gelegenheit werde ich auf dein Angebot für Hardware kommen. Denn da fehlt mir noch etwas Erfahrung.

                    Beste Grüße,
                    jomjol

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      Stev8176 @jomjol last edited by

                      @jomjol Die vielen zugriffe auf die SD-Karte reduziert die Lebensdauer.
                      Wie viel RAM würdest du den benötigen um alles zu speichern? Würden dir 8MB reichen? 8MB ist das was der ESP32 ohne weiteres kann aber halt nur 4MB Memory Mapped zur gleichen zeit.

                      Grüße

                      1 Reply Last reply Reply Quote 0
                      • pfried
                        pfried @watcherkb last edited by

                        @watcherkb Danke für den Hinweis!

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

                          @jomjol Sorry, mein Fehler in Zukunft nur mehr jpg Dateien 😊

                          1 Reply Last reply Reply Quote 0
                          • M
                            michaeljoos last edited by

                            @jomjol Habe unterdessen die >200 Bilder für die Zeiger bereit. Aber so wie es ausschaut, kann ich noch keine PN verschicken. Ich häng die Zip-Datei einfach hier rein und hoffe es klappt 🙂 --> Zeiger.zip

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

                              @michaeljoos Bilder sind angekommen - ich werde es bei nächster Gelegenheit (Wochenende?) trainieren.

                              1 Reply Last reply Reply Quote 0
                              • E
                                el_kassi last edited by

                                Moin.
                                Hab mich nun auch an das Projekt gewagt, da es ziemlich genau das ist, was ich vor hatte selber zu erstellen. Vielen Dank schonmal für die viele Arbeit, die hier reingesteckt wurde!!
                                Und sorry vorab, wenn einige Fragen bereits irgendwo beantwortet wurden. Das Nachladen der Artikel ist ein wenig ein Krampf.

                                ESP32-CAM liegt in einer gedruckten Halterung und schaut auf den Zähler, ca. 6 cm Abstand. Bild sieht soweit ok aus, nicht ganz weiß, sondern etwas grau.
                                Erstes Problem: Der interne Blitz ist grell und spiegelt sich im Glas, was die Zahlen teilweise unlesbar macht. Ich habe dafür den Arduino-Code angepasst, so dass ich die Intensität des flashes einstellen kann - hat aber nur bedingt geholfen, da er auch bei niedriger Intensität schnell einen ziemlich grellen Punkt in die Mitte und in die Rundung der Zahlenräder haut. Ich habe mir daher beholfen, in dem ich einen aus Alufolie gebastelten Diffuser in die Halterung gefriemelt hab (leider konnte ich nur in schwarz drucken - weiß wäre hier wohl besser gewesen). Jetzt hab ich keine Reflexionen mehr in den wesentlichen Bereichen des Bildes.

                                Jetzt steh ich vor der Einrichtung der Config für das Docker Image (welches auf meiner Syno läuft).

                                1. config: Rotation.

                                Habe gemerkt, dass trotz aller Berechnungen, ich das Bild in Photoshop um 1° gegen den Uhrzeigersinn drehen muss, um es gerade zu bekommen. Trage ich jetzt unter

                                [alignment]
                                initial_rotation_angle=1
                                

                                ein, oder -1 oder 359?

                                1. config manuell: [Digital_Digit]

                                Wenn ich jetzt für die Digitalen Ziffern x, y, w, h angebe: beziehe ich das auf mein Originalbild, oder auf das um 1° gedrehte? Dadurch, dass zumindest PS beim Drehen ja einiges an Rahmen einfügt, stimmen die Zahlen ja eventuell gar nicht mehr.
                                Oder wie bekomme ich ein Bild, wie es nach dem Rotieren vom Programm verwendet wird?

                                1. Meine erstellte config wollte ich im tool http://wasserzaehler.ignorelist.com/preparation/ hochladen, bekomme aber Fehler, die nicht ganz schlüssig sind.
                                Exception Type: KeyError
                                Exception Value: Analog_Counter
                                

                                Ich habe in AnalogReadOut stehen: Enabled=False
                                Und den o.g. Key auskommentiert. Das schein ihm nicht zu gefallen.
                                Wenn ich ihn wieder einbaue, bekomm ich entspr. Fehler mit Modelfile und anschließend names. Schreibe ich names= , da ich keine habe, gibt's einen anderen Fehler: Exception Value: Analog_Counter. -- dieses Mal mit Punkt.
                                Wie bekomme ich es hin, dass ich das Tool nutzen kann, um meine Config zu prüfen oder zu erstellen ohne Analog Counter?

                                1. Frage wäre: Da ich beim Sensus weiße Zahlen auf schwarzen Grund vorne und weiß auf rot hinten habe: gibt's da schon ein Modelfile für, oder wie kann ich Ziffern beitragen zum Lernen?

                                Viele Fragen, aber ich hoffe, hier Antworten zu finden.

                                Danke schonmal vorab

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

                                  @el_kassi
                                  freut mich, dass du meinen Zaehler verwendet - eine Menge fragen - ich versuche es erstmal kurz - bitte gerne gerne bei weiteren Details nachfragen.

                                  zu 1) & 2):
                                  Schau dir mal die manuelle Erstellung der Alignment Parameter an, dort findest du die Koordinaten und deren Bedeutung:
                                  https://github.com/jomjol/water-meter-system-complete/blob/master/images/Alignment_procedure_draft.pdf

                                  zu 3)
                                  Ich schaffe es nicht, das Tool zum Erstellen der Config.ini immer auf dem neuesten Stand zu halten. D.h. er kommt nicht immer mit den neuesten ini-Parameter zu recht. Am besten verwendest du dort die Default-Config und erstellst damit das Alignment und die ROIs und kopiertst dann aus dem Config.ini File die entsprechenden Zeilen in dein eigenes aus dem Download von Github.
                                  Ich werde bei Gelegenheit das Tool entsprechend anpassen - habe aber gerade keine Kapa dafür

                                  zu 4)
                                  Bis jetzt sind nur Ziffern mit schwarzer Schrift auf weißem Grund geteached. Ich nehme neue Varianten sehr gerne mit auf.
                                  Schalt bei deinem Zähler das Logging ein und schicke mit dann so ca. 3-4 Bilder pro Ziffer und Stelle. Ich integriere sie dann.

                                  Viel Erfolg und bei Fragen gerne melden,

                                  jomjol

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

                                    @michaeljoos sagte in Wasserzähler - Selfmade:

                                    @jomjol Habe unterdessen die >200 Bilder für die Zeiger bereit. Aber so wie es ausschaut, kann ich noch keine PN verschicken. Ich häng die Zip-Datei einfach hier rein und hoffe es klappt 🙂 --> Zeiger.zip

                                    Hi Michael,
                                    ich habe deine Zeiger geteached: https://github.com/jomjol/neural-network-analog-needle-readout/blob/master/CNN_Analog-Readout_Version-6.2.0.tflite

                                    Gruß,
                                    jomjol

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      michaeljoos last edited by

                                      @jomjol Super, vielen Dank! Habe gerade noch gesehen, dass ich noch h5-Files habe. Habe ich da noch etwas altes installiert und es müssten tflite-Files sein? Ich nehme an, ich muss diese Datei einfach in das Verzeichnis kopieren, oder?

                                      Gruss
                                      Michael

                                      Knallochse 1 Reply Last reply Reply Quote 0
                                      • Knallochse
                                        Knallochse @michaeljoos last edited by

                                        @michaeljoos sagte in Wasserzähler - Selfmade:

                                        @jomjol Super, vielen Dank! Habe gerade noch gesehen, dass ich noch h5-Files habe. Habe ich da noch etwas altes installiert und es müssten tflite-Files sein? Ich nehme an, ich muss diese Datei einfach in das Verzeichnis kopieren, oder?

                                        Gruss
                                        Michael

                                        Für die Erkennung mit den tflite-Files brauchst du auch den lite-Docker. Ist nicht kompatibel

                                        docker pull jomjol/wasserzaehler:rolling-lite

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

                                          @Knallochse sagte in Wasserzähler - Selfmade:

                                          @michaeljoos sagte in Wasserzähler - Selfmade:

                                          @jomjol Super, vielen Dank! Habe gerade noch gesehen, dass ich noch h5-Files habe. Habe ich da noch etwas altes installiert und es müssten tflite-Files sein? Ich nehme an, ich muss diese Datei einfach in das Verzeichnis kopieren, oder?

                                          Gruss
                                          Michael

                                          Für die Erkennung mit den tflite-Files brauchst du auch den lite-Docker. Ist nicht kompatibel

                                          docker pull jomjol/wasserzaehler:rolling-lite

                                          Update: ab der Version 7 gibt es die lite nicht mehr explizit, sondern die normalen rolling unterstützen die lite (nur noch die lite).

                                          rolling-lite wird nicht mehr upgedated!

                                          Bitte folgenden pull verwenden:

                                          docker pull jomjol/wasserzaehler:rolling
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            michaeljoos last edited by

                                            Tiptop, alles klar. Ich war noch auf raspi-latest.

                                            Jetzt scheint es bei mir nun doch, dass wir auch die Ziffern anlernen dürfen/sollten/müssen 😄
                                            Mit dem h5-File wurde komischerweise die Ziffer 3 immer richtig erkannt, obwohl die definitiv anders ausschaut als bei euch. Jetzt mit dem tflite-File wird diese als 1 erkannt:

                                            9b37499b-2ec0-4651-979b-8f6584e4cc6c-image.png

                                            b6d65b86-1803-4b69-8df1-6d175b6038c0-image.png

                                            Aber kein Stress...bin momentan 2 Wochen in Kärnten im Urlaub 🙂

                                            @jomjol Reicht es dir, wenn ich die Ziffern so wie oben die 3 aus dem Log sende?

                                            Gruss
                                            Michael

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            788
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            how-to wasser wasserzähler
                                            48
                                            1089
                                            302024
                                            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