NEWS
Wasserzähler - Selfmade
-
Hallo,
was bei mir häufiger vorkommt:
Wenn das Bild nicht auswertbar ist dann werden die Stellen vorm Komma korrekt aus den gesicherten Werten genommen.
Nach dem Komma nimmt er aber 7777.
Wenn ich also einen Zählerstand 123.7777 sehe, dann weiss ich, da ist was faul.
Ist die 7777 irgendwo als default hinterlegt? -
Hi @jomjol, having solved the WiFi problem, it seems that the system has already been working stable for a week.
Now I would like to refine the recognition of some digits that the system cannot detect correctly. I have seen that in other cases you have asked for a sample of images of the digits to be able to train the system. I have created a .zip with all digits (arranged in folders) that the system has not recognized and that are stored in the /home/pi/water-meter/code/app/log/digital_digit/10 folder. It basically happens with the digits in Red.I hope this information is useful you to be able to carry out the training of the system.
I would be very grateful if you could get it.Thank you very much
-
Hi @ramon2krpi3,
I will have a look into the numbers and incorporate them in the next training version. At the moment I am on vacation, with limited access to my development environment, so please be a bit patient.
Best regards,
jomjol -
@pfried sagte in Wasserzähler - Selfmade:
@jomjol Hallo, Du suchst Unterstützer für?
Die Qualität der Doku könnte man deutlich verbesseren, dazu komme ich nicht wirklich. Hast du ein Händchen für so etwas?
-
@jomjol Wie wollen wir es angehen?
-
@pfried Bin kurz davor, alles auf die voll integrierte Version umzustellen und will in Zukunft eigentlich nur noch diese Version weiterentwickeln. Es wird möglich sein, dort alles aus einer Hand zu bekommen, inkl. einer graphischen webbasierten Benutzeroberfläche zur Konfiguration ähnlich meinem Server momentan.
Dort habe ich auch schon angefangen, ein Wiki zu schreiben - ich denke, das ist flexibler zu pflegen, wie eine Doku ausgehend von der Readme.md.
Du könntest dort ebenfalls Zugriff haben und dort die Texte mit pflegen. Was hälst du davon?P.S.: bin gerade im Urlaub mit limitiertem Internet Zugang - daher nicht immer schnell zu erreichen.
-
@jomjol Bevor ich mit der Umstellung auf die voll integrierte Version starte . . . sind eigentlich die beiden tfl-Dateien unterschiedlich zu den tflite? Ich habe ja die letzten Ziffern meines Zählers selber angelernt weil es so lange dauert bis ich alle Ziffern komplett zusammen habe. Kann ich da gleich vorgehen? Mit demselben Code/Jupyter Notebook?
-
@michaeljoos Die Backbone für tflite ist identisch. Ich dachte nur zwischendurch, dass ich wegen dem ESP32 auf das kurze Dateinamen (8.3) muss und habe daher die Dateien anders benannt.
-
@jomjol Hi Jomjol, genieße einmal Deinen Urlaub, nachher gehen wir das Thema Doku an. Gerne helfe ich Dir dabei, bin aber technisch bei weitem nicht auf Deinem Niveau, kann also nur als "Dummy" User einen Beitrag leisten. Melde Dich doch nach Deinem Urlaub bei mir.
-
Hi @jomjol, I’ll appreciate if you can me help with this again. Frequently I get this error when capture an image:
712685 00712685 Error - RateTooHigh (2320.0000) 715005.0<p>Aligned Image: <p><img src=/image_tmp/alg.jpg></img><p>Digital Counter: <p><img src=/.....
What does this mean? How can I avoid it?
Could you give me any cue?
Regards,
-
@ramon2krpi3 Hi, what Error Messages in the config.ini are enabled?
In your case the reading was 715005 and the previous reading was 712685 which is 2320 higher (I guess 232,0 Litres). This is reflected in the Error Message as the value 232 Litres is higher than the allowed value in the config.ini -> RateTooHigh (2320.0000)
In my case MaxRateValue=0.3So the maximum allowed between two readings are 300 Litres.
-
@pfried thanks for the clear explanation
Regards
-
Hallo zusammen,
ich habe meine Urlaub für ein paar Updates verwendet:
- Erste lauffähige Version des all-in-one ESP32 Systems (AI-on-the-edge):
https://github.com/jomjol/AI-on-the-edge-device/wiki
https://github.com/jomjol/AI-on-the-edge-device
Wesentlicher Vorteil ist neben dem Entfall dess Docker-Containers vor allem die vollständige Integration der web-basierten Konfiguration. Ihr könnt jetzt alles direkt auf dem ESP32 machen (Referenzbild erzeugen, Alignment definieren, ROIs festlegen, ... Config.INI bearbeiten, ...). Das funktioniert besser wie auf meinem Server und macht diesen längerfristig überflüssig.
- Update der Tflite-Files für die analogen und die digitalen neuronalen Netze (Version 6.3.0):
https://github.com/jomjol/neural-network-analog-needle-readout
https://github.com/jomjol/neural-network-digital-counter-readout
Ich habe alle von euch gesendeten Bilder verarbeitet und bei den analogen Bildern nochmals einige der Labeling verbessert. Es gibt jetzt auch Versionen mit deutlich kleineren Netzwerken, die quasi genauso gute Erkennungsergebnisse erzielen, aber natürlich deutlich schneller sind (insbesondere für die ESP32-Variante )
Die digitalen Ziffern habe ich alle nochmals sortiert und vor allem ein klares Kriterium für "gute" Ziffern und schlechte Ziffern ("NaN") definiert. Das wird nicht für jeden passen, den einige von euch gemeldete vermeindlich falsch erkannten Bilder fallen definitiv in die Kategorie "NaN". Ein eindeutiges Kriterium ist aber notwendig. Details findet ihr in GithubHoffe, die neuen Versionen helfen euch weiter und laufen auch bei euch. Bei mir ist die V3 (AI-on-the-edge) seit 4 Wochen im Dauereinsatz und läuft soweit ganz gut. Ich bin für jedes Feedback und auch Bug-Reporting oder Verbesserungsvorschläge dankbar.
Beste Grüße,
jomjol - Erste lauffähige Version des all-in-one ESP32 Systems (AI-on-the-edge):
-
@jomjol Vielen Dank für den Update und deine super Arbeit! Am liebsten würde ich gleich loslegen, aber mir fehlt noch das oberste Teil des "Turmes" Die anderen 3 Teile habe ich bereits gedruckt. Du hast ja da schon was...ist ja egal wenn es noch nicht 100% perfekt ist. Kannst du das auch noch hochladen?
Nochmals vielen Dank für alles!
Michael -
Hi @michaeljoos,
ich habe das Design auch in Thingiverse veröffentlicht:
https://www.thingiverse.com/thing:4573481
Bis eben war noch ein falsches STL drin, jetzt sollte es aber passen. Hoffe, dass enthält, was du braucht.
Gruß,
jomjol -
@jomjol Yep, vielen Dank. Hab das Teil heute gedruckt
Jetzt stehe ich aber gerade vor einem anderen Problem. Ich habe den ESP32 geflasht, das hat soweit geklappt mit dem Tool. Eine microSD ist ebenfalls drin mit diesem Inhalt: https://github.com/jomjol/AI-on-the-edge-device/tree/master/sd-card
Die wlan.ini ist ebenfalls angepasst und beim Aufstarten klappt die WLAN-Anmeldung auch (ich kann den ESP32 anpingen).--> Aber irgendwie hänge ich in einem Boot-Loop. Nach ca. 30s beginnt alles wieder von vorne mit der WLAN-Anmeldung und die Webpages kann ich gar nie aufrufen. Das Log-File sieht so aus:
Hast du eine Ahnung? Ich habe momentan nur eine 32GB-SD zur Hand und hab gelesen, dass offiziell nur 4GB unterstützt werden. Was hast du für eine Karte drin?
Gruss
Michael -
@michaeljoos Hatte das Problem auch grad, bin aber beim "Console-Log" vom ESP32 (einfach das USB-Seriell-Interface dran lassen und mit 115kBit Terminal lesen) draufgekommen das er ein Problem mit dem "PreValueUse" hat - hab es auf False gesetzt ( /config/config.ini ) und seitdem läuft es.
Bin gerade beim Konfigurieren auf meinen Wasserzähler. Hab übrigens auch eine 32GB-SD drin ohne Probleme derzeit.[PostProcessing]
;PreValueUse = True ; das geht damit nicht ?!?!?
PreValueUse = False@jomjol Danke für das aktualisierte stl-File, dachte zuerst ich hab bei meinem Slicer & 3D-Drucker das falsche File geladen gehabt.
-
@Vorlon1975 sagte in Wasserzähler - Selfmade:
@michaeljoos Hatte das Problem auch grad, bin aber beim "Console-Log" vom ESP32 (einfach das USB-Seriell-Interface dran lassen und mit 115kBit Terminal lesen) draufgekommen das er ein Problem mit dem "PreValueUse" hat - hab es auf False gesetzt ( /config/config.ini ) und seitdem läuft es.
Bin gerade beim Konfigurieren auf meinen Wasserzähler. Hab übrigens auch eine 32GB-SD drin ohne Probleme derzeit.[PostProcessing]
;PreValueUse = True ; das geht damit nicht ?!?!?
PreValueUse = False@jomjol Danke für das aktualisierte stl-File, dachte zuerst ich hab bei meinem Slicer & 3D-Drucker das falsche File geladen gehabt.
Danke für eure Hinweise - könnte sein, dass er eine preValue.ini braucht. Ich prüfe das mal und sage euch Bescheid - der Hinweis mit PreValueUse=False deutet ziemlich darauf hin.
-
@jomjol sagte in Wasserzähler - Selfmade:
@Vorlon1975 sagte in Wasserzähler - Selfmade:
@michaeljoos Hatte das Problem auch grad, bin aber beim "Console-Log" vom ESP32 (einfach das USB-Seriell-Interface dran lassen und mit 115kBit Terminal lesen) draufgekommen das er ein Problem mit dem "PreValueUse" hat - hab es auf False gesetzt ( /config/config.ini ) und seitdem läuft es.
Bin gerade beim Konfigurieren auf meinen Wasserzähler. Hab übrigens auch eine 32GB-SD drin ohne Probleme derzeit.[PostProcessing]
;PreValueUse = True ; das geht damit nicht ?!?!?
PreValueUse = False@jomjol Danke für das aktualisierte stl-File, dachte zuerst ich hab bei meinem Slicer & 3D-Drucker das falsche File geladen gehabt.
Danke für eure Hinweise - könnte sein, dass er eine preValue.ini braucht. Ich prüfe das mal und sage euch Bescheid - der Hinweis mit PreValueUse=False deutet ziemlich darauf hin.
Fehler gefunden: den Fall, dass es keine prevalue.ini gibt hatte ich zwar abgefangen, ABER die prevalue.ini im /config Verzeichnis hatte noch das alte Format und da ist er beim Parsen abgestürzt.
Korrektur: einfach Anfangs keine prevalue.ini im /config Verzeichnis. Die Datei wird im korrekten Format nach dem ersten korrekten Durchlauf (alle Ziffern erkannt) angelegt und dann verwendet. Dann funktioniert auch der Paramter PreValueUse=True von Anfang an.
Master-Version auf Github ist korrigiert. -
So, mein "AI-on-the-edge" läuft und liefert Daten in mein openHAB
Hier mal meine ersten Erfahrungen und Feedback:
- Alles innerhalb einer Web-Oberfläche zu machen inklusive Konfiguration ist super!!
- Momentan gibt es tatsächlich Probleme mit Chrome & Edge. Mit Firefox klappt alles. Das würde ich eventuell irgendwo in der WIKI ergänzen (falls ich es nicht übersehen habe...)
- Bei der Konfiguration der analogen ROIs und"save all to config.ini" hat es mir in der ini-Datei die digitalen ROIs überschrieben anstatt die analogen Werte zu setzen. Ich habe es dann manuell und direkt in der config.ini geändert
- Zu Beginn war mir nicht ganz klar, ob diese URLs immer noch dieselbe Funktion haben wie in der Docker-Version?
--> http://ip-address/wasserzaehler.html
--> http://ip-address/wasserzaehler.html?usePreValue
(beides liefert jetzt denselben Wert, für die Verwendung in openHAB verwende ich nach wie vor "usePreValue"
Noch ein Feature-Request : Ist es möglich, im File-Server eine Funktion einzubauen, um einen ganzen Ordner zu leeren oder zumindest mehrere/alle Files zu selektieren und dann zu löschen? Ich denke da vor allem an die vielen Log-Files welche sich schnell ansammeln.
Ansonsten top!
Gruss
Michael