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

      @pfried Erstmal super, dass deine ESP32-CAM schon läuft. Der Container muss halt für einen Raspberry installiert sein. Ich überlege gerade, ob ich meinen einzigen Raspi mal kurz mit einem anderen System bespiele und es dann einfach mal probiere. Suche mir mal eine freie SD-Karte ...

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

        @pfried Raspberry 3 läuft, Docker ist installiert - jetzt muss ich aber erstmal auf ein Konzert, also geht später weiter ...

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

          @jomjol Docker am Raspi ist kein Problem. Nur der Dockercontainer von dir wurde mit einer amd64 Architektur erstellt. Der Raspi hat aber arm Architektur.
          Bin gerade dabei, das Tensorflow für den rpi mit python 3.7 zu compilieren. Dauert aber ziemlich lange..

          Danach wollte ich mir dein Github clonen und das dockerfile anpassen und die neue Tensorflow Datei ins Github Verzeichnis holen - Anschließend das Docker Image generieren.

          Mit Tensorflow und python 3.4 wäre das ganze schneller, weiß aber nicht, ob das mit deinen restlichen Files funktioniert, daher das neue compilieren mit python 3.7

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

            @daniel_iobroker Machst du ein crosscompile oder compilierst du direkt auf Raspy?

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

              @jomjol Habe ein crosscompile versucht. Den ganzen Nachmittag und Abend lang habe ich versucht, das zu compilieren. In einer virtuellen Maschine. Habe im letzten Versuch schon 10GB RAM zugewiesen und selbst da klappte es nicht. Der RAM wurde immer wieder voll inkl. Auslagerungsdatei.

              Hab jetzt ein fertiges Ternsorflow mit python 3.4 geholt und baue gerade das docker image für den pi. Bin gespannt ob das funktioniert. Ist mein erster Versuch mit Docker

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

                Eure Fotos von der ESP32Cam sind so scharf. Bei mir sieht noch etwas trübe aus. Hat da jemand ne Idee?

                79dc6930-951c-4b02-92e4-68fb25e473c8-grafik.png

                Habe bisher alles nach Anleitung gemacht. Also die mechanischen Teile mit dem 3D-Drucker erstellt, ESP32 mit Cam geflasht.

                Mit dem Befehl http://192.168.178.54/capture_with_flashlight erstellt er auch ein Bild.

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

                  @ecki945 Wie das mit dem fokussieren geht, steht hier mehrfach im Thread

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

                    Danke mal. Les den thread nochmal durch

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

                      Nun ist das Bild scharf nach verdrehen der linse.

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

                        @jomjol
                        hab endlich das docker image für den pi fertig bauen können.
                        Beim start davon gibt es jedoch noch eine Fehlermeldung.

                        root@orangepione:/home/pi# docker run -p 3000:3000 daniel2212/test-wasserzaehler
                        Using TensorFlow backend.
                        Traceback (most recent call last):
                          File "./wasseruhr.py", line 3, in <module>
                            import lib.ZaehlerstandClass
                          File "/lib/ZaehlerstandClass.py", line 2, in <module>
                            import lib.ReadAnalogNeedleClass
                          File "/lib/ReadAnalogNeedleClass.py", line 1, in <module>
                            import keras
                          File "/usr/local/lib/python3.4/site-packages/keras/__init__.py", line 3, in <module>
                            from . import utils
                          File "/usr/local/lib/python3.4/site-packages/keras/utils/__init__.py", line 27, in <module>
                            from .multi_gpu_utils import multi_gpu_model
                          File "/usr/local/lib/python3.4/site-packages/keras/utils/multi_gpu_utils.py", line 7, in <module>
                            from ..layers.merge import concatenate
                          File "/usr/local/lib/python3.4/site-packages/keras/layers/__init__.py", line 4, in <module>
                            from ..engine.base_layer import Layer
                          File "/usr/local/lib/python3.4/site-packages/keras/engine/__init__.py", line 8, in <module>
                            from .training import Model
                          File "/usr/local/lib/python3.4/site-packages/keras/engine/training.py", line 21, in <module>
                            from . import training_arrays
                          File "/usr/local/lib/python3.4/site-packages/keras/engine/training_arrays.py", line 8, in <module>
                            from scipy.sparse import issparse
                          File "/usr/local/lib/python3.4/site-packages/scipy/__init__.py", line 77, in <module>
                            from . import _distributor_init
                        ImportError: cannot import name '_distributor_init'
                        
                        

                        Musste noch ein paar packages auf eine ältere Version ändern, da es für den pi keine neueren Versionen gab.
                        Hilft dir das weiter?
                        Vor allem der letzte Eintrag ist komisch und hier wird es auch hängen denke ich.

                        Bin gespannt was du dazu schreibst.

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

                          @daniel_iobroker Da bist du deutlich weiter gekommen wie ich. Ich habe es bisher noch nicht geschafft, Tensorflow für Raspi zu kompilieren und die Version für Python 3.4 funktioniert auch nicht.
                          Die letzte Fehlermeldung scheint eine interne Bibliothek in Tensorflow zu sein. Damit bin ich auch ziemlich ratlos.
                          Ich überlege gerade, ob ich alles auf Tensorflow 1.9 oder 2.0 übertrage, denn dass sollte auf dem Raspi laufen. Ich habe aber noch keine Ahnung wieviel Aufwand das ist.
                          Was hast du den als Basisimage für das Docker vewendet?

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

                            @jomjol
                            Danke.
                            Tensorflow zu kompilieren klappte bei mir auch nicht. Wie gesagt, wollte es in einer virtuellen Maschine kompilieren, aber selbst mit 10gb RAM klappte es nicht.
                            Aber mit der Tensorflow für python 3.4 klappte es.

                            Hmm Tensorflow 1.9 bzw 2 konnte ich nicht für den pi finden. Hab daher die gleiche version genommen, die auch du hast. Nur halt in der arm v7 version mit python 3.4
                            In deinem docker file sind ja noch 4 weitere packages in das docker Image eingebunden. Die habe ich auch eingebunden und bei 2 gab es nur niedrigere Versionen. Das scipy musste ich komischerweise auch von Hand einbinden. Hab glaub ich 2 packages zusätzlich als wheel geladen und eingebunden, da beim bauen vom Image hier immer ein Problem war. Kann morgen noch mal nachsehen welche es genau waren.

                            Zur Fehlermeldung : für mich klingt das so, als hätte da das scipy package ein Problem oder?

                            Basisimage war python 3.4
                            Du hattest ja als Basisimage python 3.7 genommen, das ginge bei mir jedoch nicht, da das fertig kompilierte Tensorflow für den raspi python 3.4 voraussetzt. Hab es zuerst trotzdem versucht, dann kam aber beim bauen gleich eine Fehlermeldung.

                            Kann man eigentlich in ein laufendes bzw installiertes docker Image schauen? Eventuell müssten wir bei meinem fertigen Image nur schauen, ob die fehlende Datei eventuell eh vorhanden ist - jedoch in einem anderen Verzeichnis liegt?

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

                              @jomjol Ich bekomme dein Dockerimage nicht ans Laufen. Habe in einer Debian VM unter Proxmox Docker installiert. Pull funktioniert auch. Aber dann komme ich nicht weiter:

                              admp@dockertest:~$ sudo docker run -p 3000:3000 jomjol/wasserzaehler
                              [sudo] Passwort für admp:
                              Using TensorFlow backend.
                              WARNING:tensorflow:From /usr/local/lib/python3.7/site-packages/tensorflow/python/ops/init_ops.py:97: calling Zeros.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
                              Instructions for updating:
                              Call initializer instance with the dtype argument instead of passing it to the constructor
                              WARNING:tensorflow:From /usr/local/lib/python3.7/site-packages/tensorflow/python/ops/init_ops.py:97: calling Ones.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
                              Instructions for updating:
                              Call initializer instance with the dtype argument instead of passing it to the constructor
                              WARNING:tensorflow:From /usr/local/lib/python3.7/site-packages/tensorflow/python/ops/init_ops.py:97: calling GlorotUniform.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
                              Instructions for updating:
                              Call initializer instance with the dtype argument instead of passing it to the constructor
                              WARNING:tensorflow:From /usr/local/lib/python3.7/site-packages/tensorflow/python/ops/init_ops.py:1251: calling VarianceScaling.__init__ (from tensorflow.python.ops.init_ops) with dtype is deprecated and will be removed in a future version.
                              Instructions for updating:
                              Call initializer instance with the dtype argument instead of passing it to the constructor
                              
                              

                              Habe die Nacht so stehen lassen, ohne Veränderung. Dann mit CTR-C abgebrochen, folgende Ausgabe:

                              ^CStart Init Zaehlerstand
                              Analog Model Init Done
                              Digital Model Init Done
                              Digital Model Init Done
                              Wasserzaehler is serving at port 3000
                              Traceback (most recent call last):
                                File "./wasseruhr.py", line 88, in <module>
                                  httpd.serve_forever()
                                File "/usr/local/lib/python3.7/socketserver.py", line 232, in serve_forever
                                  ready = selector.select(poll_interval)
                                File "/usr/local/lib/python3.7/selectors.py", line 415, in select
                                  fd_event_list = self._selector.poll(timeout)
                              KeyboardInterrupt
                              
                              
                              
                              J 1 Reply Last reply Reply Quote 0
                              • J
                                jomjol @watcherkb last edited by

                                @watcherkb Welches Images verwendest du den? Die Version jomjol/wasserzaehler:rolling läuft bei mir ohne Probleme.

                                Was für eine Hardware hast du den? Das Dockerimage ist für eine Intel-CPU kompiliert. Daher läuft es auch auf einen Raspi so nicht.

                                W 1 Reply Last reply Reply Quote 0
                                • Mikewolf
                                  Mikewolf last edited by

                                  Hallo nur zur Info läuft bei mir rolling auf ner syno emulation unter doker mit der intel xenon Cpu ok !
                                  wobei eigentlich der server mal startet und unter port 3000 erreichbar ist

                                  Mit freundlichen Grüßen

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

                                    @jomjol sagte in Wasserzähler - Selfmade:

                                    jomjol/wasserzaehler

                                    es wird wohl das latest sein. Also der Standard wenn nichts anderes angegeben wird. Ich habe einen NUC i7. Ich schau mal ob ich auch was Richtung CPU einstellen kann.
                                    Jedoch scheint es so als ob das Docker doch fertig lädt, bekomme aber aktuell eine falsche IP aus anderem IP-Bereich. Muss mich noch damit auseinandersetzen. Docker ist neu für mich 🙂

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

                                      @watcherkb Kurzer Zwischenstand: ich schaffe es gerade nicht, das ganze auf Raspi zum Laufen zu bringen. Scheitere aktuell schon an OpenCV 😞
                                      Bin die nächste Woche aber komplett verplant und habe daher keine Zeit, daran zu arbeiten.
                                      Wenn ihr es auf dem Raspi hinbekommt, wäre ich mehr als gespannt, wie es geht.

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

                                        @jomjol keine Eile. Ist klar dass alles in der Freizeit passiert 😉
                                        Frage mich aber ob es auch ohne Docker geht, einfach auf einem Debian System z.B. ?

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

                                          @watcherkb Prinzipiell ja, habe es hier zur Programmierung ja auch auf einem Windows System zum Laufen gebracht. Leider ist die Installation von Tensorflow und tlw. auch OpenCV etwas tricky, insbesondere Tensorflow ist abhängig von den Prozessoren, da es Graphikkarten und erweiterte Befehlssätze (AVX, AVX2, ...) unterstützt und dass muss dann jeweils zum Prozessor passen.

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

                                            @jomjol ok bin jetzt ein Stück weiter. Habe jetzt alles auf Debian Template am Laufen. Jedenfalls bekomme ich schonmal folgendes auf der Seite angezeigt: Error - Problem during Imageload (file not exists or timeout)
                                            Musste ein paar Anpassungen an py-Script machen. Dann versuche ich mal die Camera anzuschließen und dann gehts weiter.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            861
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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