NEWS
Wasserzähler - Version 2 - all-in-device
-
Hallo zusammen,
ich möchte in diesem Thread den Wasserzähler in der Version 2 vorstellen und diskutieren. In Version 1 waren 2 Komponeten notwendig (Hardware mit Kameraaufnahme, Docker-Server zur Auswertung). Das Zusammenspiel und die Konfiguration waren nicht immer ganz einfach.
Daher habe ich eine Nachfolgegeneration entwickelt, bei der alles in einem all-included Device umgesetzt ist und es noch um eine Web-basierte graphische Oberfläche zur einfachen Konfiguration ergänzt.
Das Grundprinzip basiert unverändert auf einem ESP32-Modul mit Kamera, welches regelmäßig ein Bild aufnimmt und durch Bilderkennung (Neuronale Netze, CNN) auswertet und den Zählerstand digitalisiert zur Verfügung stellt:


Hier ein Eindruck der graphischen Benutzeroberfläche:

Die Hardware ist wieder auf Thingiverse veröffentlicht, die Software könnt ihr als Firmware oder zum selber kompilieren auf GitHub finden. Dort gibt es auch ein Wiki mit Installations- und Konfigurationsanleitung.
-
Software/Wiki: https://github.com/jomjol/AI-on-the-edge-device/wiki
Ich stehe hier gerne wieder für Feedback, Fragen oder einfach zur Hilfe zur Verfügung und freue mich, wenn dieser Thread genauso intensiv genutzt wird, wie bei der Version 1 (>1k Beiträge und >22k Aufrufe).
Beste Grüße und viel Spass beim Nachbauen,
Jomjol
P.S.: die neue Software ist sehr flexibel aufgebaut und kann grundsätzlich auch Bildererkennung / Neuronale Netze für andere Zwecke eingesetzt werden. Wer eine gute Idee oder Anregung hat oder bei eine Modifikation Unterstützung braucht - bitte auch gerne einfach hier posten.
Hallo, hab heute innerhalb einer Stunde meinen Gartenwasserzähler eingebunden. Wie schon am 23.10.2020 mit der Lebkuchenbüchse hab ich auch dieses mal wieder was passendes dafür ausgesucht. Die Wahl viel auf 00 WC Reiniger. Der passt absolut perfekt. Die Cam musste ich 1/4 Umdrehung anpassen und für den Deckel 3 Runden Abklebeband nehmen damit der gut sitzt. Denke Bilder sagen mehr als 1000 Worte.

Allerdings musste ich die LED stark dimmen und etwas ablenken da es extreme Reflektionen gab. Hab es aber mit der Standard LED trotzdem hinbekommen.
-
können die Daten vom Wasserzähler auch mit dem Sonoff Adapter ausgelesen werden, oder muss ich dafür den MQTT Adapter verwenden.
Wenn es auch mit dem Sonoff Adaper läuft, was muss ich einstellen? -
können die Daten vom Wasserzähler auch mit dem Sonoff Adapter ausgelesen werden, oder muss ich dafür den MQTT Adapter verwenden.
Wenn es auch mit dem Sonoff Adaper läuft, was muss ich einstellen?@fritzke316 Der Sonoff-Adapter kann nur Tasmota-Geräte auslesen, da er die MQTT-Nachrichten in ganz bestimmter Form erwartet, Für alles andere benötigt man einen reinen MQTT-Adapter.
Gruss, Jürgen
-
@fritzke316 Der Sonoff-Adapter kann nur Tasmota-Geräte auslesen, da er die MQTT-Nachrichten in ganz bestimmter Form erwartet, Für alles andere benötigt man einen reinen MQTT-Adapter.
Gruss, Jürgen
@wildbill
Ahhhh ok verstehe, ist nur so dass ich schon einige Geräte im Sonoff-Adapter habe und da wäre es praktisch wenn auch der Wasserzähler damit laufen würde. Aber egal, jetzt weiß ich wenigstens, dass ich nichts falsch gemacht habe
-
@muuulle sagte in Wasserzähler - Version 2 - all-in-device:
kann man über ein Blockly Skript den prevalue setzen?
Ich mach das bei mir so:

Ergänzung:
Sollte lt. Beschreibung auch mit/setPreValue?numbers=main&value=-1gehen. Klappt bei mir aber leider nicht immer zuverlässig. Irgendwie hackts da gelegentlich mit den Nachkommastellen. Die obige Lösung hat bei mir bisher immer funktioniert.
-
Hallo zusammen,
ich habe leider immer wieder das Problem, dass "Rate too high" angezeigt wird.
Folglich dessen, bekomme ich auch zukünfigt keine Meldungen mehr, da immer der Wert zu hoch ist.Hier ein Beispiel:

Wie kann ich soetwas umgehen? Das Problem ist bei mir eigentlich jeden zweiten Tag.
Auch, dass die Umrandung von den analogen Zählern nicht immer ganz passt muss eine Softwaresache sein.
In der Vorschau ist alles richtig und auch bei einigen Bildern ist es richtig. Nur manchmal passt es nicht ganz zusammen.An welchen Schrauben könnte ich hier drehen, damit ich nicht immer manuell das Pre-Value setzen muss?
-
Hallo zusammen,
ich habe leider immer wieder das Problem, dass "Rate too high" angezeigt wird.
Folglich dessen, bekomme ich auch zukünfigt keine Meldungen mehr, da immer der Wert zu hoch ist.Hier ein Beispiel:

Wie kann ich soetwas umgehen? Das Problem ist bei mir eigentlich jeden zweiten Tag.
Auch, dass die Umrandung von den analogen Zählern nicht immer ganz passt muss eine Softwaresache sein.
In der Vorschau ist alles richtig und auch bei einigen Bildern ist es richtig. Nur manchmal passt es nicht ganz zusammen.An welchen Schrauben könnte ich hier drehen, damit ich nicht immer manuell das Pre-Value setzen muss?
@wusa sagte in Wasserzähler - Version 2 - all-in-device:
An welchen Schrauben könnte ich hier drehen, damit ich nicht immer manuell das Pre-Value setzen muss?
Ich mache das per Script.
Taucht im Error-State ein "Neg." oder "high" auf, wird der PreviousValue automatisch angepasst.const axios = require("axios"); var preValue; async function setLastValue(aValue) { const url = 'http://' + getState('mqtt.0.watermeter.IP').val + '/' axios.get(url + 'setPreValue?numbers=main&value=' + aValue) .catch(function (error) {console.log(error.message);}); } // bei negativen oder zu hohen Werten wird der letzte erfolgreich gemessene Wert als "PreviousValue" gesetzt on({id: 'mqtt.0.watermeter.main.error', change: 'any'}, async function(obj) { const value = obj.state.val; if (value.includes('Neg.') || value.includes('high')) { setLastValue(preValue); } else { // bei erfolreichem Vorgang den Wert für künftige Korrekturen merken preValue = getState('mqtt.0.watermeter.main.value').val; } }); -
Hallo zusammen,
ich habe leider immer wieder das Problem, dass "Rate too high" angezeigt wird.
Folglich dessen, bekomme ich auch zukünfigt keine Meldungen mehr, da immer der Wert zu hoch ist.Hier ein Beispiel:

Wie kann ich soetwas umgehen? Das Problem ist bei mir eigentlich jeden zweiten Tag.
Auch, dass die Umrandung von den analogen Zählern nicht immer ganz passt muss eine Softwaresache sein.
In der Vorschau ist alles richtig und auch bei einigen Bildern ist es richtig. Nur manchmal passt es nicht ganz zusammen.An welchen Schrauben könnte ich hier drehen, damit ich nicht immer manuell das Pre-Value setzen muss?
@wusa Naja bei dem Bild kann ich schon ganz gut verstehen warum der ESP die daten nicht vernünftig lesen kann. Zuerst musst du sicher mal die Ursache dafür suchen das das ganze Bild in teilen so verzerrt ist. Die Marker könnten auch etwas weiter auseinander stehen und vor allem deutlicher sein. Dann welchen softwarestand nutzt du und vor allem die Config spielt ja auch ne große Rolle ich Hab mich jetzt gut 3 Wochen mit dem Teil und der Software auseinander gesetzt und auf meinen Wunsch hin wurde mir mein Zenner MNK-N (leider mit 100imp) getauscht auf den biesenthal Zähler der hat natürlich keinen Reedkontakt mehr aber das Uhrwerk ist vernünftig lesbar und das ist tatsächlich die Grundlage für alles danach. Natürlich mit der aktuellen Firmware 16.0 und eine neue 16 Gb micro sd Karte.
So sieht das derzeit bei mir aus, die Luftblase wird hoffentlich noch verschwinden der Zähler ist ja erst 5 Tage drin
-
Hallo zusammen,
ich habe leider immer wieder das Problem, dass "Rate too high" angezeigt wird.
Folglich dessen, bekomme ich auch zukünfigt keine Meldungen mehr, da immer der Wert zu hoch ist.Hier ein Beispiel:

Wie kann ich soetwas umgehen? Das Problem ist bei mir eigentlich jeden zweiten Tag.
Auch, dass die Umrandung von den analogen Zählern nicht immer ganz passt muss eine Softwaresache sein.
In der Vorschau ist alles richtig und auch bei einigen Bildern ist es richtig. Nur manchmal passt es nicht ganz zusammen.An welchen Schrauben könnte ich hier drehen, damit ich nicht immer manuell das Pre-Value setzen muss?
Wie @teletapi schon schreibt, kommt es extrem auf die korrekte Einrichtung an.
Deine Cam scheint mir etwas weit weg. Da könnte man entweder den Aufsatz kürzen oder mit den Zoom-Einstellungen spielen.
Die analogen ROI scheinen mir auch zu klein.
Auch die Konfiguration, was denn jetzt "too high" ist, könnte man anpassen.So sieht's bei mir aus:

-
@wusa Naja bei dem Bild kann ich schon ganz gut verstehen warum der ESP die daten nicht vernünftig lesen kann. Zuerst musst du sicher mal die Ursache dafür suchen das das ganze Bild in teilen so verzerrt ist. Die Marker könnten auch etwas weiter auseinander stehen und vor allem deutlicher sein. Dann welchen softwarestand nutzt du und vor allem die Config spielt ja auch ne große Rolle ich Hab mich jetzt gut 3 Wochen mit dem Teil und der Software auseinander gesetzt und auf meinen Wunsch hin wurde mir mein Zenner MNK-N (leider mit 100imp) getauscht auf den biesenthal Zähler der hat natürlich keinen Reedkontakt mehr aber das Uhrwerk ist vernünftig lesbar und das ist tatsächlich die Grundlage für alles danach. Natürlich mit der aktuellen Firmware 16.0 und eine neue 16 Gb micro sd Karte.
So sieht das derzeit bei mir aus, die Luftblase wird hoffentlich noch verschwinden der Zähler ist ja erst 5 Tage drin
@teletapi
Ich bin auch auf dem aktuellsten Software Stand.
Ich habe schon mehrmals versucht, die Schärfe etwas nachzustellen, aber ich schaffe es leider nicht besser als hier angegeben.
Habe auch schon versucht weiter hin oder weiter weg zu gehen.Problem ist auch irgendwie, dass es manchmal wunderbar mit den analogen ROI klappt und dann ist es wieder verschoben.
Ich habe auch schon versucht, die Kamera zu drehen, damit ich einen anden Winkel habe, aber da wird es nur noch schlechter. Das Glas hat so eine komische Kante drin, die es leider nicht leichter macht. Auch ist das Glas leicht gebogen. Irgendwie alles nicht so optimal.
-
@teletapi
Ich bin auch auf dem aktuellsten Software Stand.
Ich habe schon mehrmals versucht, die Schärfe etwas nachzustellen, aber ich schaffe es leider nicht besser als hier angegeben.
Habe auch schon versucht weiter hin oder weiter weg zu gehen.Problem ist auch irgendwie, dass es manchmal wunderbar mit den analogen ROI klappt und dann ist es wieder verschoben.
Ich habe auch schon versucht, die Kamera zu drehen, damit ich einen anden Winkel habe, aber da wird es nur noch schlechter. Das Glas hat so eine komische Kante drin, die es leider nicht leichter macht. Auch ist das Glas leicht gebogen. Irgendwie alles nicht so optimal.
@wusa Vielleicht machste mal ein Bild von einem referenzbild und schickst das mal vielleicht sieht man da mehr. Du hast auch einen recht großen Blendfaktor in deinem Bild und das silberne Blättchen im letzten Analogzähler macht das leider auch nicht besser
-
@teletapi
Ich bin auch auf dem aktuellsten Software Stand.
Ich habe schon mehrmals versucht, die Schärfe etwas nachzustellen, aber ich schaffe es leider nicht besser als hier angegeben.
Habe auch schon versucht weiter hin oder weiter weg zu gehen.Problem ist auch irgendwie, dass es manchmal wunderbar mit den analogen ROI klappt und dann ist es wieder verschoben.
Ich habe auch schon versucht, die Kamera zu drehen, damit ich einen anden Winkel habe, aber da wird es nur noch schlechter. Das Glas hat so eine komische Kante drin, die es leider nicht leichter macht. Auch ist das Glas leicht gebogen. Irgendwie alles nicht so optimal.
Ich würde auf jeden Fall den Durchmesser der beiden analogen ROI vergrößern.
-
Ich würde auf jeden Fall den Durchmesser der beiden analogen ROI vergrößern.


Hier sieht es eigentlich ganz gut aus.
Nur das Image welches aktuell ausgewertet wird, passt manchmal nicht ganz. -


Hier sieht es eigentlich ganz gut aus.
Nur das Image welches aktuell ausgewertet wird, passt manchmal nicht ganz. -


Hier sieht es eigentlich ganz gut aus.
Nur das Image welches aktuell ausgewertet wird, passt manchmal nicht ganz.@wusa sagte in Wasserzähler - Version 2 - all-in-device:
Nur das Image welches aktuell ausgewertet wird, passt manchmal nicht ganz.
Dann müssten ggf. die Marker neu gesetzt werden.
Die sollten möglichst weit auseinander liegen. -
... ich habe da mal (nach einem Update auf 16.0) eine Verständnisfrage:
Hier die analoge Einstellung ...

... und hier das Ergebnis beim EInlesen der Werte.

Warum weichen die Positionen der "Kreise" von einander ab ? Sollten die nicht identisch sein ?
(Die Werte werden aber korrekt erfasst ...) -
... ich habe da mal (nach einem Update auf 16.0) eine Verständnisfrage:
Hier die analoge Einstellung ...

... und hier das Ergebnis beim EInlesen der Werte.

Warum weichen die Positionen der "Kreise" von einander ab ? Sollten die nicht identisch sein ?
(Die Werte werden aber korrekt erfasst ...)@raspiuser sagte in Wasserzähler - Version 2 - all-in-device:
Warum weichen die Positionen der "Kreise" von einander ab ?
Weil das aufgenommene Bild anhand der Alignment-Marker ausgerichtet wird. Da kommt es immer wieder mal zu Verschiebungen von einigen Pixeln.
-
@raspiuser sagte in Wasserzähler - Version 2 - all-in-device:
Warum weichen die Positionen der "Kreise" von einander ab ?
Weil das aufgenommene Bild anhand der Alignment-Marker ausgerichtet wird. Da kommt es immer wieder mal zu Verschiebungen von einigen Pixeln.
@codierknecht sagte in Wasserzähler - Version 2 - all-in-device:
... Verschiebungen von einigen Pixeln
Aha ... aber mein "gesunder Menschenverstand" sagt mir eigentlich ... "da bewegt sich ja außer den Zeigern nix".
Hauptsache die Werte kommen korrekt ...
-
... ich habe da mal (nach einem Update auf 16.0) eine Verständnisfrage:
Hier die analoge Einstellung ...

... und hier das Ergebnis beim EInlesen der Werte.

Warum weichen die Positionen der "Kreise" von einander ab ? Sollten die nicht identisch sein ?
(Die Werte werden aber korrekt erfasst ...)@raspiuser Ich würde ebenso dazu raten die Marker neu zu setzen schau auf mein Bild weiter oben dürfte sich um den gleichen Wasserzähler von Biesenthal handeln da siehst du wie scharf das Bild ist im referenzbild ist es tatsächlich noch besser. aber ich hatte auch etwas damit zu kämpfen hab aber dann mit die beste Einstellung gefunden

Und hier das referenzbild dazu

Und hier die eingezeichneten Analogen Zähler
