NEWS
Wasserzähler - Version 2 - all-in-device
-
@homoran das Problem ist wenn ich die Tür zu mache habe ich nur 2cm Abstand.
Das mit Spiegel könnte schwierig sein ob ich den Winkel wegen der geringen Abstand hinbekommen.
Gib es auch Vorlage dafür???
Was für Objektiv kann ich nehmen wenn ich es direkt auf den Glass gehen muss?? -
Hallo zusammen,
durch einen Hinweis in der "Volkszähler"-mailing list bin ich vor ein paar Wochen auf dieses Projekt aufmerksam geworden und war sofort "angefixt" -- Respekt, vor allem natürlich an @jomjol!
Seit gestern läuft die Kamera (mit dem aktuellen branch master - v7.0.1 - 2020-05-13 build 2021-05-13 08:18) und ich bin am fine tuning. Da manche meiner Ziffern nicht erkannt werden, wollte ich Bilder sammeln und habe daher alle Logging-Optionen eingeschaltet. Seltsamerweise war danach jedes Bild dunkel oder grünstichig -- als ob das Blitzlicht nicht eingeschaltet worden wäre. Kann es sein, dass zeitgleich mit dem Blitz (GPIO4) auf die SD-Karte (HS2_DATA1) geschrieben wird und sich diese beiden Vorgänge gegenseitig stören?
Ich hab' dann[Debug] ;Logfile = true
gesetzt, und die Störung ist seitdem weg.
Ein anderes Phänomen: Plötzlich steht das Bild auf dem Kopf bzw. der
InitialRotate = 180
erscheint ignoriert:
Beim nächsten Zyklus passt's wieder. Hat da jemand 'ne Idee zu?Zwei Tipps noch:
- Gegen Reflexionen habe ich Textil-Tape aus meiner Sporttasche verwendet, siehe Foto. Beim nächsten Zähler würde ganz einfach vor der Montage und Ausrichtung des ESP32-CAM alles außer der ROIs damit abkleben.
- Um die Optik des OV2640-Moduls an den kurzen Bildabstand anzupassen, muss man ja den Kleber mit Skalpell oder kleinem Teppichmesser wegkratzen. Dann ist der Widerstand im Gewinde aber immer noch relativ groß, so dass Werkzeug gebraucht wird, um ihn zu überwinden. Da hab' ich zuerst mit einer Zange die Kamera fast zerquetscht. Beim 2. Modell habe ich mir ein Klemmwerkzeug aus einem Holzstückchen gebastelt: Ins Holz ein Loch gebohrt, 0,5 mm kleiner als die Kameralinse (bei mir 7mm), Holz gespalten -- fertig!
Vielleicht hilft das ja dem einen oder anderen Neuling.
Viele Grüße, Rupert
-
@jomjol: Guten Morgen Josef, habe es heute nochmals probiert und die letzte Rolling geflasht. Leider wieder das selbe Verhalten. Der ESP ist in einer Reboot-Schleife gefangen. Mußte wieder die Master Firmware flashen. Liebe Grüße Paul
2021-05-25T09:22:51: download_get_handler 2021-05-25T09:22:58: handler_ota_update 2021-05-25T09:23:49: handler_reboot 2021-05-25T09:23:49: Reboot - now 2021-05-25T09:24:07: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:24:08: ============================================================================================= 2021-05-25T09:24:08: =================================== Main Started ============================================ 2021-05-25T09:24:08: ============================================================================================= 2021-05-25T09:24:11: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:24:29: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:24:29: ============================================================================================= 2021-05-25T09:24:29: =================================== Main Started ============================================ 2021-05-25T09:24:29: ============================================================================================= 2021-05-25T09:24:32: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:24:52: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:24:52: ============================================================================================= 2021-05-25T09:24:52: =================================== Main Started ============================================ 2021-05-25T09:24:52: ============================================================================================= 2021-05-25T09:24:56: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:25:17: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:25:17: ============================================================================================= 2021-05-25T09:25:17: =================================== Main Started ============================================ 2021-05-25T09:25:17: ============================================================================================= 2021-05-25T09:25:21: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3 2021-05-25T09:25:38: Time zone set to CET-1CEST,M3.5.0,M10.5.0/3
-
Gibt es eigentlich ein Möglichkeit zu Erfahren ob es sich beim MQTT Wert um den tatsächlichen raw wert handelt oder einen korrigierten Wert? Ich würde bei einem Skript gerne eine "Sicherung" einbauen, das es sich bei dem Wert auch um den tatsächlichen handelt und nicht um einen korrigierten. Ich hab gesehen man kann ein Error Topic in MQTT aktivieren leider kommt da bei mir nichts an (Fehlermeldung allerdings im Log, kann ich gerne posten wenn von Nöten). Ach ja Version ist master - v7.0.1 - 2020-05-13
@Rupert-S Die 180 Grad gedrehtes Bild hatte ich eben auch einmal, is mir bislang nie aufgefallen, war Zufall weil ich gerade auf der Capture Seite war nach einem erneuten F5 war es wieder in Ordnung.
-
@xsev Es wird der korrigierte Wert übertragen, nicht der RAW Wert. Bei mir kommt der Error an:
2021-05-21T00:04:42: sent publish successful in MQTTPublish, msg_id=43644, wasserzaehler/zaehlerstand, 169.7597 2021-05-21T00:04:42: sent publish successful in MQTTPublish, msg_id=16957, wasserzaehler/error, Negative Rate - Returned old value - read value: 169.7580 - raw value: 00169.7580 - checked value: 169.757996 2021-05-21T00:04:42: sent publish successful in MQTTPublish, msg_id=20759, wasserzaehler/rate, 0.000049 2021-05-21T00:04:42: sent publish successful in MQTTPublish, msg_id=7990, wasserzaehler/timestamp, 2021-05-20T20:55:41 2021-05-21T00:04:42: task_autodoFlow - round done
Dann kommt der MQTT wasserzaehler/error: Negative Rate - Returned old value - read value: 169.7580 - raw value: 00169.7580 - checked value: 169.757996 bei mir an.
-
@pfried Hmm komisch, Rate und timestamp kommen an, Error leider nicht evtl. weil es aktuell noch keinen Error gab? Ich beobachte mal. Aber genau sowas such ich. Danke!
Das der Fehler aus dem Log
mqtt.0 2021-05-25 10:55:35.033 warn (2357) Client [wasser] Cannot publish message: TypeError [ERR_INVALID_ARG_TYPE]: The "string" argument must be of type string or an instance of Buffer or ArrayBuffer. Received type number (620)
EDIT:
Geht!! Ich hab den MQTT Pfad neu gesetzt und jetzt geht es! -
@xsev Den Fehler den Du anführst kommt vom MQTT Adapter nicht vom ESP. Solltest Du den MQTT über den IOBroker verwenden, würde ich Dir empfehlen auf die 2.4.0 Version umzusteigen, dann sind solche Fehler Vergangenheit. Installation über Adapter - Adapter aus URL installieren - dort MQTT eintippen und installieren.
Der Fehler mit der falschen Variablendeklaration wurde im IOBroker MQTT Forum diskutiert und sollte jetzt behoben sein. -
@pfried
Danke! Ich hab die MQTT Version 2.3.5 aus dem stable. Werd das aber mal aktualisieren. -
-
@pfried Hallo Paul,
das ist echt strange. Bei mir läuft das relativ stabil. Kannst du den Startvorgang über die serielle Schnittstelle mitloggen? Ich vermute ein Problem mit dem Lesen der Config.ini.
Gruß,
jomjol -
@jomjol Hi Josef, ich ändere aber nichts an der Config.ini. Also unveränderte SD-Card - Rolling via OTA rein, dauernd Reboots, Master zurück flashen - geht wieder... Liebe Grüße Paul
EDIT: Die Rolling SW vor der letzten läuft aber ohne Probleme
-
@pfried mit der Version 7... kam in der config.ini folgende Einträge hinzu
[MQTT] TopicRate = wasserzaehler/rate TopicTimeStamp = wasserzaehler/timestamp
Ich habe diese manuel eingefügt. Bei mir läuft die Version 7.0.1 soweit problemlos.
Ob es aber etwas damit zu tun hat weiß ich nicht. -
@knallochse Habe ich gesehen und habe diese auch in der Config.ini. Das sollte also nicht der Grund für die Reboots sein.
-
@jomjol Hallo Paul,
sehr spannend. Habe jetzt mal auf meinem Testdevice alles neu geflasht (inkl. erase flash) und die SD-Karte neu formatiert. Außer der wlan.ini ist alles neu. Ging bei mir auf Anhieb. Daher wäre ich tatsächlich bei Gelegenheit an dem Mitschnitt der seriellen Schnittstelle interessiert. Vielleicht kann ich dort noch etwas lernen.
Beste Grüße,
jomjol -
@xsev in Wasserzähler - Version 2 - all-in-device
@Rupert-S Die 180 Grad gedrehtes Bild hatte ich eben auch einmal, is mir bislang nie aufgefallen, war Zufall weil ich gerade auf der Capture Seite war nach einem erneuten F5 war es wieder in Ordnung.
Danke für Deine Antwort! Sind wir beide die einzigen mit derartigen Problemen oder Phänomenen? Scharze oder grünstichige Bilder kommen übrigens auch ohne logging immer wieder mal vor, lag also wohl doch nicht daran... Oder ist das ein Hinweis auf eine defekte Kamera?
-
@rupert-s Der Tip mit dem Grünstich könnte tatsächlich vom Speichern kommen, dem gehe ich mal nach.
Bezüglich dem um 180° gedrehten Bild: wenn du zu einem ungünstigen Zeitpunkt die Webseite abfragst, wird noch das Rohbild angezeigt, da die Berechnung der Drehung noch nicht abgeschlossen ist. Ca. 10-20 Sekunden später sollte das gedrehte Bild erscheinen. -
@jomjol said in Wasserzähler - Version 2 - all-in-device:
@rupert-s Der Tip mit dem Grünstich könnte tatsächlich vom Speichern kommen, dem gehe ich mal nach.
Vielleicht hilft Dir das ja Flashlight (GPIO 4):
The ESP32-CAM has a very bright built-in LED that can work as a flash when taking
photos. That LED is internally connected to GPIO 4.That GPIO is also connected to the microSD card slot, so you may have troubles when trying to use both at the same time – the flashlight will light up when using the microSD card.
Note: one of our readers shared that if you initialize the microSD card as follows, you won’t have this problem because the microSD card won’t use that data line.*
SD_MMC.begin("/sdcard", true)
*we found that this works and that the LED will not make that flash effect. However, the LED remains on with low brightness – we’re not sure if we are missing something.
-
@jomjol
Hallo jomjol,
ist das Thema mit den fehlenden GPIO Schalter nur in der 7.1 oder gibt es das dann gar nicht mehr?
LG
Horst -
@jomjol
Ich habe all meine ESP´s den Internetzugang gespertt. Jetz fiel mir am Timestamp auf, dass er die Zeit nicht mehr aktualisieren kann.
Wie wäre es wenn man in der Config.ini die NTP IP-Adresse des NTP-Servers einstellen kann und somit kann man die Fritzbox als NTP Server nutzen ohne dem ESP externen Zugang zu geben.
Kann ein bisschen paranoid sein aber seit dem Mirai Botnet bin ich ein bisschen Vorsichtiger mit den IOT.Einfach mal im Expertenmodus nach unten scollen Ohmann......
Asche auf mein HauptGruß
DerDani -
@hasont sagte in Wasserzähler - Version 2 - all-in-device:
it den fehlende
Hi Hasnot,
Fehler in meinen Debugging Einstellung. Kommt in der nächsten Version wieder rein. Habe es schon compiliert und sobald ich es etwas getestet habe, lade ich eine neue Rolling hoch.
Danke für den Hinweis,
jomjol