NEWS
Wasserzähler - Selfmade
-
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
-
@Knallochse Ich habe die "roi.html" angepasst. In der neuesten Version hat sie jetzt ein Kreuz in der Mitte.
-
@pfried Hallo Pfried,
ich verwende eine Synology DS718 mit einem Intel-Prozessor und habe darauf Docker laufen. Das ist echt stabil.
Es sollte aber eigentlich auf jedem Linux-Server mit einem Intel-Prozessor funktionieren. -
@jomjol Da werde ich mir wohl ein Weihnachtsgeschenk machen müssen.... denn mit dem RB4 ist die Stabilität anscheinend wirklich ein Problem......abgesehen davon, dass es derzeit gar nicht geht.
-
@jomjol und @pfried : Ich glaube hier gibt es eine Verwechslung. Ich hatte eher @mameier1234 helfen wollen, seinen Wassermengenzähler in Betrieb zu nehmen. Bei mir läuft es soweit
-
-
@watcherkb habe jetzt ein Script zusammengebastelt, da aber der ESP schon wieder offline ist, kann ich erst heute mittag testen.
-
@jomjol Ich habe heute einen neuen Docker Container erstellt (mit deinen Änderungen von gestern V4.1.0) Ich habe dabei auch die Bildeinrichtung komplett neu vorgenommen, um die neue RIO.html zu testen (mit dem Kreuz) . Mir hatte diese Änderung sehr geholfen, um die Zeiger zu platzieren.
Vielen Dank für die Umsetzung.
Bis jetzt sieht es gut aus mit der Erkennung. Ich muss das natürlich länger beobachten, um die Änderungen beurteilen zu können. Ich gebe auch jeden Fall hier ein Feedback -
Also ich muss in 2020 mein Gartenwasserzähler erneuern. Da die Eichung abgelaufen ist. Gibt es da kostengünstige Wasseruhren die man einfacher auswerten kann? Glaube aber die ESP Version ist trotzdem um einiges Günstiger ? Auch wenn man eh einen neuen Zähler braucht?
Kann ein ESP auch 2 Kameras gleichzeitig ? Habe 2 Zähler nur 1m auseinander
-
@Knallochse Auf welcher HW hast Du den Docker rennen, auch auf der DS718?