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.
    • D
      daniel_iobroker last edited by

      @mcchickents naja, ganz so einfach ist es leider nicht => siehe meine Beiträge oben.

      Ich versuche gerade, einen docker container für den raspi zu erstellen.

      M 1 Reply Last reply Reply Quote 0
      • M
        mcchickents @daniel_iobroker last edited by

        @daniel_iobroker

        oh da hast du natürlich recht.

        Dann müsste jemand auf einem pi das zeug erst einmal manuell installieren und danach ein Container abbild erzeugen.
        so wie ich das aber bisher verfolgt habe scheint man für die manuelle Installation schon etwas fortgeschrittene Linux Skills zu benötigen.

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

          Jetzt wisst Ihr von was ich rede! 😎 ... alles nicht so einfach für einen Anfänger.
          Vielleicht kann man ja das am Raspberry 4 auch ohne Docker lösen, aber wie schon gesagt, halt Schritt für Schritt beschrieben ..... 🖖 ✍

          Habe mal schon das pip3 Ding von oben gemacht, das lief durch 👏

          J 1 Reply Last reply Reply Quote 0
          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            827
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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