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.
    • Knallochse
      Knallochse @Garfonso last edited by

      @Garfonso Bild kannst du direkt von der esp-cam holen
      http://ip.esp.cam/capture_with_flashlight
      Dann die 3 Referenzbilder mit Grafikprogrammen deiner Wahl erstellen

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

        @Garfonso ich habe meine esp-cam gleich so ausgerichtet, dass ich das Bild nicht drehen muss. Geht das bei dir nicht?

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

          @Knallochse said in Wasserzähler - Selfmade:

          @Garfonso ich habe meine esp-cam gleich so ausgerichtet, dass ich das Bild nicht drehen muss. Geht das bei dir nicht?

          Aktuell nicht, nein. "Genau" ist es eine Drehung von 88,14°. 90° Drehung ist dann schon recht waagerecht.

          //Edit: ok, jetzt hab ich es kapiert. Man kann im Tool, wenn man das "Raw" Bild hochlädt auch die Drehung durchführen lassen. Da passt der Winkel schon gut, den ich ermittelt hab, aber die Koordinaten sind alle deutlich anders, als ich sie hatte bzw. als sie beim rotierten Bild rausgekommen sind. Hm. Mal sehen, was jetzt bei rum kommt. 🙂

          //Edit 2: und mit dem Hinweis auf image_tmp habe ich es nun auch hinbekommen. Die analogen Zeiger sind etwas wackelig erkannt, da guck ich mal weiter. -> was wird denn da erkannt? Ich hoffe nur die Zeigerposition, oder? Die Ziffern sind da sehr schwer zu lesen, auch als Mensch, da die auf dem Glas und dahinter nochmal drauf sind und immer doppelt erscheinen.

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

            @Garfonso Zeig doch mal ein Bild deiner roi.html.
            Vielleicht kann man erkennen, was da noch nicht ganz passt

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

              @Knallochse
              Danke für das Angebot. Ich hab die Kamera jetzt nochmal anders montiert und aktuell sehen die Ergebnisse recht gut aus. Die analogen Werte waren am Ende nicht das Problem. Irgendwie hatte ich heute den ganzen Tag Spiegelungen auf den ersten beiden Zahlen, die zu Problemen geführt haben. Da half nur den ESP32 rumdrehen, so dass die LED anders ausgerichtet ist.

              Nun fehlt höchstens noch ein schönes Gehäuse. Aber da weiß ich noch nicht so richtig weiter (hab keine Ahnung von 3D Druck und bin mir nicht sicher, ob ich das Projekt auch noch starten will 😉 )

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

                Hallo,
                ich habe den Wasserzähler nun einige Tage laufen aber es gibt immer wieder Probleme mit der Erkennung, wobei ich glaube das Foto eine recht gute Qualität hat.
                roi.jpg

                Heute habe ich nochmal den Wert "gestellt" mit folgendem Aufruf:

                http://192.168.0.30:3000/setPreValue.html?value=23818.1021
                Als Ergebnis wurde angezeigt: Last value set to: 23818.1021

                Nun habe ich die Erkennung angefragt:
                http://192.168.0.30:3000/wasserzaehler.html?usePreValue&single
                und folgende Antwort erhalten:
                23818.1021 Error - RateTooHigh ({:.4f})Error - NegativeRate 2381.099

                Wie kann ich die Erkennung zurückstellen??
                Gibt es bei der Software eine Möglichkeit Bilder selber zu trainieren ?

                Es gibt z.B. Probleme mit 1 und 7 bei der letzten Ziffer Stelle

                Obwohl die Auslosung jede Stunde Läuft werden pro Tag nur 1 bis 2 Stände erfasst - und dann manchmal noch falsch

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

                  @ehome Du kannst die Werte jederzeit wieder mit setPreValue anpassen:

                  http://server-ip:3000/setPreValue.html?value=2381.099
                  
                  E 1 Reply Last reply Reply Quote 0
                  • M
                    michaeljoos last edited by michaeljoos

                    @jomjol

                    Habe mich jetzt 2 Tage eingelesen und bereits vieles zum laufen gebracht! tolles Projekt mit sehr viel Aufwand deinerseits!!

                    • ESP32 mit Cam funktioniert und liefert ein Bild
                    • Die Linse habe ich präpariert und konnte den Fokus scharf stellen
                    • Doker "raspi latest" läuft auf einem Raspberry 4
                    • http://server-ip:3000/wasserzaehler.html liefert ebenfalls Daten
                    • Die Konfiguration habe ich mit dem WYSIWYG tool gemacht, auch das hat tiptop funktioniert und ist eine grosse Hilfe!

                    Noch offen:

                    • Der 3D-Drucker ist unterwegs. Deshalb konnte ich bis jetzt nicht mit dem schwarzen Gehäuse testen. Sagen wir mal mit einem provisorischen "Gebastel" und vielen Problemen wegen der Spiegelung 🙂 Aber momentan habe ich ein ganz akzeptables Bild.

                    roi.html liefert das hier:

                    2a91d42a-7cd5-4336-9ec6-dc53c8c08ecd-image.png

                    wasserzaehler.html das:
                    992N.867 00992N 867

                    Die Zahlen passen soweit, ausser die 8 hat er noch nicht richtig erkannt.
                    Was aber gar nicht passt sind die Zeiger. Kann es sein, dass diese nicht "angelernt" sind? Die sind ja definitiv nicht identisch mit denen von deinem Zähler. Oder habe ich sonst noch was nicht berücksichtigt?

                    Hinzu kommt ja auch noch, dass die erste Kommastelle bei meinem Zähler noch als Zahl geliefert wird. Ist das ein Problem? Schlussendlich habe ich die Zahlen als Rohdaten zur Verfügung, und das kriege ich in openHAB sicher irgendwie richtig angezeigt. Ich frage eher wegen der Plausibilitätsprüfung und anderen Logiken die du eingebaut hast.

                    Denke das reicht mal 🙂

                    Besten Dank
                    Michael

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

                      @michaeljoos Gegen die Spiegelung hilft ein Filzstück so wie bei einem Sessel, unten an den Beinen, angebracht wird. Die Zeiger müssen definitiv angelernt werden da bis jetzt in dem Projekt noch keiner eine solche Wasseruhr hatte. Ist das eine "Glashütte" Wasseruhr? 😊

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

                        @michaeljoos Hallo Michael,

                        danke für dein Feedback, freut mich, dass es bei dir soweit gut klappt.

                        Zu deinen Fragen:

                        1. Zeiger: ja, diese Art von Zeigern hatten wir noch nirgends und die muss ich anlernen. Dass übernehme ich gerne. Dazu brauche ich klassifizierte Bilder der verschiedenen Zeigerstellungen. Der Dateiname sollte am Anfang die Zeigerstellung mit einer Nachkommastelle haben - also z.B. "0.6abc.jpg", "5.8def.jpg" & "6.8ghi.jpg" für die obigen Zeiger. Das ist etwas mühsam. Idealerweise brauche so 200-300 Bilder.
                        2. Nachkommastelle als Digital. Das kann mein Programm momentan nicht, aber mit einem einfachen Trick würde ich es umgehen. Nimm einfach die Ziffern als m³ und teile nachher das Ergebnis durch 10. Dann funktionieren die Tools wie preValue und Fehlerkorrekturen auch.

                        Auch die Ziffern von deinen Digitalzahlen sind etwas anders, wie die bisher trainierten - deutlich filigraner. Würde mich nicht wundern, wenn es hier ab und zu noch zu Problemen kommt. Auch hier kann ich anbieten, sie in die normale Trainingsumgebung mit aufzunehmen. Dann haben weitere Nutzer auch gleich etwas davon.

                        Beste Grüße und gerne bei Fragen einfach melden,

                        jomjol

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

                          @pfried Besten Dank für den Tip mit dem Filzstück. Werde ich testen wenn das Problem immer noch besteht mit dem schwarzen Gehäuse! "Glashütte"...ist das ein Hersteller?

                          @jomjol Das Angebot nehme ich gerne an 🙂 Gestern habe ich meinen 3D-Drucker gekriegt und ab heute Abend geht es los mit dem Drucken 👍 Sobald ich ein anständig scharfes Bild ohne Spiegelung habe werde ich die 200-300 Bilder sammeln. Nur noch zwei Fragen: die Buchstaben abc...def...ghi sind nur da um unterschiedliche Dateinamen zu haben, oder? Wichtig ist die Zahl mit Kommastelle. Und die Grösse ist egal? Oder in einem bestimmten Verhältnis?

                          Nimm einfach die Ziffern als m³ und teile nachher das Ergebnis durch 10. Dann funktionieren die Tools wie preValue und Fehlerkorrekturen auch.
                          --> Genau so habe ich das gemacht. Alles in openHAB eingelesen (http-Binding) und dann mit einem Java-Script transformiert und durch 10 geteilt. Passt:

                          7409a26f-3576-4b9c-a9f1-2cd3b09ea81a-image.png

                          Ich melde mich wieder wenn ich die Zeiger-Bilder habe...wegen den Ziffern schaue ich mal was passiert und wie hoch die "Fehlerrate" ist.

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

                            @michaeljoos Die Bilder von den Zeigern sollten quadratisch sein. Die Größe am besten so, wie sie auch vom Server ausgeschnitten werden, dann kannst du einfach die Log-Funktion verwenden.
                            Intern arbeitet die Erkennung mit 32x32 Pixel großen Bildern. Die Umwandlung mache ich aber besser selbst mit dem Makro, dann ist der Skalierungsalgorithmus identisch mit dem im Server verwendeten (Interpolation etc.).

                            P.S.: ja, die abc, def, ghi waren nur Platzhalten. Wie der Dateilname nach der Klassifizierung ist, ist völlig egal.

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

                              Hm bei mir hat er die letzte Zeut Probleme mit er Erkennung der digitalen Ziffern.
                              Die erste 0 wird oft als 6 oder 8 erkannt.
                              Hat einer ähnliche Probleme?

                              bfb8fcbc-4bfd-4211-8488-302becc0b306-image.png

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

                                Habe die config.ini jetzt wieder leicht angepasst, so dass die erste Ziffer mehr mittig erfasst wird.
                                Jetzt funktioniert die Erkennung wieder.
                                Hatte vor kurzem die Config schon mal anpassen müssen, weil die Ziffern nicht mehr genau mittig waren.
                                Irgendwie komisch.
                                Mal gespannt wie lang es jetzt wieder funktioniert.

                                e82a920c-5aca-4300-bdba-5d1aca07e40e-image.png

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

                                  @Atifan Probier mal die Ziffern mit etwas mehr Rand auszuschneiden. Es funktioniert i.d.R. besser wenn die Ziffern mittiger sind und etwas Rand haben.

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

                                    Hallo zusammen

                                    Bin gerade am drucken der Teile. Kann mir jemand auf die Sprünge helfen wie ich in Cura die Support-Settings einstellen muss? Ich kapier das noch nicht richtig (z.B. der Deckel mit den Lüftungslöchern...

                                    Update: Ich glaub es funktioniert...den Deckel habe ich einfachheiltshalber 180° gedreht, dann funktioniert es auch ohne "Support".

                                    Besten Dank
                                    Michael

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

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

                                      Mal eine Frage an euch Nutzer:

                                      Ich spiele gerade mit dem Gedanken, die ganze Bildverarbeitung auf den ESP32 zu verlagern (Alignment & Ziffernerkennung). Das würde dann gegebenfalls den Dockercontainer überflüssig machen. Ob es geht, ist noch nicht klar (vor allem wegen dem Limit im RAM-Speicher). Das hätte aber im wesentlichen zwei Konsequenzen:

                                      1. wesentlich einfachere Installation - da kein Docker und keine Verbindung zwischen beiden. Einfach nur ESP32-CAM flashen 👍
                                      2. deutlich langsamere Antwortzeiten - erste Versuche zeigen, dass das Alignment und die Neuronalen Netze dann eher im Bereich viele 10s bis 1 Minuten liegen würden. 👎

                                      Was ist eure Meinung zu einer solchen Weiterentwicklung?

                                      Bin gespannt auf eure Rückmeldungen,
                                      jomjol

                                      Knallochse Garfonso M S 4 Replies Last reply Reply Quote 0
                                      • Knallochse
                                        Knallochse @jomjol last edited by

                                        @jomjol die 2 wichtigsten Punke hast du ja schon genannt.

                                        Punkt 1 wird wohl neue User locken, dass Projekt umzusetzen.
                                        Das könnte der Entwicklung (durch eventuell neue Bilder zum trainieren) aber zu gute kommen.

                                        Punkt 2 wird wohl User abschrecken, die die bisherige Variante (externe Berechnung) schon am laufen haben. Läuft ja fast unbemerkt (Ressourcen) nebenbei.

                                        Ich gehe auch fest davon aus, dass es in den nächsten Jahren leistungsfähiger Prozessoren (Nachfolger) in diesem Bereich geben wird.

                                        Vielleicht hilft dir auch eine Umfrage weiter, um herauszufinden wer dein Projekt auf Grund der externen Berechnung nicht umgesetzt hat.

                                        PS: Mein größtes Problem bei der Umsetzung war den Fokus der Kamera einzustellen.
                                        Bei mir war da ganz schön viel Kleber im Einsatz.

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

                                          @jomjol
                                          Da muss ich Knallochse zustimmen. Für den schnellen Start sicherlich leichter umzusetzen aber wer schnellere Auswertungen braucht wird damit nicht glücklich.
                                          Wenn ich einen neuen Gedanken nennen darf: ich hätte mir lieber gewünscht dass das neuronale Netz selbstständig dazulernt. Ist natürlich abhängig davon ob sich sowas automatisieren lässt. Dann wäre man nicht abhängig von dir.

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

                                            @jomjol
                                            Ich weiß nicht, ob der Dockercontainer so ein großer Aufwand ist. Das einzeln zusammen installieren wäre sicherlich einiges, aber, wenn man sich mal überwunden hat, geht es mit dem docker doch recht unproblematisch.
                                            Das war für mich das einfachste an der ganzen Geschichte. Allerdings hab ich auch eher Erfahrung mit Software/Linux als Hardware (das flashen hat ca. einen halben Tag gedauert bis ich das mal raus hatte).

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            734
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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