Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Wasserzähler - Selfmade

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Wasserzähler - Selfmade

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jomjol @sissiwup last edited by

      @sissiwup sagte in Wasserzähler - Selfmade:

      Hallo,
      gute Idee, das hat mir am Anfang auch am meisten Probleme gemacht.
      Noch besser wäre es, wenn man die Komplette Erkennung auf den ESP32 machen könnte. Es gibt doch Lösungen mit Gesichtserkennung, meinst du so etwas geht hier auch?

      Die Rechenpower könnte für so etwas einfaches wie Ziffernerkennung vielleicht reichen. ABER: ich bräuchte die Tensorflow-Umgebung auf einem Python für den ESP32, soetwas habe ich aktuell noch nicht gesehen. Selbst für mein Synology NAS mit einem Intelprozessor musste ich sie selbst komplieren, da der schon den Befehlssatz AVX2 nicht unterstützt. Dazu bräuchte es echt einen Experten in ESP32 und Tensorflow Kompilierung.

      1 Reply Last reply Reply Quote 0
      • pfried
        pfried last edited by

        @jomjol Hallo jomjol, habe mir Deine letzte Version vom raspi-rolling geholt. Die funktioniert leider nicht, Da war ich wohl zu voreilig.... kann ich von irgendwo die vorige Version wieder herbekommen? Sorry!

        18397228-d0ee-4c69-951e-556f75dabdfa-image.png

        J 2 Replies Last reply Reply Quote 0
        • J
          jomjol @pfried last edited by

          @pfried nimm die raspi-latest, die sollte funktionieren. Die rolling schaue ich mir morgen an.

          sissiwup 1 Reply Last reply Reply Quote 0
          • sissiwup
            sissiwup @jomjol last edited by sissiwup

            Speicherplatz:
            Bildschirmfoto 2020-01-04 um 09.00.28.png

            Um 4:00 starte ich den Container neu.
            Dabei habe ich leider festgestellt, das auch andere Adapter gut abgehen, dazu aber ein anderer Thread.

            Für eine Bilderkennung ist der Speicherplatz aber ok.
            Ich habe noch ein weiteres KI-Projekt laufen, ich erkenne ob Personen auf meinen Cams sind. Der braucht locker das doppelte an Speicher, und das ohne Docker etc. und alten TF.

            PS: Ich habe alles auf einen i5 mit 8GB Speicher laufen.

            coyote 1 Reply Last reply Reply Quote 0
            • sissiwup
              sissiwup @Brati last edited by

              @Brati sagte in Wasserzähler - Selfmade:

              Hallo,

              sorry komme mir in dem Thread wie ein Dau vor, aber nachdem mir der Wasserversorger einen neuen Typ Wasseruhr verbaut hat, passt mein Impulsmodul nicht mehr und die ESP 32 Cam war schnell da.

              IOBroker läuft bei mir auf einem NUC unter Debian. Bekomme ich das System da auch zum Laufen oder muss ich mich erstmal mit Docker beschäftigen? Ich verstehe leider nicht wie ich was im Linux installieren muss (die Cam bekomme ich hin).

              Grüße

              Brati

              Hallo,

              habe ich auch auf Debian am laufen. Habe aber mich dann doch für docker entschieden. Ist wirklich so viel einfacher.
              Docker installieren (dafür gibt es div. Anleitungen). Der Rest steht in der Anleitung im Github.

              B 1 Reply Last reply Reply Quote 1
              • J
                jomjol @pfried last edited by

                @pfried Fehler in raspi-rollling ist beseitigt und auf meinem Raspi getestet --> Läuft wieder 🙂

                1 Reply Last reply Reply Quote 0
                • coyote
                  coyote Most Active @sissiwup last edited by

                  @sissiwup sagte in Wasserzähler - Selfmade:

                  Für eine Bilderkennung ist der Speicherplatz aber ok.
                  Ich habe noch ein weiteres KI-Projekt laufen, ich erkenne ob Personen auf meinen Cams sind. Der braucht locker das doppelte an Speicher, und das ohne Docker etc. und alten TF

                  Gibt es da einen Link/Anleitung etc. Sowas würde mich auch interessieren.

                  sissiwup 1 Reply Last reply Reply Quote 0
                  • sissiwup
                    sissiwup @coyote last edited by

                    @coyote sagte in Wasserzähler - Selfmade:

                    @sissiwup sagte in Wasserzähler - Selfmade:

                    Für eine Bilderkennung ist der Speicherplatz aber ok.
                    Ich habe noch ein weiteres KI-Projekt laufen, ich erkenne ob Personen auf meinen Cams sind. Der braucht locker das doppelte an Speicher, und das ohne Docker etc. und alten TF

                    Gibt es da einen Link/Anleitung etc. Sowas würde mich auch interessieren.

                    Hallo,

                    leider noch nicht. Da muss auch vieles zusammenspielen.

                    • Ich speichere die Bilder täglich in ein Verzeichnis pro Kamera
                    • Ich nutze Linux (Debian)
                    • Ich habe zum abarbeiten eine Queue aufgesetzt.
                    • Dafür habe ich dann einen Server geschrieben, der die Bilder bearbeitet.
                      (Das ist das kleinere Problem).
                    • Dann kommen PushOver-Nachrichten zum Einsatz

                    Ich kann gerne meinen Python-Code hier hochladen. Als Modelle nutze ich frei verfügbare aus dem Internet.

                    sissiwup 1 Reply Last reply Reply Quote 0
                    • sissiwup
                      sissiwup @sissiwup last edited by

                      Die Ausschnitte müssen schon verdammt genau positioniert werden, damit er die Zahlen (meistens) gut erkennt.

                      Um Zählerstände zu finden, die nicht korrekt sind, nutze ich folgendes SQL (id wieder ersetzen):

                      SELECT * FROM `ts_string` t where id =2372 and val > (select min(v.val) from ts_string v where id=2372 and v.ts>t.ts) order by ts
                      

                      PS: Falls ihr nicht in string sondern in number speichert, dann ts_string durch ts_number ersetzen.

                      sissiwup 1 Reply Last reply Reply Quote 0
                      • sissiwup
                        sissiwup @sissiwup last edited by

                        Hallo,

                        eine Frage zur Ausrichtung und Auflösung:

                        Bildschirmfoto 2020-01-04 um 16.17.54.png
                        Ich arbeite mit 800x600. Die Kamera habe ich auf dem Kopf stehen, da dann keine Schatten auf die Zeiger fallen (habe die ESP32 mit "Blitz").

                        Habt ihr bessere Erfahrungen mit anderen Auflösungen gemacht?

                        J 1 Reply Last reply Reply Quote 0
                        • J
                          jomjol @sissiwup last edited by

                          @sissiwup 800x600 ist völlig ausreichend. Analogen Zeiger sehen auch gut aus. Ich würde dir empfehlen, die digitalen Ziffern etwas größer auszuschneiden (mehr Rand). Das CNN ist mit deutlich mehr Rand (10-20%) trainiert.

                          sissiwup 1 Reply Last reply Reply Quote 0
                          • B
                            Brati @sissiwup last edited by

                            @sissiwup

                            So, nach gefühlt 24h lesen läuft der Docker Container und ist über Port 3000 erreichbar. Jetzt muss ich noch die Bibliotheken für den ino Sketch in Ordnung bringen und dann könnte es laufen puh...

                            Kann man den Wert eigentlich später über die simpleapi Schnittstelle direkt in IoBroker schreiben oder bleibt es beim parsen der HTML Seite?

                            Grüße Brati

                            sissiwup 1 Reply Last reply Reply Quote 0
                            • sissiwup
                              sissiwup @jomjol last edited by

                              @jomjol sagte in Wasserzähler - Selfmade:

                              @sissiwup 800x600 ist völlig ausreichend. Analogen Zeiger sehen auch gut aus. Ich würde dir empfehlen, die digitalen Ziffern etwas größer auszuschneiden (mehr Rand). Das CNN ist mit deutlich mehr Rand (10-20%) trainiert.

                              Hallo,

                              habe das grade probiert. Bei mir hatten die Ziffern 40x60

                              Habe sie auf 42x75 umgestellt.

                              Die 2. "0" erkennt er dann als 6 und die "3" als 9.
                              Vlt. stört der schwarze Rand-Schatten.

                              J 1 Reply Last reply Reply Quote 0
                              • sissiwup
                                sissiwup @Brati last edited by

                                @Brati
                                Hallo,

                                ich nutze eine Java-Skript zum Aufruf und gleich zum speichern:
                                IP des Webservers: 192.168.1.13 - anpassen
                                Variable: vWasserzaehler - ggf. anpassen. Keine Umlaute!

                                Das Skript ist leicht abgewandelt das von @pfried (thx)

                                createState('javascript.0.vWasserzaehler',"");
                                 
                                schedule('*/10 * * * *', function () {
                                 
                                var url = "http://192.168.1.13:3000/wasserzaehler.html?usePreValue";
                                var req = require('request');
                                req(url, function(error, response, body) {
                                    if (body){
                                        log("Body OK","info");
                                        setState("javascript.0.vWasserzaehler",body.slice(0, 8));
                                    }
                                    else
                                    {
                                        log("Body fehlerhaft","warn");
                                    }
                                })
                                });
                                
                                1 Reply Last reply Reply Quote 1
                                • J
                                  jomjol @sissiwup last edited by

                                  @sissiwup Wenn du mir von jeder Ziffer (0, 1 ... 9) jeweils ca 3-4 Bilder schickst, kann ich sie in das Training von der Bilderkennung mit aufnehmen. Das sollte deinProblem lösen

                                  sissiwup 1 Reply Last reply Reply Quote 0
                                  • E
                                    ecki945 last edited by

                                    Ich habe heut morgen, nach erfolgreicher Justage der Kamera und Anpassung der config Datei mein System auch zum Laufen gebracht. ![alt text](dc5694fa-7aa7-49ce-832b-782b80b73fde-grafik.png image url)

                                    Mit dem Parser Adapter habe ich nun einen Datenpunkt in IoBroker und kann die Daten aufzeichnen.

                                    Bin gespannt wie stabil der Dockercontainer in meinem LXC Proxmox Container läuft.

                                    Vielen Dank für die Untersützung.

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      jomjol @ecki945 last edited by

                                      @ecki945 Gute Idee mit dem Kleber gegen Reflexionen!

                                      1 Reply Last reply Reply Quote 0
                                      • pfried
                                        pfried last edited by

                                        @sissiwup Schau Dir nochmals das Bild bei Dir an, es kommt mir vor, dass das Bild "schräg" ist. Das ist mir passiert, als ich die Referenzpunkte nicht genau gesetzt hatte. Mein Bild sieht jetzt so aus:

                                        98039b18-be11-4fc0-82e8-10d902ba89a4-image.png

                                        PS.: Nochwas für alle, die Probleme mit dem "anlaufen" (Kondenswasser) des Wasserzähler haben. Habe vieles ausprobiert und auch einen Ventilator in das Gehäuse eingebaut, der verschlimmert aber die Sache noch. Ich verwende nun Wasser, welches ich auf das Schauglass aufbringe. Das hält nun schon sehr lange, da mein Zähler in einem dunklen, kalten Schacht installiert ist.

                                        1 Reply Last reply Reply Quote 0
                                        • sissiwup
                                          sissiwup @jomjol last edited by

                                          @jomjol sagte in Wasserzähler - Selfmade:

                                          @sissiwup Wenn du mir von jeder Ziffer (0, 1 ... 9) jeweils ca 3-4 Bilder schickst, kann ich sie in das Training von der Bilderkennung mit aufnehmen. Das sollte deinProblem lösen

                                          Hallo,
                                          Schön wäre es, wenn er die Bilder unterschiedlicher Ziffern automatisch sammelt. Dauert ja doch ein paar Tage, bis alle Ziffern mal dran waren, wenn man nicht grade einen Gatenteich befüllt.

                                          Dann könnte man auch ein eigenes Modell speziell für die eigenen Verhältnisse erstellen.

                                          J 1 Reply Last reply Reply Quote 0
                                          • J
                                            jomjol @sissiwup last edited by

                                            @sissiwup Hallo sissiwup,
                                            das tut das Programm auch schon. Du kannst es in der Config.ini aktivieren, indem du die Kommentierung vor der Zeile LogImageLocation entfernst, dann findest du die Bilder im entsprechenden log Verzeichnis:

                                            [Digital_Digit]
                                            names=ziffer1, ziffer2, ziffer3, ziffer4, ziffer5
                                            Modelfile=./config/neuralnets/Train_CNN_Digital-Readout_Version_4.1.0.h5
                                            LogImageLocation=./log/digital_digit
                                            #LogNames=ziffer4, ziffer5
                                            

                                            Wenn du nur die letzten Ziffern mitloggen willst, da sich die anderen eh nicht ändern, es sei den du versorgst ein ganzes Dorf, kann du über den Parameter LogNames noch festlegen, dass nur Bilder der aufgezählten Ziffern geloggt werden. Die Namen müssen zu den Bezeichnungen deiner ROIs passen.
                                            Ziffern, die nicht zugeordnet werden konnten ("N") finden sich in "NAN".
                                            Gruß,
                                            jomjol

                                            sissiwup 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            423
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            how-to wasser wasserzähler
                                            48
                                            1089
                                            321431
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo