@stan23 said in Wasserzähler - Version 2 - all-in-device:
externen Widerstand nach VCC
Mit zusätzlichen 10k nach 5V bootet der ESP zuverlässig...
@stan23 said in Wasserzähler - Version 2 - all-in-device:
externen Widerstand nach VCC
Mit zusätzlichen 10k nach 5V bootet der ESP zuverlässig...
@ameisenautomat said in Wasserzähler - Version 2 - all-in-device:
Ich würde gerne meinen digitalen Stromzähler auslesen.
Dazu braucht es keine Fotos, die aufwändig per AI ausgewertet werden: Der Zähler sollte eine optische Schnittstelle haben, die sich sehr gut auslesen lässt. Z.B. mit dem Projekt Volkszaehler.org.
@fanatikz said in Wasserzähler - Version 2 - all-in-device:
Ich hab schon gesehen, dass nicht unbedingt 4 Analogzeiger zum errechnen des Zählerstandes notwendig sind, Frage ob der Wasserzähler im Bild funktioniert, ich gehe da aktuell davon aus.
Ja, der geht. Du musst den Parameter DecimalShift = -3 setzen.
Wie man ebenfalls auf dem Bild erkennt hab ich im Heizkreisverteiler nur 7-8 cm Platz, die Linse wäre dann nur ca. 5cm von der Uhr weg. Krieg ich das scharf, reicht der Winkel vom Objektiv und ist die Bilderkennung darauf angewiesen die volle Rundung der Uhr zu erkennen?
Die volle Rundung ist nicht nötig. Wenn Du das Bild nicht scharf bekommst oder die kurze Entfernung zu starke Verzerrung erzeugt, versuch's mit einem Spiegel.
@ameisenautomat said in Wasserzähler - Version 2 - all-in-device:
Ich würde gerne meinen digitalen Stromzähler auslesen.
Dazu braucht es keine Fotos, die aufwändig per AI ausgewertet werden: Der Zähler sollte eine optische Schnittstelle haben, die sich sehr gut auslesen lässt. Z.B. mit dem Projekt Volkszaehler.org.
@da_ba_bw said in Wasserzähler - Version 2 - all-in-device:
Value aber einen anderen Wert hat.
Unabhängig von den vermutlich falsch angeordneten Digitalziffern: Ob raw value nach value übernommen wird, hängt wesentlich von Deiner Konfiguration im PostProcessing ab.
@da_ba_bw said in Wasserzähler - Version 2 - all-in-device:
Warum ist das so?
Ich vermute stark, dass Du die digitalen Ziffern in der falschen Reihenfolge definiert hast: Zählerstand ist 00042, raw value zeigt 24000. Sie müssen von links nach rechts parametiert werden (dig1 - dig5).
@steffi said in Wasserzähler - Version 2 - all-in-device:
Stromversorgung USB Netzteil mit Elko 2200 uF
Leider sagt das nichts über die Leistungsfähigkeit aus. Die Rückfrage von @spaceduck nach der Stromstärke (Ampere) ist mehr als berechtigt. Das sollte drauf stehen. Unter 1A sehe ich -- nach meinen eigenen Erfahrungen -- kritisch ...
@jomjol said in Wasserzähler - Version 2 - all-in-device:
Hallo zusammen,
die Software hat genau den von euch beschriebenen Algorithmus:wenn ein "N" erkannt wird, dann wird es mit dem letzten Wert (aus Previous Value) ersetzt.
Ich habe ja einen ähnlichen Zähler wie @rene_hm: Die einzelnen Liter sind die letzte Digitalstelle, der eine analoge Zeiger dreht 1x pro Liter. Bei mir schiebt sich die letzte Digitalstelle (also der Liter) kontinuierlich vor.
Von x.0 bis ca. x.2 wird "x" korrekt erkannt.
Von x.3 bis x.7 wird x nicht erkannt und durch "N" ersetzt bzw. aus PreValue abgeleitet.
Von x.7 bis x.99999 wird x falsch, nämlich schon eins zu hoch erkannt, weil der Vorschub schon so weit ist.
Dieses Phänomen liegt in der Bauweise des Zählers und kann in der Bild- bzw. Ziffernerkennung erst mal nicht gelöst werden. Ich habe nur ca. 50% Chance, die letzte Digitalstelle zu erkennen. Der Algorithmus mit Betrachtung, was war vorher und was kann alles nicht sein (Rückwärtslauf usw.), muss es heilen.
Hier ist es möglicherweise aber etwas kurz gesprungen, sich nur den letzten Wert zu merken (PreValue) unabhängig davon, ob er eindeutig erkannt, oder wg. eines oder mehrerer "N" abgeleitet wurde. Beispiel:
401.09N1 kann mehrmals hintereinander so erkannt werden, auch wenn ich zwischen zwei Fotos ein exaktes Vielfaches von 1 ltr gezapft habe. Natürlich -- und das ist viel wahrscheinlicher -- kann es auch Stillstand gewesen sein. (Dass die letzte Stelle, hier 1, wenn sie sehr nahe an 2 liegt, trotz Stillstands mal als 1 und dann als 2 und wieder als 1 erkannt werden kann -- also Rücklauf, oder doch 0,9ltr Zuwachs?? -- ist ein eigenes Problem.)
Wenn dann irgendwann 401.10xx erkannt wird, habe ich vielleicht den MaxRateValue überschritten und damit das nächste Problem.
Daher mein Gedanke: Der Algorithmus sollte sich nicht nur den letzten "irgendwie" ermittelten Wert merken, sondern (auch?) den letzten klar (ohne "N") erkannten oder vom Benutzer eingegebenen Zählerstand, inkl. Zeitstempel. Der sollte zum Gegencheck des aktuellen Werts mit MaxRateValue und AllowNegativRates verwendet werden -- denn meine letzte "Ableitung" kann ja auch mal deutlich falsch gewesen sein, dann sollte sie durch einen sehr zuverlässig erkannten Zählerstand korrigiert werden können.
Nebenbei: Gibt es bei der Erkennung der einzelnen Ziffer eigentlich so was wie einen "Verlässlichkeitslevel", also eine Art Selbsteinschätzung, mit welcher Wahrscheinlichkeit die Bilderkennung korrekt ist?
-Rupert
PS: Mir ist klar, ich entwerfe hier tolle Ideen zur Verbesserung, ohne selbst auch nur annähernd in der Lage zu sein, so einen Algorithmus zu realisieren.
@jomjol said in Wasserzähler - Version 2 - all-in-device:
in der 9.1.0 beseitigt
Ok, ich sehe die Veränderung im Code für NUMBERS[j]->Nachkomma.
Hab' grad das Update auf 9.1.1 gemacht, jetzt funktioniert's: PreValue wird mit ausreichend Nachkommastellen abgespeichert. Danke schön!
Hallo @jomjol
nach einer längeren Pause habe ich meinen Wasserzähler reaktiviert. Die wesentliche Änderung ist eine ordentliche Spannungsversorgung: Hatte ich den ESP vorher über eine ca. 12m lange Leitung aus den 5V meines Raspberry Pi versorgt, ist es jetzt ein separates 1A-USB-Netzteil direkt am ESP -- und schon läuft's stabil . Kein Wunder, zieht der ESP doch gerne mal Impulse bis zu 500 mA (mit dem Labornetzteil gesehen).
Nun habe ich gerade frisch die Version 9.1.0 geflasht (hatte von letzter Woche noch 9.0.0), weil ich im Changelog gesehen habe, dass Du einen Fehler im decimal shift korrigiert hast. Ich meine aber, da ist immer noch was faul: Ich habe decimal shift = -3, weil die ersten drei Nachkommastellen der m³ noch digital vorliegen. Nur die 4. ist bei meinem Modell analog:
Obwohl Raw Value perfekt erkannt wird mit 4 Nachkommastellen, ist Value auf 1 Nachkommastelle gerundet. Wie bekomme ich die höhere Auflösung?
(Aktiviere ich Extended Resolution, gibt's im Raw Value eine 5. Stelle und beim Value eine zweite...)
@jomjol said in Wasserzähler - Version 2 - all-in-device:
Auffällig ist, dass die Kamera eine unterschiedliche Beschriftung auf dem Flexband haben.
Ich hatte ja mal meine Typbezeichung gepostet. Welche läuft bei Dir besser?
@jomjol said in Wasserzähler - Version 2 - all-in-device:
Kannst du mal prüfen, ob es ohne "curl" besser läuft?
Curl sollte 1x pro Stunde das Bild liefern. Zwischendurch habe ich den Job für >2 Tage deaktiviert: Kein Unterschied.