NEWS
Wasserzähler - Selfmade
-
@watcherkb ich hatte auch das Problem, das öfter mal die Kamera offline war. Habe 15min Intervall eingestellt. Komischerweise läuft das Ding seit gut einer Woche jetzt stabil, obwohl ich eigentlich nichts geändert habe. Hatte schon vor Wochen eine externe Antenne an den ESP32 geschraubt, da mein WLAN Signal in dem Kellerraum sehr schlecht war.
Dachte erst, dass die Verbindungsabbrüche daher kommen, hatte aber auch danach noch ab und an Abbrüche.
Aber wie gesagt, seit gut einer Woche läuft es jetzt plötzlich stabilEDIT: zu früh gefreut, seit heute Nacht dann wieder offline
@jomjol ich habe irgendwo was von watchdog gelesen, hast du da nicht was eingebaut? Wann greift der eigentlich ein und rebootet das Teil? Ich dachte, wenn der ESP die Verbindung verliert, greift irgendwann der watchdog und startet ihn neu?! Kann ich das irgendwie auch testen?
-
@coyote wenn du direkt auf die IP der CAM gehst sollte das bei dir auch so aussehen. Schaut aus als ob Watchdog aktiviert ist.
Hello from ESP32-CAM!
Flash-Light is on GPIO4 - recommended illumination!
WS2812b-LED Strip is on GPIO2 - if connected
Watchdog enabled with 120s -
ich habe noch zusätzlich das Problem dass das Bild nicht komplett angezeigt wird. Unten ist ein grauer balken, teilweise noch stärker sodass die runden Zeiger nicht komplett sichtbar sind. Ich habe aber eine andere Auflösung gewählt, evtl. liegt es daran? http://192.168.1.38/capture_with_flashlight?quality=18&size=XGA
-
@watcherkb @coyote Dann geht bei mir aber der Watchdog nicht, denn der ESP meldet sich nach unter zwei Minuten ab und kommt nicht wieder online ......
-
@watcherkb Soweit ich mich erinnern kann darf die Auflösung nur 800x600 sein also SVGA
-
@coyote Ich habe auch das Problem mit dem Empfang, hast Du beim ESP diesen Null Ohm Widerstand umgelötet? Ich habe das einmal probiert und gleich den ESP damit zerstört. Kannst Du mir vielleicht einen Tipp geben?
-
@pfried ja habe ihn umgelötet, werde ich aber nicht mehr machen, dass war ein gefrickel. Dann ist mir auch noch ein Lötpunkt abgerissen, musste die Leiterbahn etwas aufkratzen, damit ich das Ding nochmal anlöten konnte. Ein Versuch war es Wert, hatte mir auch schon nen zweiten ESP32 bestellt, als der Lötpunkt abgerissen ist, aber es hat dann doch funktioniert.
Unter einer großen Lupe ging es einigermaßen, aber ohne richtiges Werkzeug für den mini SMD Widerstand zu löten, ist es wirklich eine Qual.
Vllt findest du auch irgendwo einen ESP32 der direkt für eine externe Antenne gelötet ist, wäre wohl einfacher.@watcherkb ja das steht bei mir auch, deshalb wollte ich ja wissen, ob ich irgendwie testen kann, ob der watchdog wirklich funktioniert.
-
@watcherkb Hallo Watcherkb,
ein Watchdog ist eingeschaltet auf 30 Minuten (Die 120s stimmen nicht - vergessen zu korrigieren). Er wird beim Start des Servers gestartet und jedesmal resetted, sobald ein Bild aufgenommen wurde.
Über folgende Abfrage könnt ihr abfragen, seit wann der ESP32 seit dem letzten Reset läuft und wann der letzte Watchdog reset war:Start seit Start/Reset: http://ip-ESP32/getruntime
Letzter Watchdog-Reset: http://ip-ESP32/lastwatchdogreset -
@jomjol prima, danke dir genau das wollte ich wissen
-
@jomjol Hast Du auch eine Antwort für mich warum AllowNegativeRates=False nicht funktioniert (siehe 312) Danke im Voraus!
-
Servus
Ich hab jetzt auch mal versucht einen Pi aufzusetzen.
Leider nur mit geringem Erfolg.
Der ESP läuft und der Link ist unter config angepasst.
Trotzdem kommt folgende Fehlermeldung:pi@raspberrypi:~/docker-wasserzaehler $ python3 wasseruhr.py WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AttrValue is deprecated. Please use tf.compat.v1.AttrValue instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.COMPILER_VERSION is deprecated. Please use tf.version.COMPILER_VERSION instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.CXX11_ABI_FLAG is deprecated. Please use tf.sysconfig.CXX11_ABI_FLAG instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.ConditionalAccumulator is deprecated. Please use tf.compat.v1.ConditionalAccumulator instead. Traceback (most recent call last): File "wasseruhr.py", line 3, in <module> import lib.ZaehlerstandClass File "/home/pi/docker-wasserzaehler/lib/ZaehlerstandClass.py", line 2, in <module> import lib.ReadAnalogNeedleClass File "/home/pi/docker-wasserzaehler/lib/ReadAnalogNeedleClass.py", line 8, in <module> import cv2 File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in <module> from .cv2 import * ImportError: /home/pi/.local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8
Was nun? Please Help
Gruß Peer -
@C1500 Hast Du sicher die SW für den RaspberryPi genommen:
https://github.com/jomjol/water-meter-system-complete/tree/Raspberry-V3
Ich hatte die Gleichen oder ähnliche Fehler (kann mich nicht mehr genau erinnern) weil ich nicht diese speziell für den RP3 genommen habe. -
Genau nach der Anleitung bin ich vorgegangen.
Im Bereich "Usage" wäre noch eine Anleitung schön wie der Code einzubinden bzw. kopiert werden soll.
Ich hab es zum einen mir "git clone" versucht, was aber vermutlich den anderen Bereich gezogen hat.
Jetzt hab ich noch mal das Verzeichnis "code" als zip geladen,, entpackt und mit WinSCP auf dem Pi kopiert.
Vermutlich geht das aber so nicht.Hier wäre ich für Hilfe sehr Dankbar.
Gruß Peer
ps: was muss denn noch angepasst werden, außer der IP der ESP-CAM?
Bin leider eher ein Linux Anfänger und Hardwerker
-
@C1500 Weiter oben gibt es einen Link zu einem Dokument wie man die Config anpassen muss.
Wichtig ist, dass Du das Phyton Skript starten kannst, dann lese Dir einfach mal alle Posts durch, da findest Du alle Infos die man zum Einrichten braucht. -
@pfried Darum konnte ich mich noch nicht kümmern, bin gerade beruflich etwas verplant. Kommt aber noch.
-
@C1500 Okay - sieht nach einem Problem mit OpenCV2 aus. Das zickt manchmal etwas rum. Die Anleitung für den Raspi PI3 https://github.com/jomjol/water-meter-system-complete/tree/Raspberry-V3 hatte bei mir genau so funktioniert. Hoffentlich hat sich nichts durch Update der Libraries verschoben. Falls du weiterhin das Problem hast, melde dich nochmal bei mir, dann probiere ich es selbst nochmal aus.
-
Servus jomjol
ich hab gerade noch mal den Code von deinem Link runtergeladen und per WinSCP auf den PI kopiert.
Dann im "ReadAnalogNeedleClass.py" das # vor "import keras" eingetragen.
Nun scheint etwas zu passieren, zumindest dauert es einige Zeit bis folgende Meldung kommt:pi@raspberrypi:~/code $ python3 wasseruhr.py WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AUTO_REUSE is deprecated. Please use tf.compat.v1.AUTO_REUSE instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.AttrValue is deprecated. Please use tf.compat.v1.AttrValue instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.COMPILER_VERSION is deprecated. Please use tf.version.COMPILER_VERSION instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.CXX11_ABI_FLAG is deprecated. Please use tf.sysconfig.CXX11_ABI_FLAG instead. WARNING:tensorflow:From /home/pi/.local/lib/python3.7/site-packages/tensorflow/__init__.py:98: The name tf.ConditionalAccumulator is deprecated. Please use tf.compat.v1.ConditionalAccumulator instead. Traceback (most recent call last): File "wasseruhr.py", line 3, in <module> import lib.ZaehlerstandClass File "/home/pi/code/lib/ZaehlerstandClass.py", line 2, in <module> import lib.ReadAnalogNeedleClass File "/home/pi/code/lib/ReadAnalogNeedleClass.py", line 8, in <module> import cv2 File "/home/pi/.local/lib/python3.7/site-packages/cv2/__init__.py", line 3, in <module> from .cv2 import * ImportError: /home/pi/.local/lib/python3.7/site-packages/cv2/cv2.cpython-37m-arm-linux-gnueabihf.so: undefined symbol: __atomic_fetch_add_8 pi@raspberrypi:~/code $
Ein Bild wird allerdings nicht aufgenommen.
Ich hoffe das hilft beim Lösen meines Problemes weiter. ;o)
Gruß Peer -
@C1500 Hallo Peer,
konnte dein Problem reproduzieren. Es scheint, also ob es ein Update/Modifikation an der OpenCV Bibliothek gab, denn vor 2 Wochen hat es bei mir funktioniert.
Ich habe aber auch einen Work-Around gefunden. Du musst das Python-Script mit einem sehr spezielle Aufruf starten:LD_PRELOAD=/usr/lib/arm-linux-gnueabihf/libatomic.so.1 python3 wasseruhr.py
Das vermeidet den Fehler. Ich habe bei mir jetzt nochmal die Anleitung in Github für Raspberry Schritt für Schritt geprüft und upgedatet. Ich habe im Code jetzt auch den Fehler mit '#keras' korrigiert und in der Readme.md einen Anleitung für einen Code-Clone mittels "git"-command dokumentiert. Dann brauchst du eigentlich nichts mehr per WinSCP kopieren.
Schau es dir mal an und gerne Feedback falls dir weiteres auffällt. Danke für deine Rückmeldung zu den Problemen und der Geduld.
https://github.com/jomjol/water-meter-system-complete/tree/Raspberry-V3Beste Grüße,
jomjol -
Servus jomjol
Erst mal einen riesigen Dnak für deine Arbeit und deine Geduld mit mirDie Anleitung hab ich mir angeschaut. Sehr gut
Das mit dem Aufruf kann ich erst heute Abend testen.
Ist das dann der Standartaufruf oder nur einmalig?Gruß Peer
TANTE EDIT:
Hab es noch mal vom GIT geholt und mit dem PRELOAD ausgeführt.
Es funktioniert.
Jetzt muss ich mich mal um die Kamera kümmern das die ein sauberes Bild liefert.
Schönen Abend
Gruß Peer -
Habe mich nun mit der Auswertung beschäftigt und kann bei Bedarf meine bisherigen Schritte bekanntgeben.
Grobschritte:- Webserver von Jomjol starten
- Mit Parser im IOBroker Werte auslesen
- Auswertung mit IOBroker Blockly (mit Abfangen von Fehlwerten)
- Variablen nach CCU schreiben
Wenn jemand daran interessiert ist schreibe ich gerne eine Anleitung.
CCU RM: