Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Hardware
  4. Wasserzähler - Selfmade

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

Wasserzähler - Selfmade

Geplant Angeheftet Gesperrt Verschoben Hardware
wasser wasserzählerhow-to
1.1k Beiträge 48 Kommentatoren 375.0k Aufrufe 72 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R ruebenschuss

    Hi,
    auch von mir noch Mal ein großes Danke und Hochachtung für die schöne Umsetzung! Ich hab schon seit Jahren eine OCR für die Ziffern im Einsatz und hatte es mir als Projekt für den Urlaub vorgenommen, die analogen Nadeln mit Tensorflow zu lernen. Beim Googeln hab ich Dein Projekt gefunden und das ist natürlich viel schöner!
    Blöderweise hatte ich es vor zwei Wochen angefangen, alles für nodejs installiert und als ich heute weiter machen wollte, ist es plötzlich in python ;-)) nee nee, viel besser, alles gut :-)

    Das pip install requirements hat bei mir nicht funktioniert.
    Ich musste unter debian 10.0 / x86_64 das folgende machen, ich hoffe, es hilft jemandem :

    pip3 install requests Keras numpy Pillow opencv-python tensorflow --no-cache-dir
    

    Ich hab die config.ini angepasst und kann den Server starten. Leider bekomme ich eine Fehlermeldung, mit der ich nicht weiter komme:

    root@dasding:~/water-meter-system-complete/code# python3 wasseruhr.py
    Using TensorFlow backend.
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/dtypes.py:516: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_qint8 = np.dtype([("qint8", np.int8, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/dtypes.py:517: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/dtypes.py:518: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_qint16 = np.dtype([("qint16", np.int16, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/dtypes.py:519: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/dtypes.py:520: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_qint32 = np.dtype([("qint32", np.int32, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorflow/python/framework/dtypes.py:525: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      np_resource = np.dtype([("resource", np.ubyte, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:541: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_qint8 = np.dtype([("qint8", np.int8, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:542: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:543: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_qint16 = np.dtype([("qint16", np.int16, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:544: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:545: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      _np_qint32 = np.dtype([("qint32", np.int32, 1)])
    /usr/local/lib/python3.7/dist-packages/tensorboard/compat/tensorflow_stub/dtypes.py:550: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
      np_resource = np.dtype([("resource", np.ubyte, 1)])
    Start Init Zaehlerstand
    WARNING:tensorflow:From /usr/local/lib/python3.7/dist-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/dist-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/dist-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/dist-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
    2019-09-02 16:36:45.093960: I tensorflow/core/platform/cpu_feature_guard.cc:142] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
    2019-09-02 16:36:45.116365: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency: 1992000000 Hz
    2019-09-02 16:36:45.116783: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x43bb350 executing computations on platform Host. Devices:
    2019-09-02 16:36:45.116823: I tensorflow/compiler/xla/service/service.cc:175]   StreamExecutor device (0): <undefined>, <undefined>
    2019-09-02 16:36:45.136602: W tensorflow/compiler/jit/mark_for_compilation_pass.cc:1412] (One-time warning): Not using XLA:CPU for cluster because envvar TF_XLA_FLAGS=--tf_xla_cpu_global_jit was not set.  If you want XLA:CPU, either set that envvar, or use experimental_jit_scope to enable XLA:CPU.  To confirm that XLA is active, pass --vmodule=xla_compilation_cache=1 (as a proper command-line flag, not via TF_XLA_FLAGS) or set the envvar XLA_FLAGS=--xla_hlo_profile.
    Analog Model Init Done
    Digital Model Init Done
    serving at port 3000
    Picture Download done
    ----------------------------------------
    Exception happened during processing of request from ('10.0.0.71', 55985)
    Traceback (most recent call last):
      File "/usr/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
        self.process_request(request, client_address)
      File "/usr/lib/python3.7/socketserver.py", line 347, in process_request
        self.finish_request(request, client_address)
      File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
        self.RequestHandlerClass(request, client_address, self)
      File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
        self.handle()
      File "/usr/lib/python3.7/http/server.py", line 426, in handle
        self.handle_one_request()
      File "/usr/lib/python3.7/http/server.py", line 414, in handle_one_request
        method()
      File "wasseruhr.py", line 30, in do_GET
        result = wasserzaehler.getZaehlerstand('./image_tmp/original.jpg', simple, preValue)
    NameError: name 'preValue' is not defined
    ----------------------------------------
    

    Kann jemand damit was anfangen und mir weiterhelfen? Der Server bleibt weiter am Leben und nimmt neue requests an. Die Fehlermeldung ist immer die gleiche.

    Vielen Dank für alle Hinweise und schöne Grüße,
    Ruebenschuss

    J Offline
    J Offline
    jomjol
    schrieb am zuletzt editiert von
    #80

    @ruebenschuss Noch ein Hinweis zur Testumgebung: ich habe alles zunächst in Windows in einer Python 3.7 Umgebung umgesetzt und erst dann den Übergang zu einem Linux in Docker gemacht.
    Die Python-Umgebung habe ich über Anaconda installiert und gemanaged. Das funktioniert sehr gut.
    Das ganze hatte für mich den Vorteil, dass du recht einfach Bibliotheken für Tensorflow, Keras, ... installieren kannst. Mittels iPython habe ich das Training der neuronalen Netze recht einfach steuern können, ohne viel Programmieren und gut dokumentierbar. Meine iPython Skripte für die CNN-Netze sollten recht einfach funktionieren und mit anderen Bildern auch trainiert werden.
    Gleichzeit kannst du über VS-Code sehr komfortabel den Server programmieren und debuggen.

    1 Antwort Letzte Antwort
    0
    • J jomjol

      @ruebenschuss Danke für das schnelle Feedback. Es ist ein Fehler meinerseits. Ich hatte noch schnell eine Korrektur vor dem Upload machen wollen und dann eine Typo eingebaut, weswegen eine Variable nicht benannt ist.
      Ich habe gerade eine neue Version hochgeladen - auch in einer der Files im Verzeichnis lib war noch ein Fehler.
      Bitte /code erneut runterladen und nochmal probieren.
      Sorry für den Zusatzaufwand - Anfängerfehler meinerseits :confused:

      R Offline
      R Offline
      ruebenschuss
      schrieb am zuletzt editiert von
      #81

      @jomjol Hey, DU brauchst Dich doch für gar nichts zu entschuldigen !!! ;-) Du machst so eine tolle Arbeit und stellst sie allen zur Verfügung, ganz locker bleiben... Es war auch gar nicht als Kritik gemeint, sondern nur als Feedback und Frage, ob jemand Hilfe weiss... Und dass Du dann auch noch so schnellen Support gibst ist echt ein Traum. Wenn ich es zum Laufen bekommen hab, spendiere ich 'ne Kiste eines Kaltgetränkes Deiner Wahl :-)

      Ich hab die neue Version gezogen. Er scheint jetzt ein bisschen weiter zu kommen, "Start CutImage" kommt jetzt, das gab es vorher noch nicht. Aber ich kriege immer noch Fehler geworfen:

      ----------------------------------------
      Picture Download done
      Start CutImage
      ----------------------------------------
      Exception happened during processing of request from ('10.0.0.71', 50101)
      Traceback (most recent call last):
        File "/usr/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
          self.process_request(request, client_address)
        File "/usr/lib/python3.7/socketserver.py", line 347, in process_request
          self.finish_request(request, client_address)
        File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
          self.RequestHandlerClass(request, client_address, self)
        File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
          self.handle()
        File "/usr/lib/python3.7/http/server.py", line 426, in handle
          self.handle_one_request()
        File "/usr/lib/python3.7/http/server.py", line 414, in handle_one_request
          method()
        File "wasseruhr.py", line 31, in do_GET
          result = wasserzaehler.getZaehlerstand('./image_tmp/original.jpg', simple, preValue)
        File "/root/water-meter-system-complete/code/lib/ZaehlerstandClass.py", line 34, in getZaehlerstand
          resultcut = self.CutImage.Cut(img_file)
        File "/root/water-meter-system-complete/code/lib/CutImageClass.py", line 58, in Cut
          target = self.Alignment(target)
        File "/root/water-meter-system-complete/code/lib/CutImageClass.py", line 96, in Alignment
          p0 = self.getRefCoordinate(source, ref0)
        File "/root/water-meter-system-complete/code/lib/CutImageClass.py", line 111, in getRefCoordinate
          res = cv2.matchTemplate(image, template, method)
      cv2.error: OpenCV(4.1.0) /io/opencv/modules/imgproc/src/templmatch.cpp:1107: error: (-215:Assertion failed) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function 'matchTemplate'
      
      ----------------------------------------
      
      

      Hab ich ein falsches Bildformat? Ich gucke auch mal in den Code ob ich was erahnen kann...
      Danke noch Mal und beste Grüße, Ruebenschuss

      R 1 Antwort Letzte Antwort
      0
      • R ruebenschuss

        @jomjol Hey, DU brauchst Dich doch für gar nichts zu entschuldigen !!! ;-) Du machst so eine tolle Arbeit und stellst sie allen zur Verfügung, ganz locker bleiben... Es war auch gar nicht als Kritik gemeint, sondern nur als Feedback und Frage, ob jemand Hilfe weiss... Und dass Du dann auch noch so schnellen Support gibst ist echt ein Traum. Wenn ich es zum Laufen bekommen hab, spendiere ich 'ne Kiste eines Kaltgetränkes Deiner Wahl :-)

        Ich hab die neue Version gezogen. Er scheint jetzt ein bisschen weiter zu kommen, "Start CutImage" kommt jetzt, das gab es vorher noch nicht. Aber ich kriege immer noch Fehler geworfen:

        ----------------------------------------
        Picture Download done
        Start CutImage
        ----------------------------------------
        Exception happened during processing of request from ('10.0.0.71', 50101)
        Traceback (most recent call last):
          File "/usr/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock
            self.process_request(request, client_address)
          File "/usr/lib/python3.7/socketserver.py", line 347, in process_request
            self.finish_request(request, client_address)
          File "/usr/lib/python3.7/socketserver.py", line 360, in finish_request
            self.RequestHandlerClass(request, client_address, self)
          File "/usr/lib/python3.7/socketserver.py", line 720, in __init__
            self.handle()
          File "/usr/lib/python3.7/http/server.py", line 426, in handle
            self.handle_one_request()
          File "/usr/lib/python3.7/http/server.py", line 414, in handle_one_request
            method()
          File "wasseruhr.py", line 31, in do_GET
            result = wasserzaehler.getZaehlerstand('./image_tmp/original.jpg', simple, preValue)
          File "/root/water-meter-system-complete/code/lib/ZaehlerstandClass.py", line 34, in getZaehlerstand
            resultcut = self.CutImage.Cut(img_file)
          File "/root/water-meter-system-complete/code/lib/CutImageClass.py", line 58, in Cut
            target = self.Alignment(target)
          File "/root/water-meter-system-complete/code/lib/CutImageClass.py", line 96, in Alignment
            p0 = self.getRefCoordinate(source, ref0)
          File "/root/water-meter-system-complete/code/lib/CutImageClass.py", line 111, in getRefCoordinate
            res = cv2.matchTemplate(image, template, method)
        cv2.error: OpenCV(4.1.0) /io/opencv/modules/imgproc/src/templmatch.cpp:1107: error: (-215:Assertion failed) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function 'matchTemplate'
        
        ----------------------------------------
        
        

        Hab ich ein falsches Bildformat? Ich gucke auch mal in den Code ob ich was erahnen kann...
        Danke noch Mal und beste Grüße, Ruebenschuss

        R Offline
        R Offline
        ruebenschuss
        schrieb am zuletzt editiert von
        #82

        @jomjol Meine Webcam macht Bilder in ca der halben Auflösung wie Deine. Mein Zähler sieht fast exakt so wie Deiner aus, die Referenz-Bilder würden also exakt passen, aber die Koordinaten im Bild und Pixel-Dimensionen sind alle ca die Hälfte von Deinen. Macht das Probleme mit den Referenz-Bildern? Muss ich die bei mir ausschneiden und in exakt der gleichen Pixel-Dimension ablegen?

        R 1 Antwort Letzte Antwort
        0
        • R ruebenschuss

          @jomjol Meine Webcam macht Bilder in ca der halben Auflösung wie Deine. Mein Zähler sieht fast exakt so wie Deiner aus, die Referenz-Bilder würden also exakt passen, aber die Koordinaten im Bild und Pixel-Dimensionen sind alle ca die Hälfte von Deinen. Macht das Probleme mit den Referenz-Bildern? Muss ich die bei mir ausschneiden und in exakt der gleichen Pixel-Dimension ablegen?

          R Offline
          R Offline
          ruebenschuss
          schrieb am zuletzt editiert von
          #83

          Mein Bild, das der Server hochgeladen und rotiert hat:
          root@dasding:~/water-meter-system-complete/code# jpeginfo image_tmp/rot.jpg
          image_tmp/rot.jpg 480 x 640 24bit JFIF N 195283

          Dein Referenz Bild.
          root@dasding:~/water-meter-system-complete/code# jpeginfo image_tmp/Referenz.jpg
          image_tmp/Referenz.jpg 800 x 600 24bit Exif N 92628

          R 1 Antwort Letzte Antwort
          0
          • R ruebenschuss

            Mein Bild, das der Server hochgeladen und rotiert hat:
            root@dasding:~/water-meter-system-complete/code# jpeginfo image_tmp/rot.jpg
            image_tmp/rot.jpg 480 x 640 24bit JFIF N 195283

            Dein Referenz Bild.
            root@dasding:~/water-meter-system-complete/code# jpeginfo image_tmp/Referenz.jpg
            image_tmp/Referenz.jpg 800 x 600 24bit Exif N 92628

            R Offline
            R Offline
            ruebenschuss
            schrieb am zuletzt editiert von
            #84

            okay: ich habe jetzt mein Bild erst Mal so ausgeschnitten, wie der Referenzausschnitt ist und dann auf 800x600 skaliert und nun läuft es durch.

            convert -rotate 90 -crop 452x339+0+114 -scale 800x600 /data/webcam/in.jpg /data/webcam/out.jpg
            

            Im Moment kann er noch gar nichts Sinnvolles erkennen und die Bilder, die er auf "&full" zurück geben sollte, sind alle leer. Aber zumindest läuft er nun ohne Fehlermeldung durch.

            Ich gucke mir jetzt mal die Bilder an, die er extrahiert, eventuell hab ich noch einen Fehler in meiner config.ini

            Dies nur schnell, damit ihr wisst, dass das Problem gelöst ist, wenn man das Bild vorher ordentlich skaliert.

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              ruebenschuss
              schrieb am zuletzt editiert von
              #85

              Und noch ein Update:
              Der Grund, warum bei mir die Bilder nicht angezeigt wurden ist, dass ich Safari als Browser benutzt habe. Im Debugging Modus zeigt er die Nachricht :

              "Failed to load resource: Cancelled load from ... because it is using HTTP/0.9"

              Wenn ich Firefox nehme, dann sehe ich alle Bilder.
              :man-facepalming: und ich hab im python code tausend debug messages eingebaut...

              Jetzt sind die ausgelesenen Werte noch grützig, die Ziffern gehen gar nicht. Muss noch an der config.ini schrauben oder eventuell bei meinem Bild vorher noch den Kontrast erhöhen.

              J 1 Antwort Letzte Antwort
              0
              • R ruebenschuss

                Und noch ein Update:
                Der Grund, warum bei mir die Bilder nicht angezeigt wurden ist, dass ich Safari als Browser benutzt habe. Im Debugging Modus zeigt er die Nachricht :

                "Failed to load resource: Cancelled load from ... because it is using HTTP/0.9"

                Wenn ich Firefox nehme, dann sehe ich alle Bilder.
                :man-facepalming: und ich hab im python code tausend debug messages eingebaut...

                Jetzt sind die ausgelesenen Werte noch grützig, die Ziffern gehen gar nicht. Muss noch an der config.ini schrauben oder eventuell bei meinem Bild vorher noch den Kontrast erhöhen.

                J Offline
                J Offline
                jomjol
                schrieb am zuletzt editiert von
                #86

                @ruebenschuss Klingt super -- vielleicht willst du deinen Code als "branch" oder commit-request hochladen. Dann können auch andere deine Verbesserungen nutzen.

                1 Antwort Letzte Antwort
                0
                • M mcchickents

                  Hi das mit dem Docker Image hört sich ja super an, werde ich mir heute Abend anschauen.
                  Ist es jetzt eigentlich möglich als Hardware den ESP 32 zu verwenden hat das schon jemand zum laufen bekommen?

                  Gruß Julian

                  J Offline
                  J Offline
                  jomjol
                  schrieb am zuletzt editiert von
                  #87

                  @mcchickents Ich habe jetzt eine lauffähige Version auf einem ESP32-CAM hochgeladen: https://github.com/jomjol/water-meter-picture-provider/blob/master/ESP32-CAM_Server-GitHub
                  Qualität der Bilder ist nicht ganz so gut wie bei der ArduCAM - keine Ahnung woran das liegt, aber die Software funktioniert inkl. der Beleuchtungssteuerung. Das ESP32-CAM Modul passt natürlich nicht in die von mir gepostete Halterung.

                  M 1 Antwort Letzte Antwort
                  0
                  • J jomjol

                    @mcchickents Ich habe jetzt eine lauffähige Version auf einem ESP32-CAM hochgeladen: https://github.com/jomjol/water-meter-picture-provider/blob/master/ESP32-CAM_Server-GitHub
                    Qualität der Bilder ist nicht ganz so gut wie bei der ArduCAM - keine Ahnung woran das liegt, aber die Software funktioniert inkl. der Beleuchtungssteuerung. Das ESP32-CAM Modul passt natürlich nicht in die von mir gepostete Halterung.

                    M Offline
                    M Offline
                    mcchickents
                    schrieb am zuletzt editiert von
                    #88

                    @jomjol said in Wasserzähler - Selfmade:

                    @mcchickents Ich habe jetzt eine lauffähige Version auf einem ESP32-CAM hochgeladen: https://github.com/jomjol/water-meter-picture-provider/blob/master/ESP32-CAM_Server-GitHub
                    Qualität der Bilder ist nicht ganz so gut wie bei der ArduCAM - keine Ahnung woran das liegt, aber die Software funktioniert inkl. der Beleuchtungssteuerung. Das ESP32-CAM Modul passt natürlich nicht in die von mir gepostete Halterung.

                    Super Vielen Dank werde ich schnellstmöglich testen und berichten.

                    1 Antwort Letzte Antwort
                    0
                    • coyoteC Offline
                      coyoteC Offline
                      coyote
                      Most Active
                      schrieb am zuletzt editiert von
                      #89

                      @jomjol ich würde deine Arbeit gerne mal testen. jedoch musst du mir etwas helfen.

                      Dein Docker Image habe ich jetzt auf meinem QNAP NAS in der Container Station installiert. Könntest du mir deine erweiterten Einstellungen posten? Ich kenne mich mit Docker/Container Station nicht wirklich aus. Wo muss ich das hier eingeben "docker run -p 3000:3000 wasserzaehler"?

                      Und vielleicht noch deine Einstellungen für den ESP32-CAM oder hast du da alles gelassen wie es ist unter dem Wrover Mosul?

                      J 2 Antworten Letzte Antwort
                      0
                      • coyoteC coyote

                        @jomjol ich würde deine Arbeit gerne mal testen. jedoch musst du mir etwas helfen.

                        Dein Docker Image habe ich jetzt auf meinem QNAP NAS in der Container Station installiert. Könntest du mir deine erweiterten Einstellungen posten? Ich kenne mich mit Docker/Container Station nicht wirklich aus. Wo muss ich das hier eingeben "docker run -p 3000:3000 wasserzaehler"?

                        Und vielleicht noch deine Einstellungen für den ESP32-CAM oder hast du da alles gelassen wie es ist unter dem Wrover Mosul?

                        J Offline
                        J Offline
                        jomjol
                        schrieb am zuletzt editiert von
                        #90

                        @coyote im Prinzip genau so. Ich würde noch empfehlen, ein externes Config-Verzeichnis anzulegen, dort eine Kopie des /config aus dem Github und dieses dann auch beim Start des Containers einzubinden:
                        "docker run -p 3000:3000 -v /deinpfad/deinverzeichnis:/config"
                        Dann kannst du dort im lokalen Verzeichnis die Änderungen in der Config vornehmen und einfach mit einem Neustart des Containers aktualisieren und testen. Zudem überstehen die Config-Daten so auch einen Neustart des Containers.
                        Ähnliches kannst du auch mit /log machen, dann siehst du die detailierten Ergebnisse inkl. Bilder der Bilderkennung.

                        coyoteC 1 Antwort Letzte Antwort
                        0
                        • coyoteC coyote

                          @jomjol ich würde deine Arbeit gerne mal testen. jedoch musst du mir etwas helfen.

                          Dein Docker Image habe ich jetzt auf meinem QNAP NAS in der Container Station installiert. Könntest du mir deine erweiterten Einstellungen posten? Ich kenne mich mit Docker/Container Station nicht wirklich aus. Wo muss ich das hier eingeben "docker run -p 3000:3000 wasserzaehler"?

                          Und vielleicht noch deine Einstellungen für den ESP32-CAM oder hast du da alles gelassen wie es ist unter dem Wrover Mosul?

                          J Offline
                          J Offline
                          jomjol
                          schrieb am zuletzt editiert von jomjol
                          #91

                          @coyote ich habe es gelassen, wie unte dem Wrover-Module (glaube ich zumindest): zur Sicherheit noch ein Screenshot aus der Arduino-Umgebung:

                          cd73c7dc-ee3c-41dc-8c86-e3edbd2ed1ab-grafik.png

                          Eine Frage noch: welche Kamera hast du genau auf dem ESP32-CAM. Genau genommen geht es mir um das Objektiv: 66°, 120° oder FishEye?
                          Ich habe folgendes Problem: meine jetzige Halterung (ArduCAM) hat einen Abstand von ca. 11cm von der Oberfläche und über die Linse kann ich das Bild scharf stellen. Bei meinem ESP32-CAM ist ein Fix-Fokus OV2640 dabei und das ist erst ab ca. 20cm scharf.
                          Damit passt meine Halteung nicht und das Bild wird viel kleiner. Hast du dazu eine Lösung?

                          1 Antwort Letzte Antwort
                          0
                          • J jomjol

                            @coyote im Prinzip genau so. Ich würde noch empfehlen, ein externes Config-Verzeichnis anzulegen, dort eine Kopie des /config aus dem Github und dieses dann auch beim Start des Containers einzubinden:
                            "docker run -p 3000:3000 -v /deinpfad/deinverzeichnis:/config"
                            Dann kannst du dort im lokalen Verzeichnis die Änderungen in der Config vornehmen und einfach mit einem Neustart des Containers aktualisieren und testen. Zudem überstehen die Config-Daten so auch einen Neustart des Containers.
                            Ähnliches kannst du auch mit /log machen, dann siehst du die detailierten Ergebnisse inkl. Bilder der Bilderkennung.

                            coyoteC Offline
                            coyoteC Offline
                            coyote
                            Most Active
                            schrieb am zuletzt editiert von
                            #92

                            @jomjol OK, hört sich gut an, aber wie gesagt, leider kenne ich mich der Container Station noch nicht wirklich aus. Wo wird das eingetragen "docker run -p 3000:3000 -v ......" ?
                            Wie ist der Container bei dir konfiguriert in den erweiterten Einstellungen? NAT?

                            Wegen der Kamera ist eine gute Frage. Habe sie bei Amazon gekauft, da steht keine Gradzahl dabei, werde mal schauen ob auf dem Modul direkt was steht. Zumindest ist es kein Fisheye.

                            J 1 Antwort Letzte Antwort
                            0
                            • coyoteC coyote

                              @jomjol OK, hört sich gut an, aber wie gesagt, leider kenne ich mich der Container Station noch nicht wirklich aus. Wo wird das eingetragen "docker run -p 3000:3000 -v ......" ?
                              Wie ist der Container bei dir konfiguriert in den erweiterten Einstellungen? NAT?

                              Wegen der Kamera ist eine gute Frage. Habe sie bei Amazon gekauft, da steht keine Gradzahl dabei, werde mal schauen ob auf dem Modul direkt was steht. Zumindest ist es kein Fisheye.

                              J Offline
                              J Offline
                              jomjol
                              schrieb am zuletzt editiert von
                              #93

                              @coyote ich habe kein QNAS, sondern eine Synology. Dort sieht die Docker-Verwaltung vermutlich komplett anders aus. Die Einstellungen solltest du unter soetwas wie "advanced settings" finden - fürchte, es hilft nur googeln.

                              1 Antwort Letzte Antwort
                              0
                              • coyoteC Offline
                                coyoteC Offline
                                coyote
                                Most Active
                                schrieb am zuletzt editiert von coyote
                                #94

                                Hm okay, ich dachte du hast auch ein QNAP. Aber stimmt, oben hattest du schon Synology geschrieben.
                                Na dann muss ich mal schauen wie ich das hinbekomme.

                                1 Antwort Letzte Antwort
                                0
                                • M Offline
                                  M Offline
                                  mcchickents
                                  schrieb am zuletzt editiert von
                                  #95

                                  Mount.PNG

                                  Kann Man die Laufwerke so in den Container einbinden? Bin leider kein experte für Docker^^

                                  Gruß Julian

                                  J 1 Antwort Letzte Antwort
                                  0
                                  • M mcchickents

                                    Mount.PNG

                                    Kann Man die Laufwerke so in den Container einbinden? Bin leider kein experte für Docker^^

                                    Gruß Julian

                                    J Offline
                                    J Offline
                                    jomjol
                                    schrieb am zuletzt editiert von
                                    #96

                                    @mcchickents ja, bei mir funktioniert es so:
                                    c72de00c-ac75-4945-89f8-2acd3ce897c4-grafik.png

                                    1 Antwort Letzte Antwort
                                    0
                                    • M Offline
                                      M Offline
                                      mcchickents
                                      schrieb am zuletzt editiert von
                                      #97

                                      Docker scheint zu laufen danke.

                                      Mit dem ESP-32 kämpfe ich noch etwas.

                                      Hab dir mal den Log aus dem Seriell Monitor, was könnte ich ausprobieren.

                                      rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                                      configsip: 0, SPIWP:0xee
                                      clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                                      mode:DIO, clock div:1
                                      load:0x3fff0018,len:4
                                      load:0x3fff001c,len:1100
                                      load:0x40078000,len:9232
                                      load:0x40080400,len:6400
                                      entry 0x400806a8
                                      gestartet - setup

                                      Brownout detector was triggered

                                      J 1 Antwort Letzte Antwort
                                      0
                                      • M mcchickents

                                        Docker scheint zu laufen danke.

                                        Mit dem ESP-32 kämpfe ich noch etwas.

                                        Hab dir mal den Log aus dem Seriell Monitor, was könnte ich ausprobieren.

                                        rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
                                        configsip: 0, SPIWP:0xee
                                        clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
                                        mode:DIO, clock div:1
                                        load:0x3fff0018,len:4
                                        load:0x3fff001c,len:1100
                                        load:0x40078000,len:9232
                                        load:0x40080400,len:6400
                                        entry 0x400806a8
                                        gestartet - setup

                                        Brownout detector was triggered

                                        J Offline
                                        J Offline
                                        jomjol
                                        schrieb am zuletzt editiert von
                                        #98

                                        @mcchickents hast du ihn mit 3.3V oder mit 5V versorgt? bei mir ging das Programmieren nur mit 5V

                                        1 Antwort Letzte Antwort
                                        0
                                        • M Offline
                                          M Offline
                                          mcchickents
                                          schrieb am zuletzt editiert von
                                          #99

                                          Mit 5v sieht es doch schon viel besser aus :-)

                                          auf die Ip bekomme ich jetzt schon einmal ein

                                          hello from esp8266! zurück.

                                          Wo kann ich jetzt im Docker die IP eintragen.

                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          699

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe