NEWS
Wasserzähler - Selfmade
-
@jomjol eine Kleinigkeit hätte ich noch.... Ist es möglich dass der Server die config.ini bei jeder Bildauswertung neu einliest? Aktuell muss ich immer den ganzen Docker Neustarten damit er die Änderungen übernimmt.
-
@intruder7 Ist momentan keine Rotation hinterlegt --> er speichert alle Bilder. Du kannst nur mit dem Parameter "LogNames=zeiger3, zeiger4" jeweils für die Ziffern und Zeiger festlegen, dass er nur die Bilder von bestimmten ROIs speichert (z.B. die ersten Ziffern nicht, da 10000, 1000, 100 m³ sich nicht so schnell ändern).
-
@intruder7 Ist leider nicht ganz so einfach, da die config.ini zu Beginn in der Init-Phase der Klassen geladen wird. Ich müsste intern den Server neu starten, d.h. innerhalb des Script es beenden und neu starten. Habe dafür bisher keine einfache Lösung gefunden.
Wenn du etwas kennst, bitte um kurze Info - dann implementiere ich es. -
Mh bin etwas enttäuscht von der Qualität der ESP32 Cam bekommt das jemand von euch vernünftig zum laufen?
Hat jemand eine günstige deutsche (europäische) Bezugsquelle für die ArduCAM OV2640 Cam?
-
@mcchickents Drucke mir gerade einen Adapter für die ESP32 an meine Wasseruhr anzuschließen, um die Qualität in Real-Life zu sehen (verwende ArduCam). Kannst du mir mal ein Bild schicken?
Sobald ich selbst eins habe, melde ich mich auch. -
-
@mcchickents Sieht für mich noch unscharf aus - musst vermutlich noch weiter weg. Wie gesagt, drucke gerade eine Anpassung meiner Haltung für den ESP32-CAM mit größerem Abstand ...
Muss aber fast alles neu konstruieren, dauert deswegen. Wenn es klappt, schicke ich ein Bild und werde die 3D-Zeichnung auch hochladen. -
@intruder7 Habe jetzt eine Reload-Routinge implementiert. Wenn du denn Server mit folgender HTML-Seite aufrufst, wird die Config.ini neu eingelesen:
http://ip-adresse:3000/reload.html
Das Docker-Image mit dem Tag rolling (jomjol/wasserzaehler:rolling) enthält die neue Version.
-
Hi Jomjol,
hast du mir noch deine Bezugsquelle von der ArduCAM würde mir die zum Test auch mal kaufen. Wemos hab ich noch da. Ich finde aber nicht die wo du auf den Bilder hast.
Gruß Julian
-
@mcchickents Hi Julian,
ich habe die Kamera bei watterott gekauft (ArduCAM 2MP Mini Kamera Board - OV2640). Gibt es dort auch noch, kostet aber 28,50 EUR.Aber vielleicht willst du noch etwas warten, bevor du das Geld ausgibst. Ich mache gerade Fortschritte mit dem ESP32-CAM - mein Druck der Halterung ist fast fertig.
Zwischenstand ist folgender:- Ich kann jetzt die interne Flash-LED (GPIO4) statt des zusätzlichen LED-Strips für die Beleuchtung verwenden
Spart die komplette externe Beleuchtung über den LED-Strip und gibt sogar weniger Reflexionen - Aktuell ist das Bild noch unscharf, da ich nur ca. 11 cm von der Oberfläche weg bin. Muss noch eine Verlängerung des Tubus drucken, sollte besser werden
Das Bild wird dann zwar kleiner, müsste aber noch reichen.
Ich füge mal zwei Bilder aus 8,5cm und 11cm Abstand als Beispiel unten an (sind mit ESP32-CAM und onboard Flash-LED gemacht).
Den Code für die Ansteuerung der internen Flash-LED habe ich auf GitHub gerade hochgeladen (https://github.com/jomjol/water-meter-picture-provider/tree/master/ESP32-CAM_Server-GitHub)
Gruß,
jomjol
- Ich kann jetzt die interne Flash-LED (GPIO4) statt des zusätzlichen LED-Strips für die Beleuchtung verwenden
-
@jomjol
Sauber! Dein Support ist wirklich erstklassig -
Hi hört sich wie immer super an. ich warte Erstmal
-
@mcchickents, @intruder7
Kurzer Zwischenstand zu meinen Versuchen mit der ESP32-CAM mit OV2640-Modul:Ich habe eine Halterung für die Kamera entworfen und gedruckt. Wenn man die Flash-LED freihält, dann reicht diese völlig zur Beleuchtung aus --> zusätzliche LED-Beleuchtung könnte man sich sparen.
ABER: das OV2640-Modul ist ein Fix-Focus Modul, welches laut Spec erst ab ca. 60cm scharf ist und das merkt man auch. Meine Experimente zeigen, dass man bei meiner OV2640 mindestens 20cm weg bleiben muss, um grob scharf zu werden. Selbst dann ist das Bild nicht vollständig scharf und wenn ich noch weiter weg gehe, werden die Ziffern und Zeiger sehr klein für die Erkennungsalgorithmen. Hier ein Beispielbild:
Um noch ein bisschen mehr aus der Kamera rauszuholen, habe ich die Software für den ESP32-CAM nochmal erweitert. Jetzt kann man über URL-Parameter die Bildgröße einstellen (size=VGA, XVGA, ...) und auch die JPEG-Kompressionsqualität (quality=0 (best) ... quality=63 (worst).
Code ist auf Github in der aktuellen Version hochgeladen (V2.1.0 - https://github.com/jomjol/water-meter-picture-provider/tree/master/ESP32-CAM_Server-GitHub) - aber nur für die ESP32-CAM Version.Ich hänge noch 3 Bilder von der 3D-gedruckten Halterung an. Die will ich aber noch nicht in Thingiverse veröffentlichen, da ich noch keine Lösung für das Schärfeproblem habe:
Falls jemand eine gute Idee für eine Optik zur Einstellung des Fokus hat, bin ich um jeden Ratschlag dankbar. Eigentlich die letzte Hürde für eine wirklich günstige Gesamtlösung.
Beste Grüße,
jomjol -
@jomjol danke dass du dir die Mühe machst und uns über die Fortschritte informierst. Keine Ahnung ob das funktionieren könnte, aber evtl. würde eine Linse vor dem Objektiv helfen? Nur mal so bisschen rumgesponnen.
60cm sind schon zu viel. Das wird bei mir z.B. garnicht gehen, da die Wasseruhr nicht nach oben sondern zur Seite zeigt. Also kein Platz.Mach weiter so, respekt!
-
Was für ein Turm! g
Schade, dass das Kamera-Modul so eine eingeschränkte Optik hat.
Vielleicht kann man was mit einer Sammellinse als Vorbau erreichen.Oder besser: Das Modul ersetzen - evtl. mit so etwas:
Mit der Fisheye-Variante sollte man ziemlich nah ran können - hab aber keine Ahnung ob die optische Verzerrung ein Problem fürs OCR bedeutet. Für den Fall könnte man die JPGs mit einem Programm aber wieder entzerren.
-
@ReverZ Danke für den Tip. Habe gestern soetwas ähnliches bestellt. Braucht aber 4 Wochen - aber alles hier in DE war mir zu teuer
-
@mcchickents, @intruder7, @ReverZ @watcherkb Lösung !!!!
Heureka - ich habe gerade eine einfache Lösung für das Problem der fehlenden Tiefenschärfe gefundenIch habe an der OV2640 den Sigellack (siehe rote Markierung im Bild) für das Objektiv "vorsichtig" abgekratzt. Dann kann man den oberen Teil drehen und so die Fokusebene verschieben. Eine Vierteldrehung gegen den Uhrzeigersinn hat bei meinem Exemplar ausgereicht, um den Nahbereich scharf zu stellen.
Dann kann ich wieder viel näher ran und bekomme das gewohnte Bild:
Der Turm ist dann auch wieder "normal" hoch (13cm gesamt, 11,5cm über Oberfläche Wasseruhr):
Werde jetzt erstmal 'nen Kaffee trinken und dann übers Wochenende mein System auf die neue Kamera umstellen. Wenn es stabil läuft, gibt es natürlich die 3D-Druck Anteilung etc. ... auf Thingiverse, Github und Docker.
Wenn das alles so funktioniert, sinkt der Materialeinsatz für die Wasseruhr im Wesentlichen mit der ESP32-CAM und den Druckkosten auf 5 - 15 EUR, je nachdem wo ich es bestelle.
Beste Grüße und schönes Wochenende,
jomjol -
Sauber! Immer auf der Suche nach kostengünstigen Lösungen.
Entferne noch deine Zählernummer von dem Foto, falls dir das wichtig ist (bisher hast du das so gehandhabt). -
Apropos "Turm"...
Bei uns kommt 1x jährlich jemand zum manuellen Ablesen des Zählerstands.
Dazu muss der Aufbau mit der Kamera ja abgenommen werden.
Muss das denn danach wieder neu justiert werden, damit die Kameraachse nicht leicht verdreht ist? -
Einfach nur Geil wenn ich noch was beitragen kann melde dich einfach. Solid Works ist vorhanden^^