NEWS
Wasserzähler - Selfmade
-
@pfried @coyote
Ich habe die analogen Ziffern gerade geteached - hat funktioniert. Implementierung in Docker und GitHub dauert noch etwas, daher schicke ich euch erstmal das h5-File. Ihr könnt es manuel in config/neuralnets kopieren und in der Config.ini entsprechend den Namen ändern. Dann habt ihr es schonmal vorab: Train_CNN_Digital-Readout_Version_4.1.0.h5Ich habe von @watcherkb auch noch andere Zeiger bekommen. Ich versuche gerade, diese zusammen mit meinen zu teachen und dann beide Updates gemeinsam hochzuladen.
-
@jomjol prima, danke dir. Komme leider erst morgen zum Testen
-
@jomjol Vielen Dank! Aber leider, wie oben geschrieben, ist mein Raspberry nach dem Upgrade für den Wasserzähler unter Python3 tot....
-
@jomjol ich habe gerade das neue File eingefügt, sieht gut aus. Es wird jetzt die 8 erkannt und nicht mehr als 1 angezeigt. Der Rest wird sich zeigen, aber lief ja vorher schon recht gut. Danke dir
-
@coyote sag mal wie sehen jetzt deine Verbindungsausbrüche aus? Meiner lief ca. 3 Tage jetzt habe ich wieder Probleme. Muss ihn mal anschließen und monitoren was er für Probleme hat.
-
@watcherkb so ganz blicke ich noch nicht durch, läuft jetzt wieder 3 Tage ohne Probleme durch. Feste IP hat aber nichts gebracht, kurz nachdem ich das geänderte Program geladen habe, hatte ich wieder kurze Zeit später keine Verbindung mehr.
Was mir aber dabei aufgefallen ist, dass der parser Adapter nicht korrekt lief und keine Anfrage mehr gestellt hat, warum weiß ich noch nicht, da der Adapter grün war, aber im Log fehlte die korrekte Anfrage an den Wasserzähler.Adapter, Container und ESP alles nochmal neu gestartet, seit dem läuft es ohne Probleme. Warten wir mal ab, werde weiter beobachten.
-
Also bei mir funktioniert die Erkennung mit den neuen Zahlen auch viel besser.
Die Neadle Erkennung spinnt nur manchmal.
Wird hier eigentlich nur nie Nadelstellung detektiert, oder spielen die Zahlen drumrum auch eine Rolle?
Toll wäre bei der Einrichtung ein Mittelpunkt (Kreuz) in der Roi.html als Einrichtungshilfe. Diesen Mittelpunkt könnte man zum einrichten über den Drehpunkt der Nadel platzieren.
Aber hiermit nochmals einen RIESIGEN Dank an @jomjol das du dein Projekt mit uns teilst -
@coyote Das Problem mit dem Parser kenne ich auch (nach Änderungen im Parser - keine Aktualisierung) Konnte ich auch nur mit Neustarts beheben
-
@coyote @Knallochse
Ich denke wir haben hier alle dieselben Phänomene. Auch ich musste den Parser schon mehrmals wieder starten, damit er abfragt (obwohl er grün signalisierte).
Leider kann ich derzeit nicht mittesten, da mein RB PI 4 nach einem Upgrade nicht mehr den Server startet. Also derzeit NICHT upgraden, falls Ihr die Raspberry Version verwendet, bis jomjol den Grund dafür gefunden hat (leider reichen meine Kenntnisse dafür bei weitem nicht aus). -
Hallo,
jetzt melde ich mich hier auch mal nach langem mitlesen...
Superspannendes Projekt...
Ich habe bis dato noch nix mit Arduino usw gemacht, habe es aber tatsächlich geschaft, dass die Cam funktioniert..
Nun habe ich mich am installieren der Software auf dem PI versucht... Erste Versuche auf einem bestehenden System liefen zwar durch, das Programm ließ sich dann aber nicht starten... (und nebenbei , habe ich durch die Updates am System auch meinen ebus zerstört.. läuft aber wieder ... gefährliches Halbwissen )
Dann dachte ich mir.. kein Problem.. ich habe ja hier noch einen jungfräulichen Pi4 rumliegen.. Aktuelles Image drauf und laut github Link für den Pi python usw. installiert... Es kamen bei der Installation keine offensichtlichen Fehlermeldungen...
Dann beim Start der Software:
pi@raspberrypi:~/water-meter-system-complete/code $ LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 python3 wasseruhr.py /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: compiletime version 3.4 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.5 return f(*args, **kwds) /usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: builtins.type size changed, may indicate binary incompatibility. Expected 432, got 412 return f(*args, **kwds) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) Traceback (most recent call last): File "wasseruhr.py", line 3, in <module> import lib.ZaehlerstandClass File "/home/pi/water-meter-system-complete/code/lib/ZaehlerstandClass.py", line 2, in <module> import lib.ReadAnalogNeedleClass File "/home/pi/water-meter-system-complete/code/lib/ReadAnalogNeedleClass.py", line 4, in <module> from PIL import Image ImportError: No module named 'PIL'
Seltsam.. Dr. Google sagt: sudo pip3 install pillow .. hab ich gemacht...
Dann:
pi@raspberrypi:~/water-meter-system-complete/code $ LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 python3 wasseruhr.py /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: compiletime version 3.4 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.5 return f(*args, **kwds) /usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: builtins.type size changed, may indicate binary incompatibility. Expected 432, got 412 return f(*args, **kwds) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) Traceback (most recent call last): File "wasseruhr.py", line 3, in <module> import lib.ZaehlerstandClass File "/home/pi/water-meter-system-complete/code/lib/ZaehlerstandClass.py", line 2, in <module> import lib.ReadAnalogNeedleClass File "/home/pi/water-meter-system-complete/code/lib/ReadAnalogNeedleClass.py", line 8, in <module> import cv2 ImportError: No module named 'cv2' pi@raspberrypi:~/water-meter-system-complete/code $
Dann: sudo pip3 install opencv-python
pi@raspberrypi:~/water-meter-system-complete/code $ LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 python3 wasseruhr.py /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: compiletime version 3.4 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.5 return f(*args, **kwds) /usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: builtins.type size changed, may indicate binary incompatibility. Expected 432, got 412 return f(*args, **kwds) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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 Traceback (most recent call last): File "wasseruhr.py", line 83, in <module> wasserzaehler = lib.ZaehlerstandClass.Zaehlerstand() File "/home/pi/water-meter-system-complete/code/lib/ZaehlerstandClass.py", line 18, in __init__ self.readAnalogNeedle = lib.ReadAnalogNeedleClass.ReadAnalogNeedle() File "/home/pi/water-meter-system-complete/code/lib/ReadAnalogNeedleClass.py", line 34, in __init__ self.model = load_model(self.model_file) File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/python/keras/saving/save.py", line 146, in load_model return hdf5_format.load_model_from_hdf5(filepath, custom_objects, compile) File "/home/pi/.local/lib/python3.5/site-packages/tensorflow/python/keras/saving/hdf5_format.py", line 168, in load_model_from_hdf5 raise ImportError('`load_model` requires h5py.') ImportError: `load_model` requires h5py. pi@raspberrypi:~/water-meter-system-complete/code $
Also .. wieder Google und sudo apt-get install libhdf5-dev
pi@raspberrypi:~/water-meter-system-complete/code $ LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 python3 wasseruhr.py /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: compiletime version 3.4 of module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.5 return f(*args, **kwds) /usr/lib/python3.5/importlib/_bootstrap.py:222: RuntimeWarning: builtins.type size changed, may indicate binary incompatibility. Expected 432, got 412 return f(*args, **kwds) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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)]) /home/pi/.local/lib/python3.5/site-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 /home/pi/.local/lib/python3.5/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 /home/pi/.local/lib/python3.5/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 /home/pi/.local/lib/python3.5/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 /home/pi/.local/lib/python3.5/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 Analog Model Init Done Digital Model Init Done Digital Model Init Done Traceback (most recent call last): File "wasseruhr.py", line 86, in <module> with socketserver.TCPServer(("", PORT), SimpleHTTPRequestHandler) as httpd: AttributeError: __exit__ pi@raspberrypi:~/water-meter-system-complete/code $
Und jetzt weiss ich nicht mehr weiter ...
Edit... habe es gerade nochmal auf dem PI4 so versucht.. da kommt dann : Wasserzaehler is serving at port 3000
Sieht gut aus und ich werde jetzt erstmal weitertesten...
-
@mameier1234
Na das ist ja schon mal die halbe Miete wenn der Server läuft. Wie sieht nun
http://IP-Adresse-ESP32/roi.html aus? -
@pfried Ich drucke gerade noch das Gehäuse... Bild kommt aber schon mit den eingezeichneten Vierecken... Mehr, wenn mehr da ist
-
@pfried An dem Problem mit dem RB PI3 komme ich nicht weiter. Ich kann dort nicht vernünftig debuggen, da ich ihn nur per SSH anspreche und keine Tools auf dem Raspberry installiert habe.
Meine "produktiven" System laufen auf dem Docker-Image auf einem Linux-Server. Erstes googlen hat mir noch keinen entscheidenden Hinweis gebracht. Bin momentan für den RB Pi3 etwas ratlos. -
@jomjol Ich hoffe, Du bekommst das noch hin! Wenn das mit dem RB PI nicht klappt, was für HW verwendest Du denn?
-
So.. die ersten technischen Hürden sind weg...
Das liefert http://192.168.160.76/capture_with_flashlight
Und das kommt bei: http://192.168.160.28:3000/roi.html
Spiegelverkehrt ?? (unscharf ist noch ein ganz anderes Thema)
Wo sollte ich denn jetzt ansetzten ?
In der Config.ini habe ich bisher nur die Url des Kameraservers angepasst
[alignment]
initial_rotation_angle=180das heist doch um 180° verdreht , oder ? bei mir sind es aber vieleicht 30 ° ?
-
@mameier1234 das Bild wird erst richtig in der Rio.html dargestellt, sobald deine 3 Bezugspunkte richtig in der config.ini eingestellt sind. Und dein Fokus müsste justiert werden, dein Bild erscheint unscharf
-
Also, heute wieder der ESP offline um 12:02 Uhr (laut Radar Adapter). Jetzt habe ich mal ins Log geschaut was der parser sagt:
2019-11-25 11:32:56.258 - [34mdebug[39m: parser.0 (3306) States for current Interval (900000): ["parser.0.Wasserzähler"] 2019-11-25 11:32:56.259 - [34mdebug[39m: parser.0 (3306) Do Link: http://192.168.66.38:3000/wasserzaehler.html?usePreValue 2019-11-25 11:32:56.259 - [34mdebug[39m: parser.0 (3306) Request URL: http://192.168.66.38:3000/wasserzaehler.html?usePreValue 2019-11-25 11:33:02.231 - [34mdebug[39m: parser.0 (3306) Process ["parser.0.Wasserzähler"] for link http://192.168.66.38:3000/wasserzaehler.html?usePreValue 2019-11-25 11:33:02.231 - [34mdebug[39m: parser.0 (3306) analyseData CHECK for parser.0.Wasserzähler, old=489.5301
Da ging es noch...
2019-11-25 11:47:56.259 - [34mdebug[39m: parser.0 (3306) States for current Interval (900000): []
Und hier fängt das Problem an, denke da geht irgendwas nicht mit dem parser nicht. Er fragt ja gar keine URL mehr an und ne viertel Stunde später ist der ESP offline.
Gut, warum der ESP dann offline geht wenn keine Anfrage kommt, weiß ich leider nicht, aber solange der parser immer konstant abfragt, läuft das Ding.Vllt mal ausweichen auf javascript, da muss ich aber erst mal schauen wie dann die Rückmeldung verarbeitet wird. Was denkt ihr?
-
@watcherkb @coyote
Wie auch schon weiter oben beschrieben, hatte ich dasselbe Verhalten. Der Parser geht aus irgendeinem Grund nicht mehr und ein paar Minuten (15?) ist der ESP32 tot. Dann hilft nur mehr neustarten des ESP32 - Wasserzähler Server und des Parsers. Mir aber ein Rätsel warum das so ist....@mameier1234
Man muss über den initial_rotation_angle den ungefähren Drehwinkel einstellen. Also zuerst ein Bild mit http://IP-Adresse ESP32/wasserzaehler.html machen und dann entweder deinen Aufbau solange drehen bis das Bild gerade zu Dir zeigt, oder Du stellst eben über den initial_rotation_angle einen Winkel so ein, das das Bild "gerade" (also nicht am Kopf stehend) zu Dir zeigt. Um den Fokus zu verstellen verdrehe die Linse circa eine halbe Umdrehung. Das erste Bild bei Dir sieht eh schon gut aus, deshalb initial_rotation_angle = 0. Mir scheint aber, dass der Aufbau schief auf dem Wasserzähler montiert ist (links näher als rechts) -
@pfried ganz genau, deshalb muss ich mal schauen ob man da was mit Javascript machen kann und ob es dann geht
-
- Du musst erstmal das Bild scharf bekommen (siehe dazu viel weiter oben im Chat).
- Jetzt musst du die Refererenzen und die Config-Einstellungen an deinen Wasserzähler anpassen. Anleitung habe ich hier verlinkt:Alignment_procedure_draft.pdf