NEWS
Wasserzähler - Version 2 - all-in-device
-
@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 -
Hallo jomjol ,
ich habe das Problem mit dem zweitem komischen Analogzeiger noch mal genauer untersucht. Ein Vergleich der Bilder ergibt, dass meine Wasseruhr an dieser Stelle defekt sein muss, da sich die Stellung des Zeigers nie ändert.
Das führt in Vergleich zu Fehlern wie diesem:
620.2576 Negative Rate - Returned old value - read value: 620.2553
da sich die 5 nicht ändert.
Der vollständige Wert von Analog 1 (2.2) bildet übrigens den richtigen Wert gut ab.
Jetzt habe ich aber das auch von anderen beschriebene Problem mit der digitalen 1 , die als 0 erkannt wird.Beste Grüße
Hike -
@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
Bemerkung zur MQTT-Erweiterung: Ich würde empfehlen, es analog zu den anderen Funktionen (MakeImage, Alignment, ... Prostprocessing) abgleitetet von der Basisklasse
ClassFlow
zu implementieren. Wenn du dann die neue Child-Klasse noch in der VerwaltungsklasseClassFlowControll
in der FunktionCreateClassFlow
mit aufnimmst, ist sie automatisch in die Konfiguration über Config.ini einbinden und auch beim automatischen Flow würde sie mit durchlaufen und du kannst je nach Ergebnis der vorherigen Auswertung ein Event triggern. -
Hallo zusammen,
es gibt jetzt eine neue Option, um das Kommo zu verschieben. Standartmäßig ist es ja zwischen Digital und Analog. Über den Parameter
DigitalShift = n
in[PostProcessing]
kann man das Komma sowohl nach vorne, wie auch nach hinten schieben:
Beispiel:DecimalShift = 2
--> Result: 123.456 --> 12345.6DecimalShift = -1
--> Result: 123.456 --> 12.3456
Das Verschieben findet direkt beim Zusammenführen von Digitalzahlen und Zeigerzahlen statt, alle nachfolgenden Funktionen funktionieren also auf dem verschobenen Wert (sollte auch für reine Digitalziffern klappen - aber nicht getestet).
Funktion findet ihr in der neusten Rolling.
Gruß,
jomjol -
Hallo jomjol, es ist zum verrückt werden. Der ESP kann doch nicht kaputt sein? Mit dem Testprogramm in der Arduino IDE zu schreiben funktioniert. Ich habe es eben nochmal versucht. Ich habe WLAN Verbindung und die Kamera geht auch
Ich habe noch ein Linuxsystem auf dem habe ich es mit dem esptool versucht
beim löschen bekomme ich folgendestest@test-All-Series:~/Dokumente$ esptool erase_flash
esptool.py v2.8
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting.....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:62:ab:ff:c6:ac
Enabling default SPI flash mode...
Erasing flash (this may take a while)...A fatal error occurred: ESP32 ROM does not support function erase_flash.
und beim schreiben das
test@test-All-Series:~/Dokumente$ esptool write_flash 0x01000 bootloader.bin 0x08000 partitions.bin 0x10000 firmware.bin
esptool.py v2.8
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting....
Detecting chip type... ESP32
Chip is ESP32D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 24:62:ab:ff:c6:ac
Enabling default SPI flash mode...
Configuring flash size...
Auto-detected Flash size: 4MB
Erasing flash...
Took 0.35s to erase flash block
Wrote 26624 bytes at 0x00001000 in 2.9 seconds (73.4 kbit/s)...
Hash of data verified.
Erasing flash...
Took 0.06s to erase flash block
Writing at 0x00008000... (33 %)
A fatal error occurred: Failed to write to target Flash after seq 0 (result was 01073762)Ist da vielleicht noch wo ein Security Bit gesetzt?
Gruß
Werner -
@WernerS sagte in Wasserzähler - Version 2 - all-in-device:
ESP32 RO
Hi Werner,
ich habe nirgends ein Security Bit bewußt gesetzt. Ich verwende drei Flash-Methoden: OTA, Espressif-Tool (oder jetzt ESPTool) oder direkt aus der Entwicklungsumgebung PlatformIO. Letzteres dürfte aber meines Wissens auch auf esptool.py zurückgreift. Ich habe zwei ESP32CAM Module hier und beide funktionieren mit beiden Methoden.
Scheint, dass dein ESP32 defekt ist oder eine ungewöhnliche Konfiguration hat. -
-
@jomjol Super konntest du das implementieren! Ich bin ja einer der Profiteure davon
Hab das gerade mal installiert, konnte aber nur kurz testen:
Mir ist bis jetzt das aufgefallen:
- Die prevalue.ini wird richtig gestetzt
- Beim "Corrected Value" wird die Kommaverschiebung noch nicht richtig ausgewertet --> read value: 11011.314
- Im "Corrected Value"und "Checked Value" wird der letzte Analogwert abgeschnitten
Meine Einstellung: DecimalShift = -1
-
@michaeljoos Starte ihn mit korrekt eingestelltem PreValue nochmal neu. Wenn du den DecimalShift zum erstenmal setzt, steht da ja noch der falsche PreValue drin. Hätte gedacht, dass es nach dem 2. korrekt gelesenen Wert sich selbst erledigt, falls nein, muss ich nochmal in den Code schauen.
-
@jomjol Yep, habe nochmals alle Schritte durchgemacht
- PreValue gesetzt
- Restart, danach zeigt sich dieses Bild (da fehlt dann schon die letzte Ziffer):
- Und nach dem 1. Durchlauf das:
Muss man eigentlich beim setzen des PreValue die versetzte Kommastelle berücksichtigen oder betrifft dies nur den "Output"?
-
bei mir is irgendwas jetzt krumm ... er will nen bild machen .. LED geht an und bleibt für immer an .. neues Bild erscheint auch nicht in der WebUI .. bleibt das alte ...
leider ist der ESP dadurch so warm geworden das sich das Gehäuse schon verformt hat .. eieiei ..
reboot und oder auch strom ab und wieder dran bringt nix .. letztes rolling ist jetzt auch drauf und hat auch keine veränderung gebracht .. im log.txt steht leider keine fehlermeldung ..
Ideen? wie kann ich mehr Infos sammeln?
EDIT: jetzt hatte ich es abgebaut und noch mal offen auf dem tisch .. geht wieder ..
evtl wird es ihm dadrin zu warm? ..VG Dominique
-
Hallo ihr beiden
Danke für eure schnelle Hilfe. Ich gebe da nicht so schnell auf und habe es hinbekommen. Habe viel gegoogelt. In so einem Fall gibt es da wohl unterschiede in den Tools.
Unter Linux mit esptool geht es nicht aber so, falls nochmal jemand das gleiche problem hatLinux
python Verison 3 installieren
esptool.py von expressif herunterladen und in einem ordner entpacken
in den ordner gehen und dann
python3 esptool.py erase_flashProgrammieren ging genauso und ich bin happy jetzt
morgen gehts an Teile drucken. Wenn der Wasserzähler läuft kommt der Strom- und gaszähler dranGruß
Werner -
@WernerS Super, dass es nun geklappt hat, ich bin auch an dem Gaszähler dran, habe aber noch keine Idee wie ich mir da eine Halterung machen kann, habe leider (noch) keinen 3D Drucker. Hat wer eine Idee?
-
@michaeljoos sagte in Wasserzähler - Version 2 - all-in-device:
art, danach zeigt sich dieses Bild (da fehlt dann schon die letzte Ziff
Das die letzte Ziffer fehlt ist ein Bug - ich habe vergessen, beim Runden auch den Shift mitzunehmen - in der gerade hochgeladenen Rolling-Version schon korrigiert. Das mit dem PreValue nachvollziehbar, wenn man weiß, das der PreValue in zwei Fällen mit dem neuen Wert überschrieben wird (falls aktiviert):
- Noch kein gültiger oder zu alter PreValue - aber jetzt wurde erstmalig alle Ziffern ohne N erkannt
- Gültiger PreValue ist vorhanden und die Konsitenzprüfung für den neuen Wert viel positiv aus.
Wenn ich jetzt dein Bild anschauen, dann kann wird der PreValue nicht gesetzt, da "N"s noch vorhanden. Dann nimmt er noch den alten, solange bis alle gesetzt sind oder du ihn aktualisierst.