NEWS
Wasserzähler - Selfmade
-
@jomjol said in Wasserzähler - Selfmade:
@mcchickents Ich habe jetzt eine lauffähige Version auf einem ESP32-CAM hochgeladen: https://github.com/jomjol/water-meter-picture-provider/blob/master/ESP32-CAM_Server-GitHub
Qualität der Bilder ist nicht ganz so gut wie bei der ArduCAM - keine Ahnung woran das liegt, aber die Software funktioniert inkl. der Beleuchtungssteuerung. Das ESP32-CAM Modul passt natürlich nicht in die von mir gepostete Halterung.Super Vielen Dank werde ich schnellstmöglich testen und berichten.
-
@jomjol ich würde deine Arbeit gerne mal testen. jedoch musst du mir etwas helfen.
Dein Docker Image habe ich jetzt auf meinem QNAP NAS in der Container Station installiert. Könntest du mir deine erweiterten Einstellungen posten? Ich kenne mich mit Docker/Container Station nicht wirklich aus. Wo muss ich das hier eingeben "docker run -p 3000:3000 wasserzaehler"?
Und vielleicht noch deine Einstellungen für den ESP32-CAM oder hast du da alles gelassen wie es ist unter dem Wrover Mosul?
-
@coyote im Prinzip genau so. Ich würde noch empfehlen, ein externes Config-Verzeichnis anzulegen, dort eine Kopie des /config aus dem Github und dieses dann auch beim Start des Containers einzubinden:
"docker run -p 3000:3000 -v /deinpfad/deinverzeichnis:/config"
Dann kannst du dort im lokalen Verzeichnis die Änderungen in der Config vornehmen und einfach mit einem Neustart des Containers aktualisieren und testen. Zudem überstehen die Config-Daten so auch einen Neustart des Containers.
Ähnliches kannst du auch mit /log machen, dann siehst du die detailierten Ergebnisse inkl. Bilder der Bilderkennung. -
@coyote ich habe es gelassen, wie unte dem Wrover-Module (glaube ich zumindest): zur Sicherheit noch ein Screenshot aus der Arduino-Umgebung:
Eine Frage noch: welche Kamera hast du genau auf dem ESP32-CAM. Genau genommen geht es mir um das Objektiv: 66°, 120° oder FishEye?
Ich habe folgendes Problem: meine jetzige Halterung (ArduCAM) hat einen Abstand von ca. 11cm von der Oberfläche und über die Linse kann ich das Bild scharf stellen. Bei meinem ESP32-CAM ist ein Fix-Fokus OV2640 dabei und das ist erst ab ca. 20cm scharf.
Damit passt meine Halteung nicht und das Bild wird viel kleiner. Hast du dazu eine Lösung? -
@jomjol OK, hört sich gut an, aber wie gesagt, leider kenne ich mich der Container Station noch nicht wirklich aus. Wo wird das eingetragen "docker run -p 3000:3000 -v ......" ?
Wie ist der Container bei dir konfiguriert in den erweiterten Einstellungen? NAT?Wegen der Kamera ist eine gute Frage. Habe sie bei Amazon gekauft, da steht keine Gradzahl dabei, werde mal schauen ob auf dem Modul direkt was steht. Zumindest ist es kein Fisheye.
-
@coyote ich habe kein QNAS, sondern eine Synology. Dort sieht die Docker-Verwaltung vermutlich komplett anders aus. Die Einstellungen solltest du unter soetwas wie "advanced settings" finden - fürchte, es hilft nur googeln.
-
Hm okay, ich dachte du hast auch ein QNAP. Aber stimmt, oben hattest du schon Synology geschrieben.
Na dann muss ich mal schauen wie ich das hinbekomme. -
Kann Man die Laufwerke so in den Container einbinden? Bin leider kein experte für Docker^^
Gruß Julian
-
@mcchickents ja, bei mir funktioniert es so:
-
Docker scheint zu laufen danke.
Mit dem ESP-32 kämpfe ich noch etwas.
Hab dir mal den Log aus dem Seriell Monitor, was könnte ich ausprobieren.
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1100
load:0x40078000,len:9232
load:0x40080400,len:6400
entry 0x400806a8
gestartet - setupBrownout detector was triggered
-
@mcchickents hast du ihn mit 3.3V oder mit 5V versorgt? bei mir ging das Programmieren nur mit 5V
-
Mit 5v sieht es doch schon viel besser aus
auf die Ip bekomme ich jetzt schon einmal ein
hello from esp8266! zurück.
Wo kann ich jetzt im Docker die IP eintragen.
-
Braucht du gar nicht. Das läuft bei mir folgendermassen:
Mittels eines php-Skriptes frage ich von der Kamera ein Bild als JPEG ab und speichere es ab. Die Abfrage sieht folgendermaßen aus:http://IP-ESP/capture_with_light
Dann schicke ich dieses Bild an den Docker-Container. Es wird als Parameter im Parameter url=http://... übergeben
http://IP-QNAS:3000/?url=http://...
Bedeutet natürlich, dass du es auch über einen lokalen Web-Server bereitstellst (einfach über das php-Skript dort abspeichern). Eine integration der Bildabfrage vom ESP32 direkt ist bisher nicht integriet, aber eigentlich eine gute Idee und nicht besonders aufwendig - prüfe ich mal für eine zukünftige Version. Macht die Sache in der Anwendung sicherlich einfacher!
-
@jomjol bin wieder ein Stück weiter. Mit http://IP-ESP/capture_with_light bekomme ich schon mal ein Bild im Browser angezeigt und ja auch bei mir erst mit ca. 20cm scharf.
Das hier: "docker run -p 3000:3000 -v ......" bekomme ich auch hin, kann direkt in der WebUI eingetragen werden.
Die beiden Ordner muss ich noch anlegen.
Aber wie geht es dann weiter? Die Sache mit dem PHP Script verstehe ich nicht.So sieht die Docker Konsole aus.
-
Schon lustig bin genauso weit wie coyote. Bild kommt im Browser, aber dann hört bei mir aktuell das verständnis auf wie das ganze weiter gehen soll^^.
-
@mcchickents, @mcchickents
Verstehe euer Problem und habe es im Laufe des Tages gelöst (zumindest als Pre-Release). Bisher waren der picture-provider über den ESP32/8266 und die Bildanalyse über den Wasserzaehler-Server komplett getrennte Programme. Das erste hat ein Bild aufgenommen, das zweite hat ein Bild verarbeitet. Für den Transfer von dem einen ins andere musste man ein kleines Skript verwenden - bei mir war es ein Mini-php-Programm.
Jetzt habe ich den Wasserzaehler-Server erweitert. Er kann jetzt direkt am ESP32/8266 das Bild abfragen und auslesen, so dass nur noch ein einfache Aufruf ausreicht:http://ip-wasserzaehler:3000/wasserzaehler.html
Damit der Server weiss, wo er das Bild abholen muss, habe ich die config.ini um einen Abschnitt
[Imagesource]
erweitert.Auf dem GitHub vom kompletten Server habe ich alles schon hochgeladen, inkl. Beschreibung der
config.ini
https://github.com/jomjol/water-meter-system-complete. Auch das neues Docker jomjol/wasserzaehler:rolling ist upgedatet.Achtung: latest enthält noch die alte Version, da noch etwas Testing notwendig ist, bevor ich es zum latest erkläre.
-
Hi jomjol,
vielen Dank für deine weitere Entwicklungsstufe^^ Docker läuft schon.
aktuell wird diese meldung ausgegeben
Error - Problem during Imageload (file not exists or timeout)
Gruß Julian
-
So hab nochmal etwas weiter rum gespielt. Als Maschinenbauingenieur hat man halt kein Plan von der Software Seite^^
Wenn ich den Befehl http://192.168.2.13:3000/wasserzaehler.html im Chrome ausführen Blinkt die Led auf dem Esp ein paar mal. Der Order mit den Log bleibt aber bisher noch Leer. Auch im Browser passiert nichts.
Morgen geht es weiter.
Und weiter geht es ^^
NNNNN.1100 NNNNN 1100
Den ordner source_image sollte man schon Anlegen^^.
Jetzt fehlt nur noch der Halter.
-
respekt echt mächtige lösung, aber im prinzip reicht es nur einen zeiger zu überwachen, wie mann das ordentlich macht hat hier schon jemand beschrieben, von der hardware nicht aufweniger denk ich und softwaretechnisch viel einfacher zu realisieren...
-
@krikk ja, solche Lösungen habe ich auf gefunden. Die von dir gepostete war mir neu und sieht sehr professionell aus. Bei meinem Stromzaehlern verwende ich kommerzielle Varianten. Sie vergessen trotz vielem probieren mit den Einstellungen immer wieder ein paar Umdrehungen und ich muss den Zähler regelmäßig nachstellen. Hier wollte ich einen Absolutzähler implementieren.
Außerdem war es ein gutes Projekt, um Keras/Tensorflow und neuronale Bilderkennung zu lernen