NEWS
Wasserzähler - Selfmade
-
Also ich habe mit der ESP-CAM ansich auch selten Probleme, habe den Code da auch eingebaut.
Einziges Problem was ich habe, meine ESP-CAM ist über einen AVM Fritz Repeater 2400 angebunden.
Wenn ich diesen mal neu starten muss wegen FW-Update oder so, dann reconnected die ESP-CAM oft nicht.
Manchmal tut sie es, oft aber auch nicht. Ich muss dann immer kurz die Stromversorgung kappen damit sie rebootet und dann reconnectet sie auch wieder.
Kann man das evtl. auch irgendwie in den Quellcode integrieren, damit das reconnecten besser klappt? -
@Atifan Habe gerade festgestellt, dass der Reconnect vermutlich nicht korrekt implementiert ist. Teste gerade ein Update, wenn es funktioniert lade ich es hoch.
-
Ah super, alles klar
-
@Atifan
Auf Github gibt es ein Update (in der Version Rolling): https://github.com/jomjol/water-meter-picture-provider/tree/rolling2 Änderungen:
- Reconnect zu WLan funktioniert jetzt auch wenn zwischendurch die WLan-Verbindung verloren geht
- Blinking signalisiert eine verlorene WiFi-Verbindung (3x kurz alle 10s)
-
OK thx. Muss ich da noch irgendwas ändern außer meiner WLAN SSID und PW?
-
So habe mal die neue FW geflasht und dann meinen Repeater neu gestartet.
Die ESP-CAM hat sich danach wieder automatisch connected, scheint also zu grundsätzlich zu funktionieren.
Werde beobachten ob es immer funktioniert, aber ich denke es sieht gut aus -
@jomjol Ist es eigentlich möglich den ESP32 über OTA zu flashen? Es ist nämlich ziemlich mühsam immer den Aufbau zu zerlegen, denn schon eine geringe Abweichung beim Wiederzusammenbau heißt auch wieder neu justieren...
-
Also bei mir ging das ohne Probleme. Da mein Halter an der gleichen Stelle bleibt, bleibt alles genau gleich bis auf minimalste Abweichung welche aber nicht schlimm ist. Durch die Referenzpunkte findet die Software ja alle Punkte exakt wieder. Bei der Feinjustierung nehme ich mir immer das Smartphone dazu und öffne den Link http://192.168.178.115:3000/wasserzaehler.html?usePreValue&full .
So sieht man direkt ob alles passt. -
Hallo Zusammen, doofe Frage, aber... ich habe meinen ESP32 gerade geflasht, nun möchte ich Docker auf mein Tinkerboard mit ARMBIAN installieren, die Frage ist wie mache ich das über Putty? Zweite Frage, die Webseite http://wasserzaehler.ignorelist.com scheint nicht mehr zu existieren auf deinem NAS? Braucht man die nicht mehr um die CFG anzupassen? Wenn ich alles hinbekommen habe, würde ich gerne ein Tutorial für Dummies machen, dieser Thread ist einfach inzwischen zu undurchsichtig wie ich finde .. Danke im Voraus!
-
@overfl0w Danke für den Hinweis mit der Webseite. Bei meinem NAS hat eine ReverseProxy einen Restart nicht vollständig überstanden. Jetzt geht es wieder!
-
Danke @jomjol für's fixen der Seite. Leider stehe ich nun auf dem Schlauch.. Ich habe meinen ESP geflasht und bekomme auch ein relativ gutes Bild wie ich finde.
Anschließend habe ich das Docker Image nun auf meinem QNAP NAS installiert und bekomme beim aufrufen des Ports 3000: "ERR_CONNECTION_REFUSED" .. Brauche ich noch irgendwelche Umgebungsvariablen o.ä?
Wie geht's dann weiter?
Vielleicht erbarmt sich jemand mir zu helfen?Danke im Voraus und einen schönen Sonntag
Maurice -
@overfl0w
Mit welchem Befehl genau hast du denn den Docker gestartet?
Hast du den Port 3000 auch nach aussen gemapt (Parameter -p 3000:3000)? -
@jomjol
Okay, danke - Du hast mich auf den richtigen Weg gebrachtSobald ich den Port 32768 anwähle kriege ich was, sorry. Allerdings muss ich hier scheinbar noch konfigurieren...Error - Problem during HTTP-request - URL: http://192.168.178.22/capture_with_flashlight
Ich versuch mich mal weiter durchzukämpfen
LG
-
So langsam steige ich durch alles durch. Man merkt Du hast da wirklich viel Arbeit und Zeit hineingesteckt. Danke dafür nochmal und dass Du das alles auch noch mit uns teilst. Leider verstehe ich nicht wie ich die erzeugte config.ini im Docker ablege bzw. wo?
Das hier klappt leider nicht, warschl. ist die Syntax falsch?
python ./wasseruhr.py docker run -p 3000:3000 --mount type=bind,source=/Container/Wasser/cfg,target=/config --mount type=bind,source=/Container/Wasser/log,target=/log
LG
Maurice -
@overfl0w Probier mal folgenden Syntax:
sudo docker run -p 3000:3000 --mount type=bind,source=/Container/Wasser/cfg,target=/config --mount type=bind,source=/Container/Wasser/log,target=/log jomjol/wasserzaehler:DOCKER_TAG
Du musst noch DOCKER_TAG ersetzen mit dem Docker-Container, den du verwendest.
-
-
-
@overfl0w ich hatte den Container auf meinem QNAP laufen, denke ich kann dir weiterhelfen.
Also, den Container hast du ja schon geladen, du musst aber noch 2 Ordner anlegen und diese unter SharedFolder eintragen.
Wie auf dem zweiten Bild zu sehen, habe ich einfach unter Container einen Ordner "wasserzaehler" erstellt und darin dann die beiden Ordner log und config.
In den config Ordner schiebst du dann deine Referenzbilder, config und den Neuralnets Ordner.
Port so einstellen wie im Bild:
Dann sollte der Container laufen
-
@coyote @jomjol vielen Dank euch beiden für eure Hilfe! Es scheint so als würde der Container nun laufen. Wenn ich eine Anfrage an den Container (http://192.168.23.2:3000/wasserzaehler.html) sende, passiert auch was im log vom Container:
---------------------------------------- Start CutImage, AnalogReadout, DigitalReadout ---------------------------------------- Exception happened during processing of request from ('192.168.23.145', 50484) Traceback (most recent call last): File "/usr/local/lib/python3.7/socketserver.py", line 316, in _handle_request_noblock self.process_request(request, client_address) File "/usr/local/lib/python3.7/socketserver.py", line 347, in process_request self.finish_request(request, client_address) File "/usr/local/lib/python3.7/socketserver.py", line 360, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/local/lib/python3.7/socketserver.py", line 720, in __init__ self.handle() File "/usr/local/lib/python3.7/http/server.py", line 426, in handle self.handle_one_request() File "/usr/local/lib/python3.7/http/server.py", line 414, in handle_one_request method() File "./wasseruhr.py", line 111, in do_GET result = wasserzaehler.getZaehlerstand(url, simple, usePrevalue, single) File "/lib/ZaehlerstandClass.py", line 156, in getZaehlerstand resultcut = self.CutImage.Cut('./image_tmp/original.jpg') File "/lib/CutImageClass.py", line 46, in Cut zeiger = self.cutZeiger(target) File "/lib/CutImageClass.py", line 62, in cutZeiger cv2.imwrite(name, crop_img) cv2.error: OpenCV(4.2.0) /io/opencv/modules/imgcodecs/src/loadsave.cpp:715: error: (-215:Assertion failed) !_img.empty() in function 'imwrite'
Allerdings bekomme ich einen: ERR_CONNECTION_REFUSED im Browser.
LG
Maurice -
@overfl0w die Ordner hast du aber auf dem QNAP angelegt und mit deiner config versehen? In deiner config steht die IP deiner Cam, ja?