NEWS
Wasserzähler - Selfmade
-
@sissiwup Mein Zähler Schein ähnlich aufgebaut zu sein, und ich hatte mit den analogen Zeigern noch keine Probleme (bin auch auf 5.0)
Vielleicht liegt es an den Plasikteilchen auf deinem Glas
-
@jomjol Ich habe den Container nun auch mal auf "bridged" gestellt und diesem eine IP gegeben. Anschließend habe ich das USB-Kabel und das Netzteil getauscht vom ESP.
Wenn ich nun mit Laptop vor dem ESP sitze und den Container aufrufe werden scheinbar 2 Fotos gemacht, da das Flashlight zwei mal aufleuchtet, d.h. der ESP ist vom Container aufrufbar.
Hier nochmal ein Video und ein Screenshot vom Fehler beim Aufruf des Containers:
IMG_0642.MOVHier nochmal beim Direktaufruf:
@coyote Hat es auf Anhieb bei dir funktioniert?
Liebe Grüße
Maurice -
@overfl0w benutzt du in einem anderen Container „Grafana“?
-
@Knallochse
Auf dem NAS läuft ein Ubuntu auf einer VM und Teamspeak als Container.. Grafana nicht.LG
-
@overfl0w meine Vermutung war, das Port 3000 schon benutzt wird (Grafana hat Port 3000)
Vielleicht hilft es ja, den Containerport umzuleiten (z. Bsp. 3000:1234)
Musst dann beim aufrufen deinen Port in 1234 (Beispiel) benutzen -
@overfl0w ja, hat bei mir ohne Probleme funktioniert. Seltsam.
-
@sissiwup sagte in Wasserzähler - Selfmade:
Funktioniert eigentlich recht gut. Was bei meinem Bild. z.B. schlecht ist, sind die Reflektionen auf der 0
Die 5.0 er Modelle bei den Digits funktionieren bei mir besser als die 4.x er.
Die analogen sind aber schlechter, da hatte ich vorher nie Probleme.
Da erkennt er aktuell oft eine Ecke des Zeigers als Zeiger,Klebe was mattes dunkles auf die Stelle wo das Licht reflektiert, da auf dem einen analogen Rädchen.
Dann sollten die Reflektionen weg sein. -
Start seit Start/Reset: http://ip-ESP32/getruntime
Letzter Watchdog-Reset: http://ip-ESP32/lastwatchdogreset
Version auslesen: http://ip-ESP32 -
@watcherkb ich danke dir vielmals.
Die ersten beiden Links passen.
Der Link zur Versionsinfo (nur IP der Kamera) wirft bei mir nur das aus
Leider kein Hinweis auf die Version.
Hatte die letzte Version von @jomjol gestern geflasht -
Am Port liegt es nicht, da der Container die Anfrage ja ohne Probleme kriegt:
---------------------------------------- Start CutImage, AnalogReadout, DigitalReadout ---------------------------------------- **Exception happened during processing of request from ('192.168.23.145', 56212)**
Ich denke es liegt am ESP bzw, dass dieser zu langsam reagiert...
Wenn ich den ESP ausschalte dann bekomme ich die Fehlermeldung vom Container, dass der ESP nicht erreichbar ist.@jomjol, kann man irgendwie etwas einstellen in deinem Code, dass die Laufzeit verlängert, so wie in PHP z.B. das Memory Limit oder die Executingtime ?
Oder ich muss mir eine Antenne für den ESP kaufen, sodass dieser vllt. die Daten schneller sendet, da der Empfang noch besser ist? Bis das Bild in 800x600 geladen ist, dauert es ca. 7 Sekunden.. Wie ist denn das bei euch? Gehts wesentlich schneller?
LG und danke euch im Voraus
Maurice -
@Knallochse sagte in Wasserzähler - Selfmade:
@watcherkb ich danke dir vielmals.
Die ersten beiden Links passen.
Der Link zur Versionsinfo (nur IP der Kamera) wirft bei mir nur das aus
Leider kein Hinweis auf die Version.
Hatte die letzte Version von @jomjol gestern geflashtDann verwendest du vermutlich noch nicht die neueste Version - Achtung: in Github gibt es eine Rolling - die enthält die neuesten Features!
Bei mir funktioniert es:
-
@overfl0w Es ist schon ein Timeout eingebaut und das kannst du in der Config.ini auch einstellen - TimeoutLoadImage:
[Imagesource] TimeoutLoadImage=30 #IP durch die IP des ESP32 ersetzen! URLImageSource=http://IP-ESP32/capture_with_flashlight
Standartmäßig steht es auf 30s. Ich hatte aber auch schon das Problem mit schlechten Verbindungen. Am Ende hat nur ein Repeater im Keller geholfen.
-
@jomjol Danke. Aufgrund deiner Antwort habe ich gerade nochmal geflasht.
Jetzt scheint die neue Version drauf zu sein.
Da hatte ich wohl vor 2 Tagen einen Aussetzer -
@Knallochse Das war kein Aussetzer... mir ging es genauso
ich habe mir auch nur die neue (8Tage) alte Datei geholt...
in der ...server-class.cpp steht das mit der Version drin.. aber laut Github ist das auch die einzige Änderung an der Datei..
Auf jeden Fall: Seit ich die neue Version geflasht habe ist Ruhe mit Unterbrechungen.. vorher 4-10 x am Tag.. .Seit Gestern kein einziges Mal. Top Arbeit !
Wie würde denn das mit dem OTA flashen funktionieren ?
-
Ich habe auch das Problem mit dem Erkennen von Ecken.
Beispiel: Zeiger 4 wird als 8 statt 4 erkannt:Und das mit dem OTA update vom ESP würde mich auch interessieren, würde mir das Absteigen in den Schacht ersparen.....
@jomjol Eine Frage zu dem TimeoutLoadImage: von wann bis wann wird da gemessen (und was)?
-
@pfried Sammelt bitte einfach ein paar von den fehlerhaften Zeigern und schickt sie mir dann. Ich kann die dann in das Training integrieren.
TimeoutLoadImage = Wartezeit auf die Antwort des ESP32-CAM Servers
-
@jomjol Ich bin jetzt schon ein paar Schritte weiter (3D-Druck hat geklappt, dein rolling-Release für die Firmware stürzt nicht mehr ab, WLAN-Problem beseitigt, etc ...) und habe ein paar Roh-Bilder (pre-Auswertung) gesammelt, die dann teilweise falsch erkannt wurden. z.B. wurde immer wieder eine 5 als 9 interpretiert.
Kriege ich diese irgendwie (statt des Live-Bildes) an deinen Docker-Container gefüttert (zum Verifizieren) oder muss ich dafür eigens einen HTTP-Server aufsetzen oder die Dateien auf einen kopieren, da der Container nur eine URL als Bildquelle akzeptiert?
-
@Jens77 Der Container akzeptiert nur eine URL als Input. Eine Art Filedownload habe ich nicht implementiert.
-
@jomjol OK, das ist verschmerzbar - die ersten 20 Bilder kann ich notfalls auch selber in die Datenbank schreiben. Herzlichen Dank auf jeden Fall für deine Vorarbeit, das ist echt ein anspruchsvolles Projekt!
Was sind dann die best practices für die Einbindung in iobroker? Derzeit schreibe ich bloß in einem bash-Skript die erkannten Werte direkt in InfluxDB, mittels eines bash-Skripts, welches einfach per cron alle 10min läuft. Das ist aber sehr rudimentär und erlaubt ja auch keine Reaktionen, sondern nur Anzeigen von Werten.
Trotzdem, hier ist meine Lösung:
#!/bin/sh # /home/pi/wasseruhr-docker.sh # sudo docker run -p 3003:3000 --name wasseruhr \ --mount type=bind,source=/home/pi/wasseruhr-config,target=/config \ --mount type=bind,source=/home/pi/wasseruhr-config,target=/log \ jomjol/wasserzaehler:raspi-latest
#!/bin/bash # /home/pi/wasseruhr-cron.sh # # läuft der Docker Container? sonst neustarten und etwas warten sudo docker container ls |grep -q wasseruhr || ( $HOME/wasseruhr-docker.sh & sleep 5 ) # Daten holen VALUE=$(wget -q http://localhost:3003/wasserzaehler.html -O - | cut -f1) # PREVALUE= ... todo # wenn VALUE einen Wert hat, dann ist die Ablesung erfolgreich gewesen if test -z "$VALUE" ; then echo "Docker is NOT running. Getting just the image ..." wget -q http://192.168.179.130/capture_with_flashlight -O $HOME/wasseruhr/"$(date +%Y%m%d-%H%M).jpg" else echo "Docker IS running. Getting cached image + inserting parsed value into DB." wget -q http://localhost:3003/image_tmp/alg.jpg -O $HOME/wasseruhr/"$(date +%Y%m%d-%H%M)__$VALUE.jpg" influx -database 'iobroker' -execute "INSERT wasseruhr.0.absolute value=$VALUE" fi
Die Cronjobs:
# Wasseruhr Download */10 * * * * pi /home/pi/wasseruhr-cron.sh 31 */6 * * * root /usr/bin/docker restart wasseruhr
-
@Jens77
Hi,such mal nach JavaScript oder Parser-Adapter hier im Thread.