NEWS
Wasserzähler - Version 2 - all-in-device
-
@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.
-
@pfried
Hallo pfried.das wird etwas schwierig werden. Im ersten Ansatz würde ich mal nach einem Gehäuse schauen was darüber passt. Baumarkt Elektroabteilung zum Beispiel.
Das ganze mit neodym Magneten fixeren die sind Bombenfest. Bekommst du günstig in ebay über ChinaGruß
Werner -
@pfried Haste nicht jemanden der dir das drucken würde? oder nen makerspace oder so?
ich muss für den GasZähler auch noch ein gehäuse bauen .. aber erstmal der garten wasserzähler . da versuche ich gerade einen adapter für das große gehäuse zu basteln
-
@jomjol was hat denn das mit den N's auf sich .. ich habe das noch nicht kapiert
-
@d0m1n1qu3 sagte in Wasserzähler - Version 2 - all-in-device:
@pfried Haste nicht jemanden der dir das drucken würde? oder nen makerspace oder so?
ich muss für den GasZähler auch noch ein gehäuse bauen .. aber erstmal der garten wasserzähler . da versuche ich gerade einen adapter für das große gehäuse zu basteln
Bitte beachtet, dass ihr einen relativ großen Abstand zur Oberfläche braucht, da ihr sonst nicht alles drauf bekommt. Ist auch der einzige Grund, warum mein Wasserzählerturm so hoch ist.
-
@d0m1n1qu3 sagte in Wasserzähler - Version 2 - all-in-device:
@jomjol was hat denn das mit den N's auf sich .. ich habe das noch nicht kapiert
"N" ist die Abkürzung von "NaN" = "Not a Number". Das liefert das neuronale Netz, wenn die Ziffer nicht 100% eindeutig zu erkennen ist. Beim Kriterium fürs Trainieren bin ich da ziemlich hart. Sobald die Ziffer den Rand berührt, ist es ein "N". Daher gibt es auch den Mechanismus mit dem PreValue, aus dem die "N"s ersetzt werden.
-
@jomjol Es zeigt mir jetzt nur noch 2 Kommastellen, vorher 3
Beim "Read Value" ist irgendwie auch noch ein Bug. Der Wert am Zähler ist ja 1001.1478 und "Read Value" zeigt 1011.48. Irgendwie das Komma verschoben und die letzten beiden Ziffern gerundet.