NEWS
Wasserzähler - Version 2 - all-in-device
-
@jomjol Hi Jomjol, Umzug von Wasserzähler alt auf Wasserzähler neu hat geklappt! Das Word File bekommst du asap. Habe dann auch noch einen zweiten ESP32-CAM mit Deiner hervorragenden Weboberfläche ausprobiert, Das einzige was mir aufgefallen ist, dass das Laden eines neuen Config Bildes nicht gut funktioniert, Er liest oft das neue Bild nicht ein, erst wenn man auf eine andere Webseite geht und wieder zurück liest er das Bild neu ein.
Liebe Grüße
Paul -
@WernerS das ist merkwürdig. Normalerweise braucht es einen Moment, bis er sich ins WLan einwählt. Bei mir zeigt er typischerweise 2x an, dass er nicht verbunden ist (5x schnelles Blinken) und dann kommt die Verbindungsmeldung (3x. langsames blinken).
Manchmal geht es auch schneller (nur 1x Meldung dass er nicht verbindet), vor allem, wenn ich es im Wohnzimmer neben meinem Router teste.
Kannst du ihn mal an einen serielle Schnittstelle anschließen und mir die Mitschrift nach dem Startup schicken - dort siehst du auch die verwendet SSID und das Passwort und ggf. auch die IP, falls er sich verbinden würde.
Bin jetzt erst wieder ab heute Abend erreichbar. -
@WernerS
Hi Werner, ich möchte hier zwei mögliche Fehlerquellen aus eigener Erfahrung dazu anführen:- probier einmal mit dem Handy und einen WLAN Sniffer (z.B.: Android: WiFi Analyzer), ob Du direkt beim Wasserzähler genug Signalstärke hast. Die Antenne des ESP-32-CAM ist sehr schwach (Ich musste neben dem Wasserzähler einen WLAN Repeater positionieren, dann war Schluss mit den Verbindungsproblemen)
- Aktiviere bei Deinem Router das Gastnetzwerk mit ganz einfacher SSID und einfachem Passwort (z.B. Test / Test) und schaue, ob Du da eine Verbindung zusammenbringst. Enable aber die folgende Einstellung (z.B. bei einer Fritz!Box):
-
@jomol
Configuration problemich habe gestern auf das binary und die neue html.zip gewechselt.
Das Problem scheint der wegen der schlechten Antenne der Camera der zwischengeschaltete Router zu sein.
Auch jetzt wird bei Config.INI direkt nur undefined angezeigt.
Dafür habe ich eine Lösung gefunden.Das Device befindet sich hinter einem zusätzlichen Router (martin-ger/esp_wifi_router) und wird über Portmapping angesteuert. Ich bekomme den z.B. Fileserver problemlos angesteuert und mit voller Funktionalität.
Lediglich der Configuration-Teil hat Schwierigkeiten( Config.ini undefined, Show actual Reference ohne Funktion, Regions Of Interest ohne Bild,..)Hänge ich meinen Laptop direkt in das WLAN des zusätzlichen Routers ist auch Configuration vollständig benutzbar.
Reference Image und ROI's habe ich erfogreich neu erstellt.
Ich habe auch schon einen richtig abgelesenen Messwert gesehen, aber das Bild auf der Startseite ist ein wenig verdreht.
Probleme gibts bei Alignment Marks.
Reference 0 soll "m" abbilden und Reference 1 "Nr".
Wird im Webinterface Define Alignment.. aufgerufen so ist korrekt x = 365, y 69 aber dx und dy sind leer.
Zusätzlich sieht man im Fileserver /config/ref0.jpg size = 0.
Ein Click auf Update Reference löst einen Absturz aus.Im Fileserver ist /config/ref1.jpg nur ein schwarzer Kasten.
Wechselt man auf Reference 1 braucht die Aktualiserung der Webseite lange ( > 20 sec)
Ein neuer Wechsel auf Reference 0 dauert auch wieder lange
Dann verabschiedet sich die Webseite mit Netzwerkzeitüberschreitung und ein Power off/Power on ist notwendig.
Nach dem Neustart ist merkwürdigerweise das Startbild noch weiter verdreht.
In alignment.txt taucht auf:
2020-09-12_12-18-19: dx: 0 dy: 0 d_winkel: 3.212088
Nach Neustart:
2020-09-12_13-07-19: dx: 20 dy: 20 d_winkel: 15.866147Eigentlich sollte das Bild nicht gedreht sein.
Die Ursache scheinen ganz tückische Probleme zu sein, wenn man einen langsameren? Router verwendet.
Anscheinenen werden die Alignbilder ref0 und ref1 nicht richtig erzeugt. Manchmal erhält man ein leeres jpg, manchmal ist das jpg komplett schwarz.Beim Verwendung einer FritzBox als Router konnten ref0 und ref 1 problemlos erzeugt werden.
Jetzt läuft auch der komplette Prozess wieder durch
-
Ich habe die teile noch gar nicht gedruckt. Bin erst mal dabei die Elektronik zu machen, da ich den Artikel erst am Donnerstag entdeckt habe. War so begeistert das ich gleich den ESP bestellt habe.
Zu deiner Frage
Das ganze liegt auf dem Schreibtisch am PC, also 60 cm weg vom Router.
Gehen muss das weil ich habe die hardware mit
https://www.fambach.net/esp32-cam-modul/
getestet, da bekam ich ein Video con der CamGruß
Werner -
also ich glaube da geht was beim flashen schief. Habe aber die Angaben genommen so wie es bei der Installation steht.
rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
flash read err, 1000
ets_main.c 371
ets Jun 8 2016 00:22:57Gruß
Werner -
@hike Hallo hike,
ich hatte dasselbe Problem wie Du, manche Referenzpunkte Bilder schwarz, manche leer, beim Drücken des contrast enhencement ein Absturz des ESP32 und auch beim Referenzbild/Standbild selber brauchte ich mehrere Anläufe um ein Bild zu bekommen. Ich kann auch den Effekt mit dem Standbild bestätigen, war bei mir auch mehrere Male verdreht. -
@pfried @hike sagte in Wasserzähler - Version 2 - all-in-device:
@hike Hallo hike,
ich hatte dasselbe Problem wie Du, manche Referenzpunkte Bilder schwarz, manche leer, beim Drücken des contrast enhencement ein Absturz des ESP32 und auch beim Referenzbild/Standbild selber brauchte ich mehrere Anläufe um ein Bild zu bekommen. Ich kann auch den Effekt mit dem Standbild bestätigen, war bei mir auch mehrere Male verdreht.Beim Erzeugen der Alignmentmarken braucht es eine halbwegs gute Internetverbindung und etwas Geduld. Um die Verarbeitung auf dem Server nachher hinzubekommen, macht die Erzeugung der ESP32 selbst, d.h. wenn du ein Bild ausschneidest, gibt es per html einen Befehl an den ESP32 und der macht dann die Bilderverarbeitung und auch die Kontrasterhöhung lokal und liefert das Ergebnis per html zurück.
Das ist anders, also beim erzeugen des Refernzbildes. Da findet die Bildberechnung im Browser über Canvas statt. Bei den Referenzbildern scheitert das an dem Kontrast. Ich habe noch keine leichtgewichtige einfache HTML-Funktion gefunden, um es im Browser zu berechnen.Auch die schlechte Performance, wenn es verschiedenen Zwischenrouter gibt könnte mit der html-Struktur zusammen hängen. Damit ich mit einem einfachen Server auskomme habe ich eine ineinanderstrukturierte struktur per iframe gebaut.
Und als dritte Info: wenn ihr die Konfiguratin zufällig gerade macht, während gerade der automatische Bildverarbeitungsflow läuft, dann ist der ESP32 für einige Minuten ziemlich ausgelastet. Auch wenn das Programm per FreeRTOS für Multithread ausgelegt ist, sind natürlich die Ressourcen für den Web-Server in dem Zeitfenster deutlich eingeschränkt. So als Größenordnung: nur die Berechnung des Bildalignment dauert fast 1 Minuten.
Da ist noch überall Potential - noch genug für mich zu tun :-).
Danke für euer detaiiertes Feedback.
-
@jomjol
Vielen Dank für die Erläuterungen.Machmal bleibt der Fileserver bei der Übertragung auch hängen, besonders wenn man z.B. die Unterverzeichnisse log/analog, die viele Dateien beinhalten, betrachtet.
Da bleibt der Server manchmal in einer Schleife hängen und ist nicht mehr erreichbar. Dann hilft nur noch Power out Power on.Machmal bleibt er auch im ClassFlowAnalog hängen.
Ansonsten habe ich jetzt schon eine ganze Reihe brauchbarer Ergebnisse. Digital sind alle Stellen ok, , ebenfalls drei analoge Stellen.
Super, obwohl mein Bild ziemlich unscharf ist.Leider wird die zweite Analog-Anzeige , nicht erkannt.
Das liegt offensichtlich daran , das meine Wasseruhr dort einen anderen Zeiger hat.Deshalb bekomme ich auch Meldungen wie
620.7591 Negative Rate - Returned old value - read value: 620.7571Beste Grüße
Hike -
@hike Du solltest versuchen, dein Bild scharf zu bekommen. Dazu musst du aber das Lacksiegel an der Linse wegkratzen und dann kannst du mit etwas Kraft und einer Zange die Linse drehen und scharf stellen. Hat bei mir bei beiden ESP32CAM funktioniert - aber keine Garantie auf Erfolg - kann auch kaput gehen.
Für deinen Zeiger2 können wir mal probieren, den auch zu teachen, der sieht aber schon sehr merkwürdig aus.
-
@WernerS Hi Werner, konnte dein Problem partiell reproduzieren. Bei mir lies sich heute hartnäckig der Flash-Erase nicht mit dem ESP-Tool durchführen. Nachdem ich den Flash über ein py-Tool von PlatformIO gelöscht habe, konnte ich aber die drei Teile mit dem Tool selbst flashen und es lief auch ohne Probleme.
-
dann lieget es anscheinend am Flashtool. Ich schau mal ob ich ein älteres finde.
Das py-Tool von PlatformIO kenne ich nicht. Ist das kompliziert zu installieren und durch zuführen? -
@jomjol
Ich habe das schon früher mal versucht, brauchte danach eine neue.
Deshalb bin ich auch sehr angetan , dass die KI die anderen Ziffern erkennt.Das ist eine Wasseruhr von meinen Stadtwerken. Die scheint nicht so selten zu sein.
Ich habe mal irgendwo ein ESP8266 Projekt gesehen, da wurde das Spiegelsignal auf dieser Anzeige ausgewertetIm Protokoll sehe ich immer wieder , aber unregelmäßig, Neustarts
2020-09-12_20-10-12: task_autodoFlow - next round
2020-09-12_20-10-12: FlowControll.doFlow - ClassFlowMakeImage
2020-09-12_20-10-17: FlowControll.doFlow - ClassFlowAlignment
2020-09-12_20-10-18: Image Load failed:/sdcard/img_tmp/raw.jpg FreeHeapSize before: 3218988 after: 3218896
2020-09-12_18-10-58: Startsequence 02
2020-09-12_18-10-59: Startsequence 03 -
@hike Die Neustarts sind bekannt - da kommt es beim Auslesen des ersten Bilder von der Kamera zu einem Speicherfehler. In der neusten Version Rolling Version fange ich diesen Fehler ab und nehme das Bild bei diesem Fehler nochmal auf. Das reduziert die Fehler deutlich, aber nicht vollständig.
-
@jomjol
Hi jomjol ich habe ne ältere Version gefunden die 3.6.5 aber mit der geht es auch nicht.
Wie machen das die anderen hier, die müssten das Problem doch auch haben. -
Hallo zusammen,
ich habe gerade die aktuelle Rolling in eine Version 2.0.0 gemerged und die Bilder für die Doku mit dem neuen Layout upgedated.
Ab jetzt kommen die Updates und Responses etwas langsamer, da mein Urlaub vorbei ist .
Beste Grüße,
jomjol -
moin
so jetzt hab ich mich hier auch angemeldetänderungs ideen fuer die doku auch via pull request? statt dem windows tool kann man naemlich auch gut das esptool.py nehmen
pull requests gegen rolling oder master?
morgen guck ich mit die mqtt geschichte mal an. derzeit sammel ich mit polling. geht echt schon gut.
in wie weit hast du vor auch strom oder gas zaehler zu unterstuetzen? wuerde das gern auf alle zaehler machen
vg dominique
-
@d0m1n1qu3 sagte in Wasserzähler - Version 2 - all-in-device:
moin
so jetzt hab ich mich hier auch angemeldetänderungs ideen fuer die doku auch via pull request? statt dem windows tool kann man naemlich auch gut das esptool.py nehmen
pull requests gegen rolling oder master?
morgen guck ich mit die mqtt geschichte mal an. derzeit sammel ich mit polling. geht echt schon gut.
in wie weit hast du vor auch strom oder gas zaehler zu unterstuetzen? wuerde das gern auf alle zaehler machen
vg dominique
Super Idee, wenn du eine Doku für esptool.py schreiben kannst. Das ESP-IDF-Tool macht gerade bei mir auch Probleme (Erase geht nicht mehr).
Pull request gegen Rolling oder bei größeren Änderungen kann ich auch einen abgetrennten Zweig anlegen.
Strom- und Gaszähler gehen auch jetzt schon, du musst nur die analogen Zeiger aus der config.ini schmeißen. Das einzige was noch fehlt, ist die Implementierung einer Kommaverschieben. Das Komma sitzt momentan hart zwischen digital und analog.Gruß,
jomjol -
@jomjol Hallo jomjol, also ich habe gestern eine Nachtschicht eingelegt und alles mögliche probiert. Verschiedene Adpater, Baudrate usw. Es geht einfach nicht. Ich verstehe das nicht, das Problem müssen doch mehr haben. Hast du noch eine Idee?
-
@WernerS sagte in Wasserzähler - Version 2 - all-in-device:
@jomjol Hallo jomjol, also ich habe gestern eine Nachtschicht eingelegt und alles mögliche probiert. Verschiedene Adpater, Baudrate usw. Es geht einfach nicht. Ich verstehe das nicht, das Problem müssen doch mehr haben. Hast du noch eine Idee?
Hallo Werner,
wenn du eine Python-Installation hast, kannst du auch das esptool.py verwenden. Ich habe es gerade probiert - ging problemlos in Pyhton 3.8 (in Ananconda-Umgebung in Win 10, müsste aber auch mit 3.6 oder 3.7 gehen) mit folgenden Befehlen:Installation des Tools:
pip install esptool
Erase Flash und dann flashen der neuen Firmwarepip install esptoolpip install esptool
esptool erase_flash esptool write_flash 0x01000 bootloader.bin 0x08000 partitions.bin 0x10000 firmware.bin
Vielleicht musst du noch über einen Parameter den COM-Port angeben, war bei mir jetzt nicht notwendig. Bei mir hat der ESP32CAM dann ohne Probleme gebootet.
Hoffe damit kommst du weiter!
Gruß,
jomjol