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.
    • pfried
      pfried @WernerS last edited by

      @WernerS
      Hi Werner, ich möchte hier zwei mögliche Fehlerquellen aus eigener Erfahrung dazu anführen:

      • probier einmal mit dem Handy und einen WLAN Sniffer (z.B.: Android: WiFi Analyzer), ob Du direkt beim Wasserzähler genug Signalstärke hast. Die Antenne des ESP-32-CAM ist sehr schwach (Ich musste neben dem Wasserzähler einen WLAN Repeater positionieren, dann war Schluss mit den Verbindungsproblemen)
      • Aktiviere bei Deinem Router das Gastnetzwerk mit ganz einfacher SSID und einfachem Passwort (z.B. Test / Test) und schaue, ob Du da eine Verbindung zusammenbringst. Enable aber die folgende Einstellung (z.B. bei einer Fritz!Box):

      27b155d6-0ac4-438c-b693-265befac45a0-grafik.png

      H W 2 Replies Last reply Reply Quote 0
      • H
        hike @pfried last edited by hike

        @jomol
        Configuration problem

        ich habe gestern auf das binary und die neue html.zip gewechselt.

        Das Problem scheint der wegen der schlechten Antenne der Camera der zwischengeschaltete Router zu sein.

        Auch jetzt wird bei Config.INI direkt nur undefined angezeigt.
        Dafür habe ich eine Lösung gefunden.

        Das Device befindet sich hinter einem zusätzlichen Router (martin-ger/esp_wifi_router) und wird über Portmapping angesteuert. Ich bekomme den z.B. Fileserver problemlos angesteuert und mit voller Funktionalität.
        Lediglich der Configuration-Teil hat Schwierigkeiten( Config.ini undefined, Show actual Reference ohne Funktion, Regions Of Interest ohne Bild,..)

        Hänge ich meinen Laptop direkt in das WLAN des zusätzlichen Routers ist auch Configuration vollständig benutzbar.

        Reference Image und ROI's habe ich erfogreich neu erstellt.

        Ich habe auch schon einen richtig abgelesenen Messwert gesehen, aber das Bild auf der Startseite ist ein wenig verdreht.

        Probleme gibts bei Alignment Marks.

        Reference 0 soll "m" abbilden und Reference 1 "Nr".

        Wird im Webinterface Define Alignment.. aufgerufen so ist korrekt x = 365, y 69 aber dx und dy sind leer.
        Zusätzlich sieht man im Fileserver /config/ref0.jpg size = 0.
        Ein Click auf Update Reference löst einen Absturz aus.

        Im Fileserver ist /config/ref1.jpg nur ein schwarzer Kasten.

        Wechselt man auf Reference 1 braucht die Aktualiserung der Webseite lange ( > 20 sec)

        Ein neuer Wechsel auf Reference 0 dauert auch wieder lange

        Dann verabschiedet sich die Webseite mit Netzwerkzeitüberschreitung und ein Power off/Power on ist notwendig.

        Nach dem Neustart ist merkwürdigerweise das Startbild noch weiter verdreht.

        In alignment.txt taucht auf:
        2020-09-12_12-18-19: dx: 0 dy: 0 d_winkel: 3.212088
        Nach Neustart:
        2020-09-12_13-07-19: dx: 20 dy: 20 d_winkel: 15.866147

        Eigentlich sollte das Bild nicht gedreht sein.

        701cb2cf-4863-4e0c-94c8-74b7f1b1579d-grafik.png

        Die Ursache scheinen ganz tückische Probleme zu sein, wenn man einen langsameren? Router verwendet.
        Anscheinenen werden die Alignbilder ref0 und ref1 nicht richtig erzeugt. Manchmal erhält man ein leeres jpg, manchmal ist das jpg komplett schwarz.

        Beim Verwendung einer FritzBox als Router konnten ref0 und ref 1 problemlos erzeugt werden.

        Jetzt läuft auch der komplette Prozess wieder durch

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

          @pfried

          Ich habe die teile noch gar nicht gedruckt. Bin erst mal dabei die Elektronik zu machen, da ich den Artikel erst am Donnerstag entdeckt habe. War so begeistert das ich gleich den ESP bestellt habe.
          Zu deiner Frage
          Das ganze liegt auf dem Schreibtisch am PC, also 60 cm weg vom Router.
          Gehen muss das weil ich habe die hardware mit
          https://www.fambach.net/esp32-cam-modul/
          getestet, da bekam ich ein Video con der Cam

          Gruß
          Werner

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

            @jomjol

            also ich glaube da geht was beim flashen schief. Habe aber die Angaben genommen so wie es bei der Installation steht.

            rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
            flash read err, 1000
            ets_main.c 371
            ets Jun 8 2016 00:22:57

            Gruß
            Werner

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

              @hike Hallo hike,
              ich hatte dasselbe Problem wie Du, manche Referenzpunkte Bilder schwarz, manche leer, beim Drücken des contrast enhencement ein Absturz des ESP32 und auch beim Referenzbild/Standbild selber brauchte ich mehrere Anläufe um ein Bild zu bekommen. Ich kann auch den Effekt mit dem Standbild bestätigen, war bei mir auch mehrere Male verdreht.

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

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

                @hike Hallo hike,
                ich hatte dasselbe Problem wie Du, manche Referenzpunkte Bilder schwarz, manche leer, beim Drücken des contrast enhencement ein Absturz des ESP32 und auch beim Referenzbild/Standbild selber brauchte ich mehrere Anläufe um ein Bild zu bekommen. Ich kann auch den Effekt mit dem Standbild bestätigen, war bei mir auch mehrere Male verdreht.

                Beim Erzeugen der Alignmentmarken braucht es eine halbwegs gute Internetverbindung und etwas Geduld. Um die Verarbeitung auf dem Server nachher hinzubekommen, macht die Erzeugung der ESP32 selbst, d.h. wenn du ein Bild ausschneidest, gibt es per html einen Befehl an den ESP32 und der macht dann die Bilderverarbeitung und auch die Kontrasterhöhung lokal und liefert das Ergebnis per html zurück.
                Das ist anders, also beim erzeugen des Refernzbildes. Da findet die Bildberechnung im Browser über Canvas statt. Bei den Referenzbildern scheitert das an dem Kontrast. Ich habe noch keine leichtgewichtige einfache HTML-Funktion gefunden, um es im Browser zu berechnen.

                Auch die schlechte Performance, wenn es verschiedenen Zwischenrouter gibt könnte mit der html-Struktur zusammen hängen. Damit ich mit einem einfachen Server auskomme habe ich eine ineinanderstrukturierte struktur per iframe gebaut.

                Und als dritte Info: wenn ihr die Konfiguratin zufällig gerade macht, während gerade der automatische Bildverarbeitungsflow läuft, dann ist der ESP32 für einige Minuten ziemlich ausgelastet. Auch wenn das Programm per FreeRTOS für Multithread ausgelegt ist, sind natürlich die Ressourcen für den Web-Server in dem Zeitfenster deutlich eingeschränkt. So als Größenordnung: nur die Berechnung des Bildalignment dauert fast 1 Minuten.

                Da ist noch überall Potential - noch genug für mich zu tun :-).

                Danke für euer detaiiertes Feedback.

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

                  @jomjol
                  Vielen Dank für die Erläuterungen.

                  Machmal bleibt der Fileserver bei der Übertragung auch hängen, besonders wenn man z.B. die Unterverzeichnisse log/analog, die viele Dateien beinhalten, betrachtet.
                  Da bleibt der Server manchmal in einer Schleife hängen und ist nicht mehr erreichbar. Dann hilft nur noch Power out Power on.

                  Machmal bleibt er auch im ClassFlowAnalog hängen.

                  Ansonsten habe ich jetzt schon eine ganze Reihe brauchbarer Ergebnisse. Digital sind alle Stellen ok, , ebenfalls drei analoge Stellen.
                  Super, obwohl mein Bild ziemlich unscharf ist.

                  Leider wird die zweite Analog-Anzeige , nicht erkannt.
                  Das liegt offensichtlich daran , das meine Wasseruhr dort einen anderen Zeiger hat.

                  bc942ba5-fecd-4881-9db0-60bc7ef6fac7-grafik.png

                  Deshalb bekomme ich auch Meldungen wie
                  620.7591 Negative Rate - Returned old value - read value: 620.7571

                  Beste Grüße
                  Hike

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

                    @hike Du solltest versuchen, dein Bild scharf zu bekommen. Dazu musst du aber das Lacksiegel an der Linse wegkratzen und dann kannst du mit etwas Kraft und einer Zange die Linse drehen und scharf stellen. Hat bei mir bei beiden ESP32CAM funktioniert - aber keine Garantie auf Erfolg - kann auch kaput gehen.

                    Für deinen Zeiger2 können wir mal probieren, den auch zu teachen, der sieht aber schon sehr merkwürdig aus.

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

                      @WernerS Hi Werner, konnte dein Problem partiell reproduzieren. Bei mir lies sich heute hartnäckig der Flash-Erase nicht mit dem ESP-Tool durchführen. Nachdem ich den Flash über ein py-Tool von PlatformIO gelöscht habe, konnte ich aber die drei Teile mit dem Tool selbst flashen und es lief auch ohne Probleme.

                      W 3 Replies Last reply Reply Quote 0
                      • W
                        WernerS @jomjol last edited by

                        @jomjol

                        dann lieget es anscheinend am Flashtool. Ich schau mal ob ich ein älteres finde.
                        Das py-Tool von PlatformIO kenne ich nicht. Ist das kompliziert zu installieren und durch zuführen?

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

                          @jomjol
                          Ich habe das schon früher mal versucht, brauchte danach eine neue.
                          Deshalb bin ich auch sehr angetan , dass die KI die anderen Ziffern erkennt.

                          Das ist eine Wasseruhr von meinen Stadtwerken. Die scheint nicht so selten zu sein.
                          Ich habe mal irgendwo ein ESP8266 Projekt gesehen, da wurde das Spiegelsignal auf dieser Anzeige ausgewertet

                          Im Protokoll sehe ich immer wieder , aber unregelmäßig, Neustarts

                          2020-09-12_20-10-12: task_autodoFlow - next round
                          2020-09-12_20-10-12: FlowControll.doFlow - ClassFlowMakeImage
                          2020-09-12_20-10-17: FlowControll.doFlow - ClassFlowAlignment
                          2020-09-12_20-10-18: Image Load failed:/sdcard/img_tmp/raw.jpg FreeHeapSize before: 3218988 after: 3218896
                          2020-09-12_18-10-58: Startsequence 02
                          2020-09-12_18-10-59: Startsequence 03

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

                            @hike Die Neustarts sind bekannt - da kommt es beim Auslesen des ersten Bilder von der Kamera zu einem Speicherfehler. In der neusten Version Rolling Version fange ich diesen Fehler ab und nehme das Bild bei diesem Fehler nochmal auf. Das reduziert die Fehler deutlich, aber nicht vollständig.

                            H 1 Reply Last reply Reply Quote 0
                            • W
                              WernerS @jomjol last edited by

                              @jomjol
                              Hi jomjol ich habe ne ältere Version gefunden die 3.6.5 aber mit der geht es auch nicht.
                              Wie machen das die anderen hier, die müssten das Problem doch auch haben.

                              J 1 Reply Last reply Reply Quote -1
                              • J
                                jomjol @WernerS last edited by

                                Hallo zusammen,
                                ich habe gerade die aktuelle Rolling in eine Version 2.0.0 gemerged und die Bilder für die Doku mit dem neuen Layout upgedated.
                                Ab jetzt kommen die Updates und Responses etwas langsamer, da mein Urlaub vorbei ist 🙁 .
                                Beste Grüße,
                                jomjol

                                1 Reply Last reply Reply Quote 0
                                • D
                                  d0m1n1qu3 last edited by

                                  moin
                                  so jetzt hab ich mich hier auch angemeldet 🙂

                                  änderungs ideen fuer die doku auch via pull request? statt dem windows tool kann man naemlich auch gut das esptool.py nehmen 🙂

                                  pull requests gegen rolling oder master?

                                  morgen guck ich mit die mqtt geschichte mal an. derzeit sammel ich mit polling. geht echt schon gut.

                                  in wie weit hast du vor auch strom oder gas zaehler zu unterstuetzen? wuerde das gern auf alle zaehler machen 😉

                                  vg dominique

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

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

                                    moin
                                    so jetzt hab ich mich hier auch angemeldet 🙂

                                    änderungs ideen fuer die doku auch via pull request? statt dem windows tool kann man naemlich auch gut das esptool.py nehmen 🙂

                                    pull requests gegen rolling oder master?

                                    morgen guck ich mit die mqtt geschichte mal an. derzeit sammel ich mit polling. geht echt schon gut.

                                    in wie weit hast du vor auch strom oder gas zaehler zu unterstuetzen? wuerde das gern auf alle zaehler machen 😉

                                    vg dominique

                                    Super Idee, wenn du eine Doku für esptool.py schreiben kannst. Das ESP-IDF-Tool macht gerade bei mir auch Probleme (Erase geht nicht mehr).

                                    Pull request gegen Rolling oder bei größeren Änderungen kann ich auch einen abgetrennten Zweig anlegen.
                                    Strom- und Gaszähler gehen auch jetzt schon, du musst nur die analogen Zeiger aus der config.ini schmeißen. Das einzige was noch fehlt, ist die Implementierung einer Kommaverschieben. Das Komma sitzt momentan hart zwischen digital und analog.

                                    Gruß,
                                    jomjol

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

                                      @jomjol Hallo jomjol, also ich habe gestern eine Nachtschicht eingelegt und alles mögliche probiert. Verschiedene Adpater, Baudrate usw. Es geht einfach nicht. Ich verstehe das nicht, das Problem müssen doch mehr haben. Hast du noch eine Idee?

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

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

                                        @jomjol Hallo jomjol, also ich habe gestern eine Nachtschicht eingelegt und alles mögliche probiert. Verschiedene Adpater, Baudrate usw. Es geht einfach nicht. Ich verstehe das nicht, das Problem müssen doch mehr haben. Hast du noch eine Idee?

                                        Hallo Werner,
                                        wenn du eine Python-Installation hast, kannst du auch das esptool.py verwenden. Ich habe es gerade probiert - ging problemlos in Pyhton 3.8 (in Ananconda-Umgebung in Win 10, müsste aber auch mit 3.6 oder 3.7 gehen) mit folgenden Befehlen:

                                        Installation des Tools:

                                        pip install esptool
                                        

                                        Erase Flash und dann flashen der neuen Firmwarepip install esptoolpip install esptool

                                        esptool erase_flash
                                        esptool write_flash 0x01000 bootloader.bin 0x08000 partitions.bin 0x10000 firmware.bin
                                        

                                        Vielleicht musst du noch über einen Parameter den COM-Port angeben, war bei mir jetzt nicht notwendig. Bei mir hat der ESP32CAM dann ohne Probleme gebootet.

                                        Hoffe damit kommst du weiter!

                                        Gruß,
                                        jomjol

                                        W 1 Reply Last reply Reply Quote 0
                                        • H
                                          hike @jomjol last edited by hike

                                          @jomjol

                                          Hallo jomjol ,

                                          ich habe das Problem mit dem zweitem komischen Analogzeiger noch mal genauer untersucht. Ein Vergleich der Bilder ergibt, dass meine Wasseruhr an dieser Stelle defekt sein muss, da sich die Stellung des Zeigers nie ändert.
                                          5ccfbb46-0603-470e-bdd6-47d6edc5f13a-grafik.png
                                          Das führt in Vergleich zu Fehlern wie diesem:
                                          620.2576 Negative Rate - Returned old value - read value: 620.2553
                                          da sich die 5 nicht ändert.
                                          Der vollständige Wert von Analog 1 (2.2) bildet übrigens den richtigen Wert gut ab.
                                          613dd444-9af0-47e0-931e-8c7c9ac9b0e1-grafik.png
                                          Jetzt habe ich aber das auch von anderen beschriebene Problem mit der digitalen 1 , die als 0 erkannt wird.

                                          Beste Grüße
                                          Hike

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

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

                                            moin
                                            so jetzt hab ich mich hier auch angemeldet 🙂

                                            änderungs ideen fuer die doku auch via pull request? statt dem windows tool kann man naemlich auch gut das esptool.py nehmen 🙂

                                            pull requests gegen rolling oder master?

                                            morgen guck ich mit die mqtt geschichte mal an. derzeit sammel ich mit polling. geht echt schon gut.

                                            in wie weit hast du vor auch strom oder gas zaehler zu unterstuetzen? wuerde das gern auf alle zaehler machen 😉

                                            vg dominique

                                            Bemerkung zur MQTT-Erweiterung: Ich würde empfehlen, es analog zu den anderen Funktionen (MakeImage, Alignment, ... Prostprocessing) abgleitetet von der Basisklasse ClassFlow zu implementieren. Wenn du dann die neue Child-Klasse noch in der Verwaltungsklasse ClassFlowControll in der Funktion CreateClassFlow mit aufnimmst, ist sie automatisch in die Konfiguration über Config.ini einbinden und auch beim automatischen Flow würde sie mit durchlaufen und du kannst je nach Ergebnis der vorherigen Auswertung ein Event triggern.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            910
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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