NEWS
Wasserzähler - Selfmade
-
@pfried Ja genau, so startest du den Server.
Jetzt musst du von einem Brower auf einem anderen System den Wasserstand an deinem Server abfragen:
http://server-ip:3000/wasserzaehler.html
server-ip ist die Adresse von deinem Server (Docker oder Raspi).
-
@jomjol Sorry, ich dachte er gibt auch auf der SSH Session einen ersten Wert aus. Jetzt klappe es und ich kann in den Schacht steigen und das Ding mal installieren und einrichten. Danke!
-
@jomjol Ich habe jetzt doch tatsächlich ein Bild aus dem Schacht bekommen
Dieses Bild ist aus dem image_tmp Verzeichnis mit dem Name: rot.jpg das original.jpg und auch org.jpg stehen am Kopf.
Es ist aber egal wie ich den Parameter initial_rotation_angle verändere das Bild bleibt immer gleich. Alle Bilder der Zeiger und Ziffern sind leider derzeit noch unbrauchbar.
Nun meine Frage: gelten die Koordinaten immer von links unten? Zum Zentrieren bitte sich das Bild mit dem B das m3 und die Buchstaben BM an, oder? -
@pfried Sieht schonmal gut aus!
Deine Referenzen müssten passen. Anstatt des BM könntest du auch "x0,001" über dem mittleren Zeiger nehmen, dann hättest du ein noch etwas größeres Dreieck.
initial_rotation_angle sollte eigentlich einen Einfluss zumindest auf das Bild "rot.jpg" haben (Drehung von org.jpg nach rot.jpg).Weiterhin viel Erfolg!
-
@jomjol Welches Programm verwendest Du zum Ausschneiden und vermessen?
-
@pfried Ich verwende GIMP, geht aber mit jedem anderen auch.
Hatte vergessen auf die Koordinaten zu antworten: (0,0) ist oben links.
-
@mcchickents Hast Du für Blockly jetzt eine Letztversion die Du vielleicht mit mir teilen möchtest? Thx!
-
@daniel_iobroker sagte in Wasserzähler - Selfmade:
@watcherkb was musstest du denn im python Script ändern?
Das sind die letzten 3 Zeilen in der Datei:
httpd = socketserver.TCPServer(("", PORT), SimpleHTTPRequestHandler) print("Wasserzaehler is serving at port", PORT) httpd.serve_forever()
Bin nun auch endlich soweit dass ich Bilder bekomme. Bei mir wird es wohl platztechnisch sehr eng, da hab ich nur 8-9cm Platz für die Camera. Wenn alles fest installiert ist gehe ich an die Bearbeitung der Bilder.
-
wenn ich mir eure Bilder so anschaue dann glaube ich fast dass ich mit meinem Zähler Probleme haben werde. Er hat noch eine Scheibe oben drauf mit großem Abstand, daher reflektiert alles.
Der schwarze Aufkleber in der Mitte hat etwas gegen das reflektieren geholfen. Ich schau mal ob es damit klappt.
EDIT:
So sieht das Ergebnis nun aus. Hmm...ich denke ich muss die Camera besser ausrichten, damit der Schatten nicht so extrem ist. Den Weißen runden Rand außen muss ich wohl auch noch mit schwarz abkleben. Sonst fällt mir nichts mehr ein.
6NNNN.5779 6NNNN 5779
-
@jomjol Habe nun das System zwei Tage laufen lassen:
Ergibt 00400 9779
-> 9
-> 7
-> 7
-> 9
-> Abwechselnd N oder 0 (siehe Screenshot unten)
-> immer 0
-> immer 4
-> immer 0
-> immer 0Was kann ich da noch optimieren? Vielen Dank und liebe Grüße, Paul
Anbei noch ein Screenshot aus dem ioBroker
-
Noch eine Frage dazu: jetzt kommt folgender Wert:
400.5251 stimmt, aber wird nicht genommen, da 400.9779 einmal falsch erkannt wurde. Ich habe keinen Pre Valve Wert gesetzt. -
@pfried das ist wohl die neue Logik dass der Zählerstand niemals kleiner werden darf. Dadurch dass der Stand 400.9779 größer ist (auch wenn er falsch interpretiert wurde), ist jetzt dein richtiger Wert falsch (weil kleiner). Probier mal mit http://deineIP:3000/setPreValue.html?value=00400.5251 den alten richtigen Wert zu setzen.
-
@jomjol wie kann ich sicher sein dass ich die aktuellste Version von dir habe bzw. was muss ich tun um den neuen Stand zu bekommen? Achtung ich verwende nicht dein Docker-Image...
Wollte nämlich vorhin den Anfangsstand über http://192.168.1.38:3000/setPreValue.html?value=00089.8694 setzen, bekomme aber als Antwort: Die Website ist nicht erreichbar
-
@watcherkb Danke für Deine Aufklärung. Ich habe darauf nochmals in die config.ini geschaut, da kann man auch negative Werte zulassen, damit korrigiert der Wasserzähler auch nach unten, aber jetzt hupfen die Werte lustig rauf und runter .....
Eine Frage an Dich, kennst Du Dich mit dem Parser aus? Wenn ja, wie kann ich zu einer Zahl kommen? Jetzt bekomme ich mit:
[N|0-9][N|0-9][N|0-9][N|0-9][N|0-9]\D\d\d\d\d
Immer einen Wert z.b.: 00400 5515
Also ohne ein Komma dazwischen.
Liebe Grüße
Paul -
@pfried deine 5 Zahlen (m3) sehen anders aus als die von @jomjol aber ähnlich den meinen. Ich sammle schon ein Stück (0,1,2,3,4,8,9) habe ich schon. Sobald ich alle Zahlen zusammen habe, schicke ich die Grafiken jomjol und hoffe, dass dann die Erkennung besser klappt. Die analogen Zeiger werden bei mir recht gut erkannt.
-
@pfried kenne mich nicht aus, aber schau mal hier. Da wird es per Blockly umgerechnet.
https://forum.iobroker.net/topic/23577/wasserzähler-selfmade/230 -
@watcherkb Meinst Du das Programm was in dem Beitrag angeführt wird. Wenn Ja, wo setzt man das ein?
-
@Knallochse Ok, versuche die Zahlen 5, 6 und 7 zu bekommen. Wir haben in unserer Straße alle dieselben Wasserzähler.
-
@pfried das musst du im Blockly importieren (nur den Inhalt der txt).
-
@pfried, @watcherkb
Hallo Paul, hallo watcherkb,die Zeiger eurer Wasseruhr sehen anders aus, wie bei mir. Damit ist klar, dass die neuronale Bilderkennung damit erstmal nicht zurecht kommt, da sie darauf nicht trainiert ist. D.h. man muss das neuronale Netz darauf trainieren. Wenn ihr Background in Python und Keras/Tensorflow habt, dann könnt ihr das selber tun. Dazu müsst ihr pro Zeiger ca. 100 Bilder mit dem richtigen Wert labeln, möglichst gleich verteilt auf die unterschiedlichen Werte (ja es ist Arbeit!):
Die Anleitung findet ihr hier:
- https://github.com/jomjol/neural-network-analog-needle-readout
- https://github.com/jomjol/neural-network-analog-needle-readout/tree/master/Train-CNN_Analog-Needle-Readout
- https://github.com/jomjol/neural-network-analog-needle-readout/blob/master/Train-CNN_Analog-Needle-Readout/CNN_Version2.md
Ich kann euch da unterstützen und das Training in meinem System probieren, wenn ihr mir die Bilder von den Zeigern schickt.