NEWS
Wasserzähler - Version 2 - all-in-device
-
@moosham sagte in Wasserzähler - Version 2 - all-in-device:
@jomjol SUUUPER, hat gut funktioniert, teste gerade meine "eignes" Zählermodel. Habe wie Du das Problem, dass mein Zähler nur eine Nachkommastelle hat, die Auflösung deshalb zu wünschen übrig lässt. Bin mal gespannt, wie deine "virtuelle 2. Nachkommastelle" funktioniert, arbeitest Du da noch dran?
vielen Dank,
MoosHamJa, da bin ich noch dran. Ist aber etwas aufwendiger wie gedacht und momentan habe ich etwas wenig Zeit. Aber das nächste größere Release (v10) sollte das dann haben.
-
@jomjol leider hat es das wohl noch nicht gebracht.
Von 1211.599 auf 1121.839 ist doch nicht "too high", warum zeigt er das hier an?
Danke für deine komemnde Antwort.
Grüße Hc-Yami
-
@hc-yami sagte in Wasserzähler - Version 2 - all-in-device:
@jomjol leider hat es das wohl noch nicht gebracht.
Von 1211.599 auf 1121.839 ist doch nicht "too high", warum zeigt er das hier an?
Danke für deine komemnde Antwort.
Grüße Hc-Yami
Das kann ich so nicht beurteilen, denn das hängt davon ab, welchen Wert du in der Config.ini eingestellt hast:
![0_1638726542553_cced9a4c-19fd-4713-a671-7eeacc189dce-grafik.png](Lade 100% hoch) -
Polarisationsfilter (linearer Filter reicht)
Hallo,
erst mal herzlichen Dank für das tolle Projekt und die viele bereits geleistete Vorarbeit.Ich erfasse seit ein paar Tagen mit dem Modul die Werte meines Gaszählers und habe dort auch das Problem mit den Reflexionen der Zahlenrollen selbst und der Glasscheibe davor.
Der erste Ansatz waren 2 externe LED's - das war besser aber auch noch nicht toll - zumal es das kompakte Kamera-Gehäuse zunichte macht, weil dann auch die Positionierung der LED's mit berücksichtigt werden müsste.
Also ein Blick zu den Fotografen geworfen, wie die Reflexionen mit Blitz lösen...Und der Ansatz heißt: 'Polarisierungsfolie'
Für 'unsere' Kamera und den Blitzt reicht ein normaler linearer Polarisierungsfilter.
Die beiden Folienstücke vor dem Blitz und vor der Kamera müssen dann um 90° zueinander verdreht angebracht werden.-
Versuch: Nur die Polarisierungs-Filter:
Da war der Blitz noch immer so stark, dass die Filter nicht geschafft hat alles zu filtern und noch immer Reflexionen da waren. -
Versuch: Zusätzlich direkt auf den Polarisierungsfilter vor dem Blitz zwischen Filter und LED noch eine Satinato-Folie 'direkt' aufgelegt. (LED, 3mm Abstand zu Satinato-Folie, 0mm Abstand zu Polarisierungsfilter; Kamera: Linse dann 2 mm Abstand zu Polfilter)
-> Das Ergebnis war schon deutlich besser Diese Kombi nutze ich aktuell.
Als 3. Versuch steht nun noch aus mit 1-2 Satinato-Folien mit Abstand zwischen LED ,Satinato und Filter zu arbeiten. Aber dazu muss ich nochmal ein angepasstes Gehäuse drucken. Platz gibt es ja noch genug vor der Blitz-Led Ich werde berichten...
Anbei auch 2 Fotos - jeweils vom Kamera in dem Gehäuse und dem Ergebnis-Bild.
-
-
Und noch ein paar Wünsche von mir, das was Coding angeht
Keine Ahnung, ob das hier richtig aufgehoben ist, oder besser bei Github plaziert wird.-
Messwerte als Log lokal mit speichern
Es wäre super, wenn man parallel die Messwerte auch einfach lokal auf der Speicherkarte mit loggen kann ohne das komplette debugging aktivieren zu müssen. Damit wäre das ganze Projekt auch autonom ohne externe Anbindungen nutzbar um mal Daten detaillierter zu analysieren. Und der Zugriff auf die Logfiles ist ja schon sehr schön in der Weboberfläche implementiert.
Denn wenn's um 'echte Analysen' geht ist man eh schnell in Excel oder Access (oder anderen DB's)
Wunsch: extra Checkbox in der Konfig für ein Werte-Logging mit 3 Spalten:
Zeitstempel, Messwert und 'raw Messwert' -
API-Aufruf 'neutral' gestalten:
aktuell:
http://[IP]/wasserzaehler.html
neutral z.B.
http://[IP]/messwert.html -
Für 'analoge' Zählwerke auch 'Zwischenzahlen' anlernen.
Da insbesondere die 'letzte' Stelle bei analogen Rollenzählwerken in der Regel immer irgendwelche 'Zwischenwerte' auf dem Foto hat kommt es dort oft zu Erkennungsproblemen.
Idee: Nicht nur 1,2,3,4,5,6,7,8,9,0 anlernen, sondern auch ein oder zwei 'Zwischenzahlen' um die Erkennungsrate zu verbessern.
Als z.B.
8,33 als 8
8,66 als 9
9 als 9
9.33 als 9
9,66 als 0
0 als 0
0,33 als 0
0,66 als 1
Ich weiß nicht ob da schon mal probiert wurde, in wie fern das klappt oder ob dadurch 'falsch Interpretationen' steigen.
Evtl. kann man ja auch nur die 'letzte' Stelle jeweils mit diesen 'Zwischenzahlen' abgleichen.
Alle Stelle davor stehen ja in der Regel 'richtig' -
Wenn Zahlen nicht erkannt werden diese nicht 'immer 1:1 mit der alten Ziffer auf dieser Stelle ersetzen, sondern auch die Stelle links daneben betrachten. Wenn die Stelle links daneben im Vergleich zum alten Wert gestiegen ist sollte die 'unerkannte' Stelle auf 0 gesetzt werden.
Beispiel:
aktuell:
Raw 1234,16 -> 1234,16
Raw 1234,1N -> 1234,16 -> OK
Raw 1234,19 -> 1234,19
Raw 1234,2N -> 1234,29 -> wird als 1234,29 angezeigt, obwohl in Wirklichkeit z.B.1234,21
Raw 1234,25 -> 1234,29 -> bringt Fehler, da kleiner als Messwert
Wunsch:
Raw 1234,16 -> 1234,16
Raw 1234,1N -> 1234,16 -> OK
Raw 1234,19 -> 1234,19
Raw 1234,2N -> 1234,20 -> wird als 1234,20 angezeigt, da Stelle links von N größer als bei letzter Messung (in Wirklichkeit z.B.1234,21)
Raw 1234,25 -> 1234,25 -> wieder korrekte Messung/MesswerteAnbei noch ein paar Beispielbilder zu 3)
Vielen Dank und schöne Grüße
-
-
@mann7 sagte in Wasserzähler - Version 2 - all-in-device:
Und noch ein paar Wünsche von mir, das was Coding angeht
Keine Ahnung, ob das hier richtig aufgehoben ist, oder besser bei Github plaziert wird.-
Messwerte als Log lokal mit speichern
Es wäre super, wenn man parallel die Messwerte auch einfach lokal auf der Speicherkarte mit loggen kann ohne das komplette debugging aktivieren zu müssen. Damit wäre das ganze Projekt auch autonom ohne externe Anbindungen nutzbar um mal Daten detaillierter zu analysieren. Und der Zugriff auf die Logfiles ist ja schon sehr schön in der Weboberfläche implementiert.
Denn wenn's um 'echte Analysen' geht ist man eh schnell in Excel oder Access (oder anderen DB's)
Wunsch: extra Checkbox in der Konfig für ein Werte-Logging mit 3 Spalten:
Zeitstempel, Messwert und 'raw Messwert' -
API-Aufruf 'neutral' gestalten:
aktuell:
http://[IP]/wasserzaehler.html
neutral z.B.
http://[IP]/messwert.html -
Für 'analoge' Zählwerke auch 'Zwischenzahlen' anlernen.
Da insbesondere die 'letzte' Stelle bei analogen Rollenzählwerken in der Regel immer irgendwelche 'Zwischenwerte' auf dem Foto hat kommt es dort oft zu Erkennungsproblemen.
Idee: Nicht nur 1,2,3,4,5,6,7,8,9,0 anlernen, sondern auch ein oder zwei 'Zwischenzahlen' um die Erkennungsrate zu verbessern.
Als z.B.
8,33 als 8
8,66 als 9
9 als 9
9.33 als 9
9,66 als 0
0 als 0
0,33 als 0
0,66 als 1
Ich weiß nicht ob da schon mal probiert wurde, in wie fern das klappt oder ob dadurch 'falsch Interpretationen' steigen.
Evtl. kann man ja auch nur die 'letzte' Stelle jeweils mit diesen 'Zwischenzahlen' abgleichen.
Alle Stelle davor stehen ja in der Regel 'richtig' -
Wenn Zahlen nicht erkannt werden diese nicht 'immer 1:1 mit der alten Ziffer auf dieser Stelle ersetzen, sondern auch die Stelle links daneben betrachten. Wenn die Stelle links daneben im Vergleich zum alten Wert gestiegen ist sollte die 'unerkannte' Stelle auf 0 gesetzt werden.
Beispiel:
aktuell:
Raw 1234,16 -> 1234,16
Raw 1234,1N -> 1234,16 -> OK
Raw 1234,19 -> 1234,19
Raw 1234,2N -> 1234,29 -> wird als 1234,29 angezeigt, obwohl in Wirklichkeit z.B.1234,21
Raw 1234,25 -> 1234,29 -> bringt Fehler, da kleiner als Messwert
Wunsch:
Raw 1234,16 -> 1234,16
Raw 1234,1N -> 1234,16 -> OK
Raw 1234,19 -> 1234,19
Raw 1234,2N -> 1234,20 -> wird als 1234,20 angezeigt, da Stelle links von N größer als bei letzter Messung (in Wirklichkeit z.B.1234,21)
Raw 1234,25 -> 1234,25 -> wieder korrekte Messung/MesswerteAnbei noch ein paar Beispielbilder zu 3)
Vielen Dank und schöne Grüße
Die Feature Wünsche bitte in ein GitHub-Issue, dort tracke ich alles. Aber gleich eine "Warnung" vorweg: die meisten Punkte laden erstmal auf der Feature-Request Liste. Dort sind alle Wünsche, die ich aktuell schlicht aus Kapagründen nicht angehe.
Ich bin i.W. der einzige Programmierer und mache das so nebenbei für lau, daher kann ich die vielen guten Ideen nicht immer auch umsetzen.
Falls du mitprogrammieren willst, kannst du gerne einen Folk machen und ich merge dann deine Verbesserungen mit ein.
Beste Grüße,
jomjol -
-
@jomjol Hi,
ja - das häufige Problem, dass viele den Nutzen aus etwas ziehen wollen, aber nur wenige sich aktiv beteiligen...Ich bin nicht wirklich ein Hardcore-Programmiere - von daher muss ich mir das mal anschauen, ob ich mich im Coding zurecht finde oder mehr Chaos anrichte
Aber wenn ich mich zurecht finde und etwas anpasse lasse ich dir natürlich gerne die Änderungen auch zukommen.
Und das eine oder andere Thema lässt sich ja wahrscheinlich sogar relativ einfach und schnell implementieren.
Aber ich weiß schon - viel 'mal einfach und schnell' sind am Ende auch wieder ein paar StundenSchönen Abend
-
@mann7 Moin Mann7, coole Idee mit der Pol-Folie, das will ich auch mal ausprobieren!
Ich habe ähnliche Probleme mit der letzten Stelle und kann Dir bestätigen, dass die Erkennung besser wird, wenn man auch "angeschnittene" Zahlen erkennen lässt. Ich habe das mal probiert und danke JomJols guter Doku hier (https://github.com/jomjol/neural-network-digital-counter-readout) mal die Zahlen von MEINEM Zähler (nachdem ich 3 Tage Debug-Fotos gesammelt habe) genutzt und ein eigenes Modell angelernt. Nicht nur ist das Modell durch die Maßschneiderung auf meinen Zähler viel genauer, es ist auch kleiner und schneller, so dass ich inzwischen alle 2 Minuten neue Messwerte bekomme.
Ich habe inzwischen die Logik zur Validierung der Zahlen abgestellt, weil sie inzwischen mehr Probleme macht als sie löst, es gibt kaum noch falsche Werte. Das einzige was ich noch mache, ist, dass ich in NodeRed kurz prüfe ob der Wert "springt" (etwa von 7,9 auf 7,0 und dann auf 8,0) oder so.
Schön wäre es, wenn es eine Möglichkeit gibt, zwischenwerte auszuwerten, also 8,5 oder 3,3 oder so. Das würde die Genauigkeit deutlich erhöhen. Aber so weit ich weiß experimentiert JomJol schon daran.
Ich kann also nur empfehlen, ein eigenes Individuelles AI-Modell passend zu Deinem Zähler zu trainieren.
gruß,
MoosHam -
@moosham ich bewundere das du das mit dem selbst anpassten AI-Modell hinbekommen hast.
Magst du vielleicht mal eine Anleitung für "Doofe" bzw. "stell dir vor ich wäre 10 Jahre alt", also eine Schritt-für-Schritt Anleitung dafür erstellen?
Mir hatte sich das jetzt nicht so ohne weiteres erschlossen und ich habe Hoffnung das mein verf*******er neuer digitaler Wasserzähler sich dann damit auslesen ließe.
-
@moosham said in Wasserzähler - Version 2 - all-in-device:
MoosHam
Hallo,
ich habe heute mein neues Gehäuse mit mehreren Satinato Folien und jeweils 3mm Abstand getestet. Wobei meine Satinato Folie schon sehr milchig ist und auch viel Licht rausnimmt.
Anbei eine Bildserie.
Fazit: Satinato alleine bringt nichts und Polfilter alleine reicht auch nicht - aber die Kombination verbesserte das Ergebnis - und nach Optimierung der Ausrichtung konnte ich sogar alle Reflexionen entfernen.
Der 'Hotspot' in direkter LED-Achse ist noch vorhanden - aber wesentlich schwächer und lässt sich bei mir 'unterhalb' des Zählwerks positionieren, wo er nicht stört.Anbei die Bilder:
Original ohne Filter/Satinato
Nur Polarisationsfilter vor Linse und Blitz
Nur 2* Satinato vor Blitz ohne Polarisationsfilter
Mit 2* Satinato und Polarfilter
Mit 2* Satinato und Polarfilter nach Optimierung der Kamera-Ausrichtung
Auf die Werte-Validierung kann ich leider nicht verzichten, da ich über KNX zu einem 'zufälligen' Zeitpunkt Werte abgreife und sicher seien muss, dass in diesem Moment ein 'plausibler' Wert vorliegt.
Wobei die letzte Ziffer nur 0,1 KW Schritte darstellt - von daher sind die 'Schwankungen' um max. 1 kw im Gesamtverbrauch vertretbar.
Aber ich rechne auch über die Werte aktuell die momentane Kessel-Leistung zurück - und da wird dann die Messwert-Differenz zwischen 2 Messungen *10 * 12 (also *120 in Summe) genommen (bei 5 Minuten Messungen) - und dann ist eine Schwankung um die letzte Stelle eine Schwankung in der Brennerleistung um bis zu 12 kw - und dass ist dann schon wieder viel...
Von daher ist der Ansatz mit einem individuellem Training durchaus interessant...
Muss mir das Thema auch mal genauer anschauen, wie das geht...Aber Jomjol hat ja auch auf Github schon geschrieben, dass er an dem Thema eh auch schon dran ist - was ein dickes Lob und Dankeschön verdient
-
Kamera-Auflösung
Die Kamera vom ESP32 schafft doch eine Auflösung von bis zu UXGA (1600 x 1200), oder?
Wäre es nicht ggf. auch interessant, ein Bild mit einer 'höheren' Auflösung aufzunehmen und dann einen 'interessanten Bereich' von 640 × 480 (VGA) innerhalb des Bildes für die weitere Verarbeitung zu selektieren?Damit könnte man den Bildausschnitt präziser über die Ziffern legen und die Kamera noch etwas 'freier' platzieren und zeitgleich trotzdem mit der geringen Auflösung des Ausschnitts CPU-optimiert weiterarbeiten bei gleichzeitig maximaler Auflösung/Größe der Ziffern.
-
@mann7 sagte in Wasserzähler - Version 2 - all-in-device:
Kamera-Auflösung
Die Kamera vom ESP32 schafft doch eine Auflösung von bis zu UXGA (1600 x 1200), oder?
Wäre es nicht ggf. auch interessant, ein Bild mit einer 'höheren' Auflösung aufzunehmen und dann einen 'interessanten Bereich' von 640 × 480 (VGA) innerhalb des Bildes für die weitere Verarbeitung zu selektieren?Damit könnte man den Bildausschnitt präziser über die Ziffern legen und die Kamera noch etwas 'freier' platzieren und zeitgleich trotzdem mit der geringen Auflösung des Ausschnitts CPU-optimiert weiterarbeiten bei gleichzeitig maximaler Auflösung/Größe der Ziffern.
Ein UXGA-Bild hat im Rohformat 5.6MByte, das alleine sind schon mehr 4 MByte des Speichers (Vergleich VGA: 0.9MByte). Dass läßt sich nicht mehr bearbeiten. Man könnte es auch als JPG ablegen, aber dann funktionieren die selbst geschriebenen Bildverarbeitungsroutinen nicht mehr.
-
@bananajoe ich mag das mal probieren, es einfach zu beschreiben. Kannst Du sagen, wo Du zum Beispiel ausgestiegen bist? Das hilft mir schonmal für den Einstieg
-
@moosham Öhm gleich am Anfang ... Die Beschreibung wie man die Bilddaten aufbereiten soll sind noch ok, und dann kommt unten "How to Train the Network" und da war ich raus. Auf der Seite danach hat mein erster Klick auf Train_CNN_Digital-Readout.ipynb gleich ein 404 erzeugt.
Mir ist auch noch unklar in was für einer Umgebung ich das trainiere - also in einem lokalen Linux oder in der Cloud?
-
@jomjol ich habe eine grundlegende Frage. Ich habe hier zwei ESP32-CAM Module liegen. Beide kann ich ohne Fehler flashen. Ich kann auch über die Arduino IDE ein LED Blink Programm hochladen. Die Module sind also in Ordnung und flashen geht.
Nach dem flashen hab ich noch die SD Karte formatiert und die Daten kopiert. Meine WLAN Einstellungen eingetragen und das Modul gestartet ... und es passiert nichts. Nichtmal eine LED gibt ein Lebenszeichen von sich.
Was mache ich falsch? Woran kann das liegen?
VG
Martin -
Ähnliches habe ich hier auch. Nachdem ich bei einer von vier Kameras beim Lösen des Siegellackes leider eine Kamera beschädigt hatte, habe ich gedacht ich bestell mir einfach ein neues Modul in D-Land inkl. USB Adapter...der erste funktionierte schlicht nicht, bzw. ich habe es nicht geschafft ihn auch nur zu flashen. Also neues bestellt.
Beim zweiten war bereits bei Lieferung die Kamera zerbrochen (Danke an den Transporteur ), beim dritten konnte ich flashen, aber wie ich feststellen musste, ist die Kamera nicht verstellbar, da ein anderes Modell verbaut ist, was ich auf dem Foto nicht gesehen habeDie Kamera vom zweiten Modul passt zwar auf die letzte Version, scheint aber defekt zu sein, da mit dieser Kamera eingesteckt das Board genauso wie bei Dir reagiert, nämlich nicht mehr startet
Lange Rede, kurzer Sinn: Die Kamera könnte das Problem sein...
-
@joergh said in Wasserzähler - Version 2 - all-in-device:
@speerwerfer
...
Lange Rede, kurzer Sinn: Die Kamera könnte das Problem sein...Leider ist es nicht die Cam. Ich habe das Modul gerade mit dem ESP32 Camera Example aus der Arduino IDE geflasht. Es meldet sich ordnungsgemäß im WLAN an und überträgt auch Bilder.
Kann die SD Karte hier ein Problem sein?
-
So, ich hab eben extra noch ne neue SD Karte geholt. Hat leider nichts geholfen. Das Modul wird über ein 1A USB Netzteil versorgt, daran kann es also auch nicht liegen ...
Über den seriellen Monitor sehe ich das hier:
ets Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:4 load:0x3fff0034,len:7248 ho 0 tail 12 room 4 load:0x40078000,len:13856 load:0x40080400,len:4052 entry 0x40080688 [0;32mI (31) boot: ESP-IDF 3.40100.200827 2nd stage bootloader[0m [0;32mI (31) boot: compile time 21:55:31[0m [0;32mI (31) boot: chip revision: 1[0m [0;32mI (34) boot_comm: chip revision: 1, min. bootloader chip revision: 0[0m [0;32mI (41) boot.esp32: SPI Speed : 40MHz[0m [0;32mI (46) boot.esp32: SPI Mode : DIO[0m [0;32mI (50) boot.esp32: SPI Flash Size : 4MB[0m [0;32mI (55) boot: Enabling RNG early entropy source...[0m [0;32mI (60) boot: Partition Table:[0m [0;32mI (64) boot: ## Label Usage Type ST Offset Length[0m [0;32mI (71) boot: 0 nvs WiFi data 01 02 00009000 00004000[0m [0;32mI (79) boot: 1 otadata OTA data 01 00 0000d000 00002000[0m [0;32mI (86) boot: 2 phy_init RF data 01 01 0000f000 00001000[0m [0;32mI (94) boot: 3 ota_0 OTA app 00 10 00010000 001db000[0m [0;32mI (101) boot: 4 ota_1 OTA app 00 11 001f0000 001db000[0m [0;32mI (109) boot: End of partition table[0m [0;32mI (113) boot_comm: chip revision: 1, min. application chip revision: 0[0m [0;32mI (120) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x511d4 (332244) map[0m [0;32mI (273) esp_image: segment 1: paddr=0x000611fc vaddr=0x3ffb0000 size=0x05050 ( 20560) load[0m [0;32mI (283) esp_image: segment 2: paddr=0x00066254 vaddr=0x40080000 size=0x00404 ( 1028) load[0m [0;32mI (284) esp_image: segment 3: paddr=0x00066660 vaddr=0x40080404 size=0x099b8 ( 39352) load[0m [0;32mI (310) esp_image: segment 4: paddr=0x00070020 vaddr=0x400d0020 size=0x123240 (1192512) map[0m [0;32mI (826) esp_image: segment 5: paddr=0x00193268 vaddr=0x40089dbc size=0x12df8 ( 77304) load[0m [0;32mI (881) boot: Loaded app from partition at offset 0x10000[0m [0;32mI (881) boot: Disabling RNG early entropy source...[0m [0;32mI (882) psram: This chip is ESP32-D0WD[0m [0;31mE (886) cpu_start: Failed to init external RAM![0m abort() was called at PC 0x40081bdf on core 0 ELF file SHA256: d31ca3157c9027f1 Backtrace: 0x4008cfb0:0x3ffe3c00 0x4008d3e1:0x3ffe3c20 0x40081bdf:0x3ffe3c40 0x4007931a:0x3ffe3c80 |<-CORRUPTED Re-enable cpu cache. Rebooting...
-
@speerwerfer sagte in Wasserzähler - Version 2 - all-in-device:
So, ich hab eben extra noch ne neue SD Karte geholt. Hat leider nichts geholfen. Das Modul wird über ein 1A USB Netzteil versorgt, daran kann es also auch nicht liegen ...
Über den seriellen Monitor sehe ich das hier:
ets Jun 8 2016 00:22:57 rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:2 load:0x3fff0030,len:4 load:0x3fff0034,len:7248 ho 0 tail 12 room 4 load:0x40078000,len:13856 load:0x40080400,len:4052 entry 0x40080688 [0;32mI (31) boot: ESP-IDF 3.40100.200827 2nd stage bootloader[0m [0;32mI (31) boot: compile time 21:55:31[0m [0;32mI (31) boot: chip revision: 1[0m [0;32mI (34) boot_comm: chip revision: 1, min. bootloader chip revision: 0[0m [0;32mI (41) boot.esp32: SPI Speed : 40MHz[0m [0;32mI (46) boot.esp32: SPI Mode : DIO[0m [0;32mI (50) boot.esp32: SPI Flash Size : 4MB[0m [0;32mI (55) boot: Enabling RNG early entropy source...[0m [0;32mI (60) boot: Partition Table:[0m [0;32mI (64) boot: ## Label Usage Type ST Offset Length[0m [0;32mI (71) boot: 0 nvs WiFi data 01 02 00009000 00004000[0m [0;32mI (79) boot: 1 otadata OTA data 01 00 0000d000 00002000[0m [0;32mI (86) boot: 2 phy_init RF data 01 01 0000f000 00001000[0m [0;32mI (94) boot: 3 ota_0 OTA app 00 10 00010000 001db000[0m [0;32mI (101) boot: 4 ota_1 OTA app 00 11 001f0000 001db000[0m [0;32mI (109) boot: End of partition table[0m [0;32mI (113) boot_comm: chip revision: 1, min. application chip revision: 0[0m [0;32mI (120) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x511d4 (332244) map[0m [0;32mI (273) esp_image: segment 1: paddr=0x000611fc vaddr=0x3ffb0000 size=0x05050 ( 20560) load[0m [0;32mI (283) esp_image: segment 2: paddr=0x00066254 vaddr=0x40080000 size=0x00404 ( 1028) load[0m [0;32mI (284) esp_image: segment 3: paddr=0x00066660 vaddr=0x40080404 size=0x099b8 ( 39352) load[0m [0;32mI (310) esp_image: segment 4: paddr=0x00070020 vaddr=0x400d0020 size=0x123240 (1192512) map[0m [0;32mI (826) esp_image: segment 5: paddr=0x00193268 vaddr=0x40089dbc size=0x12df8 ( 77304) load[0m [0;32mI (881) boot: Loaded app from partition at offset 0x10000[0m [0;32mI (881) boot: Disabling RNG early entropy source...[0m [0;32mI (882) psram: This chip is ESP32-D0WD[0m [0;31mE (886) cpu_start: Failed to init external RAM![0m abort() was called at PC 0x40081bdf on core 0 ELF file SHA256: d31ca3157c9027f1 Backtrace: 0x4008cfb0:0x3ffe3c00 0x4008d3e1:0x3ffe3c20 0x40081bdf:0x3ffe3c40 0x4007931a:0x3ffe3c80 |<-CORRUPTED Re-enable cpu cache. Rebooting...
Schau die mal die Fehlermeldung genau an:
Das sieht sehr danach aus, als dein externer PSRAM nicht funktioniert. Zu dem Zeitpunkt ist die Firmware noch nicht mal geladen.
-
@jomjol said in Wasserzähler - Version 2 - all-in-device:
Das sieht sehr danach aus, als dein externer PSRAM nicht funktioniert. Zu dem Zeitpunkt ist die Firmware noch nicht mal geladen.
Hast du ne Idee, wie ich das am einfachsten testen kann.