NEWS
Wasserzähler - Version 2 - all-in-device
-
@esp8266
Ich habe nur nach den Unterschieden der Modelle gefragt. Das wird ja wohl noch erlaubt sein. -
@gonzokalle , und ich habe versucht dir das einigermaßen zu erklären, was aber anscheinend nicht gereicht hat. Sonst würdest du nicht weiter Stochern.
-
Ein paar Dinge stehen hier ja auch:
https://jomjol.github.io/AI-on-the-edge-device-docs/Choosing-the-Model/ -
@david-g
Das habe ich mir mehrere male durchgelesen, aber leider nicht verstanden.
Deswegen meine Frage.
Andere haben mehr Probleme. Also alles gut. -
@esp8266
Das war die Lösung
Ich danke dir vielmals für die Tipps -
@gonzokalle , ich war auf der Seite noch nie, weil für mich unintressant. Da sind doch Links zum veranschauen hinterlegt? Zumindest ich sehe die markierten Bereiche zu weiterführenden Links...
https://jomjol.github.io/neural-network-digital-counter-readout/
https://jomjol.github.io/neural-network-analog-needle-readout/Wenn das nicht reicht, musste mit offener Antwort leben.
Also war meine Beschreibung doch nicht ganz aus dem Ärmel gezogen. -
Hallo,
ich nutze (Naja versuche...) das ganze für meinen Gaszähler zu nutzen.
Die Installation hat soweit geklappt, als Hardware damit das ganze vor den Zähler passt haben ich die Vorlage "ESP32-CAM-MB_for_Pipersberg_G4_RF1_c_4820301" ausgedruckt.
Soweit alles gut, es werden auch Zählerstände erkannt und per MQTT an den IOBroker geschickt.Allerdings habe ich zwei Probleme (Siehe Bild):
1.) Die vorderste Ziffer ist nicht mit auf dem Bild. Damit kann ich zwar generell leben (Wann ändert die sich schon), aber ich würde gern das die erste Stelle als Konstante mit an den IOBroker geschickt wird (Also sowas wie immer Null). Geht das irgendwie?
2.) Bei der ersten Nachkommastelle gibt es eine Spiegelung von der Beleuchtungs-LED (Genauso wie der weisse Fleck weiter unten). Ich habe versucht über den Parameter "LED Intensity" die Helligkeit nach unten zu regeln - Allerdings scheint der Parameter nichts zu bewirken. Wäre auch nicht schlimm, aber die KI erkennt z.B. die 7 immer als 4 und das ist dann eben schlimm.
Irgendwelche Ideen wie ich entweder die Spiegelung da loswerde oder die KI dazu bringe den Strich zu ignorieren? Ich bin aus den Vorschlägen weiter vorn nicht schlau geworden. Mein Gehäuse ist schon weiss, Antireflexionsfolien scheinen nicht geholfen zu haben und da die Cam ja mit relativ starrem Flachbandkabel angeschlossen ist traue ich mich da auch nicht die groß in der Position zu verschieben...Danke!
-
@warhammer73 Ist das Gehäuse so flach, wie es hier https://www.3d-loewe.de/p/esp32-cam-mb-for-pipersberg-g4-rf1-c zu sehen ist? Ohne Umlenkspiegel einfach so? Das wäre ja echt stark.
-
@rene55
Nicht täuschen lassen, das ist nur ein von 4 Teilen.
Insgesamt sieht es dann so aus: https://www.thingiverse.com/thing:4820301 -
@warhammer73, von was für einer Beleuchtung schreibst du, intern oder extern?
Extern wird da geregelt:
und intern genau da wo du das einstellt hast, die Wirkung ist nur sichtbar, wenn man mit Take Image bestätigt, das dauert ein bisschen, danach sebstverständlich alles speichern und rebooten.
Ich würde auch mit den anderen Werten mal spielen und Take Image dabei nicht vergessen, um die Vorschau zusehen.
Vieleicht reicht auch den Blitz etwas in eine andere Richtung zu lenken. Es gibt so eine Art Haftknete (Hafttabs). Wäre ein Versuch Wert. Wo man auch was an der Wand befestigen kann. Postkarten etc. -
@esp8266
Intern.
Andere Werte helfen nicht, der Streifen wird leider immer falsch erkannt.
Ich hatte die Hoffnung mit etwas verschieben der Kamera vielleicht die Spiegelung passend verschoben zu bekommen, aber dazu reicht die Kamerabewegung nicht aus.Na mal sehen, vielleicht fällt mir morgen was ein...
-
@warhammer73 , die Spiegelung hat auch da nichts zu suchen.
-
@esp8266 Danke für den Hinweis, hab ich der Spiegelung gesagt - Die bleibt aber hartnäckig bei der ersten Nachkommastelle.
-
Ich habe auch wirklich lange probiert beim Gaszähler.
Milchglaafolie vor die LED, mein Gehäuse von innen mit matten Materialien angeklebt und was weiß ich alles.Irgendwann hat es dann geklappt.
-
Ich hätte es auch schon mit ext. LEDs probiert. Derzeit habe ich mir für meine Gasuhr ein nahezu Original Impulsnehmer gebaut. Der passt.....und ist schon Aktiv.
-
@david-g
... gestern hat er jetzt das erste mal die 7 statt der 2 erkannt. Mal sehen ob das so bleibt.Ich habe jetzt:
- Die Kamera minimal versetzt, sodass die Spiegelung etwas weiter unten ist
- Am Gaszähler über den Zahlen mehrere Lagen gelbliches Klebeband geklebt
- Die rote "Power LED" mit Malerkrepp abgeklebt
- Die weisse "Beleuchtung" LED mit zwei Lagen Malerkrepp abgeklebt
-
Hallo zusammen, ich habe zur Zeit alle paar Tage einen Absturz meines Wasserzählers.
Der Wasserzähler ist vom Anfang des Jahres bis vor kurzem durchgelaufen.
Beim ersten mal war die SD-Karte gelöscht. Widerhergestellt ist er wieder gelaufen.
Bin dann gleich auf die Release: v15.1.1 (Commit: 03c84a1+) gegangen.
Nun habe ich alle paar Tage einen Absturz.
Keine neuen Werte per MQTT. WEB-GUI kann nicht aufgerufen werden. Ping geht noch.
SD-Karte bleibt intakt. Kurz ohne Strom läuft er wieder.
Netzteil habe ich schon einmal gewechselt.
Habt ihr noch Ideen?Hier mal die letzten Einträge:
[0d01h47m54s] 2023-04-11T03:46:25 <DBG> [PSRAM] Freeing memory in PSRAM used for 'C IMG BASIS->CImageBasis (ImageTMP, 921600)'...
[0d01h47m54s] 2023-04-11T03:46:25 <DBG> [MQTT IF] Published topic: Wasserzaehler/status, content: Digitalization of ROIs (msg_id=688)
[0d01h47m55s] 2023-04-11T03:46:25 <DBG> [CNN] doFlow after alignment
[0d01h47m55s] 2023-04-11T03:46:25 <DBG> [PSRAM] Allocated 819200 bytes in PSRAM for 'TFLITE->tensor_arena'
[0d01h47m55s] 2023-04-11T03:46:25 <DBG> [TFLITE] CTfLiteClass::LoadModel
[0d01h47m55s] 2023-04-11T03:46:25 <DBG> [TFLITE] CTfLiteClass::ReadFileToModel: /sdcard/config/dig-class11_1430_s2.tflite
[0d01h47m55s] 2023-04-11T03:46:25 <DBG> [PSRAM] Allocated 356488 bytes in PSRAM for 'TFLITE->modelfile'
[0d01h47m55s] 2023-04-11T03:46:26 <DBG> [TFLITE] CTfLiteClass::MakeAllocate
[0d01h47m55s] 2023-04-11T03:46:26 <DBG> [CNN] Processing Number 'main'
[0d01h47m55s] 2023-04-11T03:46:26 <DBG> [CNN] ROI #0 - TfLite
[0d01h47m55s] 2023-04-11T03:46:26 <DBG> [CNN] CNN Type: Digital
[0d01h47m56s] 2023-04-11T03:46:26 <DBG> [CNN] ROI #1 - TfLite
[0d01h47m56s] 2023-04-11T03:46:26 <DBG> [CNN] CNN Type: Digital
[0d01h47m56s] 2023-04-11T03:46:27 <DBG> [CNN] ROI #2 - TfLite
[0d01h47m56s] 2023-04-11T03:46:27 <DBG> [CNN] CNN Type: Digital
[0d01h47m57s] 2023-04-11T03:46:27 <DBG> [CNN] ROI #3 - TfLite
[0d01h47m57s] 2023-04-11T03:46:27 <DBG> [CNN] CNN Type: Digital
[0d01h47m57s] 2023-04-11T03:46:27 <DBG> [CNN] ROI #4 - TfLite
[0d01h47m57s] 2023-04-11T03:46:27 <DBG> [CNN] CNN Type: Digital
[0d01h47m57s] 2023-04-11T03:46:28 <DBG> [CNN] ROI #5 - TfLite
[0d01h47m57s] 2023-04-11T03:46:28 <DBG> [CNN] CNN Type: Digital
[0d01h47m58s] 2023-04-11T03:46:28 <DBG> [CNN] ROI #6 - TfLite
[0d01h47m58s] 2023-04-11T03:46:28 <DBG> [CNN] CNN Type: Digital
[0d01h47m58s] 2023-04-11T03:46:29 <DBG> [CNN] ROI #7 - TfLite
[0d01h47m58s] 2023-04-11T03:46:29 <DBG> [CNN] CNN Type: Digital
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [PSRAM] Freeing memory in PSRAM used for 'TFLITE->modelfile'...
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [PSRAM] Freeing memory in PSRAM used for 'TFLITE->tensor_arena'...
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/status, content: Post-Processing (msg_id=689)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [CNN] getReadout _analog=0, _extendedResolution=0, prev=-1
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [POSTPROC] handleAllowNegativeRate for device: main
[0d01h47m59s] 2023-04-11T03:46:29 <INF> [POSTPROC] main: Raw: 00182.371, Value: 182.371, Status: no error
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/status, content: Sending MQTT (msg_id=690)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT SERVER] Publishing System MQTT topics...
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/connection, content: connected (msg_id=691)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/uptime, content: 6479 (msg_id=692)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/freeMem, content: 2892782 (msg_id=693)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/wifiRSSI, content: -63 (msg_id=694)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/CPUtemp, content: 35 (msg_id=695)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT SERVER] Successfully published all System MQTT topics
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT SERVER] Int. Heap Usage before publishing System Topics: 44763, after: 44763, delta: 0, lowest free: 17515
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT] Publishing MQTT topics...
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/value, content: 182.371 (msg_id=696)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/error, content: no error (msg_id=697)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/rate, content: 0.000000 (msg_id=698)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/rate_per_time_unit, content: 0.000000 (msg_id=699)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/changeabsolut, content: 0.000 (msg_id=700)
[0d01h47m59s] 2023-04-11T03:46:29 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/rate_per_digitalization_round, content: 0.000 (msg_id=701)
[0d01h47m59s] 2023-04-11T03:46:30 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/raw, content: 00182.371 (msg_id=702)
[0d01h47m59s] 2023-04-11T03:46:30 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/timestamp, content: 2023-04-11T03:45:53+0200 (msg_id=703)
[0d01h47m59s] 2023-04-11T03:46:30 <DBG> [MQTT IF] Published topic: Wasserzaehler/main/json, content: { "value": "182.371", "raw": "00182.371", "pre": "182.371", "e.. (msg_id=704)
[0d01h47m59s] 2023-04-11T03:46:30 <DBG> [MQTT IF] Published topic: Wasserzaehler/status, content: Flow finished (msg_id=705)
[0d01h47m59s] 2023-04-11T03:46:30 <INF> [TFLITE SERVER] Round #35 completed (47 seconds)
[0d01h47m59s] 2023-04-11T03:46:30 <DBG> [TFLITE SERVER] CPU Temperature: 35°C
[0d01h47m59s] 2023-04-11T03:46:30 <DBG> [TFLITE SERVER] WIFI Signal (RSSI): -63dBm
[0d01h50m12s] 2023-04-11T03:48:43 <DBG> [TFLITE SERVER] ----------------------------------------------------------------
[0d01h50m12s] 2023-04-11T03:48:43 <INF> [TFLITE SERVER] Round #36 started
[0d01h50m12s] 2023-04-11T03:48:43 <DBG> [MQTT IF] Published topic: Wasserzaehler/status, content: Take Image (msg_id=706)
[0d01h50m22s] 2023-04-11T03:48:53 <DBG> [PSRAM] Freeing memory in PSRAM used for 'C IMG BASIS->CImageBasis (zwImage, 0)'...
[0d01h50m22s] 2023-04-11T03:48:53 <DBG> [MQTT IF] Published topic: Wasserzaehler/status, content: Aligning (msg_id=707)
[0d01h50m23s] 2023-04-11T03:48:54 <DBG> [PSRAM] Allocated 921600 bytes in PSRAM for 'C IMG BASIS->CImageBasi -
Genau das Problem habe ich auch. Webinterface funktioniert nicht mehr und es werden keine Daten mehr gesendet.
Heute war das Teil wieder nicht erreichbar. Ich muss es einmal stromlos machen. Danach gehts dann wieder für ca. einen Tag.
Ist seit dem Update. Ich habe einen größeren Sprung gemacht und kann daher nicht genau sagt seit welchen der letzten Versionen das Problem auftritt. -
@sandmanyz
Da bin ich wenigstens nicht alleine.
Die Version, die so lange lief, müsste aus der Weihnachtszeit 22' sein.
Ich lasse jetzt erstmal den Zeitstempel vom Wasserzähler überwachen und mich benachrichtigen, wenn er sich nicht aktualisiert. -
Warum auch immer hatte ich das auch mal ca 1 Woche. Hat sich von selber erledigt.....
Klappt bei euch noch die Rest-API? Bei mir hatte sie damals.
Hab dann auch den Zeitstempel abgefragt und das Teil wenn zu alt neugestartet.