NEWS
Wasserzähler - Selfmade
-
@sissiwup Hallo, vielleicht könntest Du bitte ein Dokument erstellen wie man mit Grafana die Visualisierung machen kann. Da ich, und wie ich mitbekommen habe andere auch Anfänger sind, wäre eine Doku vom Scratch sehr hilfreich....
-
@pfried sagte in Wasserzähler - Selfmade:
@sissiwup Hallo, vielleicht könntest Du bitte ein Dokument erstellen wie man mit Grafana die Visualisierung machen kann. Da ich, und wie ich mitbekommen habe andere auch Anfänger sind, wäre eine Doku vom Scratch sehr hilfreich....
Hallo pfried,
diese Doku habe ich bereits erstellt für grafana und iobroker.
Such einfach mal nach meinen Posts und grafana. Hier deshalb nur die Erweiterung für dieses tolle Projekt. -
@sissiwup Wow, coole Sache! Wo nehme ich nur die Zeit dafür her ...
-
@pfried sagte in Wasserzähler - Selfmade:
@jomjol Der interne Restart hat nicht funktioniert, Ich habe in Crontab nun folgendes hinzugefügt:
"* */6 * * * root /root/scripts/FILENAME.sh"
Also restart alle 6 Stunden. Zeile aber ohne die Anführungszeichen
Inhalt von FILENAME.sh:#!/bin/bash
docker restart 3d83......Hier tritt das Problem zu Tage, dass man die ContainerID angeben muss, mit dem ContainerName habe ich es nicht geschafft.....
Den ContainerName habe ich mir mit:sudo docker container ls
ausgelesen. Nicht gerade eine nachhaltige Lösung, aber bis zur Behebung des Speicherleaks eine gangbare. Den Docker Container habe ich mit der Option -d für Service und --restart unless-stopped wie von @sissiwup beschrieben gestartet.
Hallo,
wenn du nicht die ID verwenden möchtest, gib den Kind einen Namen:docker run -d --name wasser --restart unless-stopped -p 3300:3000 --mount type=bind,source=/var/docker/wasser,target=/config --mount type=bind,source=/var/docker/wasser,target=/log jomjol/wasserzaehler:latest
--name meinnamedescontainers
Meiner ist z.B. wasser
Der contab Eintrag (/etc/crontab) ist bei mir dann:
30 5 * * * root /usr/bin/docker restart wasser
oder für alle 6h:
30 */6 * * * root /usr/bin/docker restart wasser
-
@sissiwup Man lernt niemals aus, danke!
-
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
-
Guten Morgen @Brati,
bin aktuell auch am gleichen Projekt drann. Auf meinem NUC läuft Proxmox. In einem Container IoBroker und in einem 2ten will ich das Wasseruhrprojekt von jomjol laufen lassen. Den Container dafür habe ich schon am laufen mit folgenden Parametern: 1 Core, 4MByte Hauptspeicher und 30GB Speicher. Ich habe noch Nesting und keyctl aktiviert. Dies geht bei Proxmox 6 nur durch editieren von Configdateien Nach diesem Video link
Aktuell habe ich es geschafft dass der Dockercontainer local gestartet werden kann. Die Konfiguration steht noch aus.
-
@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.
-
@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!
-
@pfried nimm die raspi-latest, die sollte funktionieren. Die rolling schaue ich mir morgen an.
-
Speicherplatz:
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.
-
@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. -
@pfried Fehler in raspi-rollling ist beseitigt und auf meinem Raspi getestet --> Läuft wieder
-
@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 TFGibt es da einen Link/Anleitung etc. Sowas würde mich auch interessieren.
-
@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 TFGibt 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.
-
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.
-
Hallo,
eine Frage zur Ausrichtung und Auflösung:
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?
-
@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.
-
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
-
@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.