NEWS
Wasserzähler - Version 2 - all-in-device
-
@spaceduck
Bei Updates musst Du selber kontrollieren was sich in der Config geändert hat und diese Dinge eigenständig in Deiner Config auf dem ESP nachtragen! -
Hallo Liebe IO Brocker Community,
Erstmal danke an den Entwickler für dieses tolle Projekt.
Ich habe soweit (auch schon den 2th) ESP32-Cam geflascht, dieses klappte auch alles ohne Probleme, die Daten aus SD-Card habe ich auf eine 8GB ScanDisk Industrial Gepackt (Natrülich ins Root verzeichnis) gepackt.
=> SD als FAT32 formatiert
=> Sie wurde bereits mehrmals formatiert und neu bespielt
Update(Hatte noch eine 32 GB rumliegen, eine Partion mit 8Gb erstellt und probiert, selbes problem)Leider passiert rein garnichts.
Über die Serielle Schnittstelle fand ich nun folgendes Heraus:
[0;32mI (4259) connect_wlan_main: Initializing SD card[0m [0;31mE (4279) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107[0m [0;31mE (4279) connect_wlan_main: Failed to initialize the card (263). Make sure SD card lines have pull-up resistors in place.[0m
Und
File is locked: /sdcard/wlan.ini - wait for 1
Hat jemand eine Lösung für mich.
Danke für euere Mühe.Acer90
P.S.
Hier noch ein ganzer Auszug:
rst:0x8 (TG1WDT_SYS_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:7140 load:0x40078000,len:13856 load:0x40080400,len:4052 entry 0x40080688 [0;32mI (58) boot: ESP-IDF 3.40100.200827 2nd stage bootloader[0m [0;32mI (58) boot: compile time 19:51:06[0m [0;32mI (58) boot: chip revision: 1[0m [0;32mI (62) boot_comm: chip revision: 1, min. bootloader chip revision: 0[0m [0;32mI (69) boot.esp32: SPI Speed : 40MHz[0m [0;32mI (74) boot.esp32: SPI Mode : DIO[0m [0;32mI (78) boot.esp32: SPI Flash Size : 4MB[0m [0;33mW (83) boot.esp32: PRO CPU has been reset by WDT.[0m [0;33mW (88) boot.esp32: WDT reset info: PRO CPU PC=0x400803c0[0m [0;33mW (94) boot.esp32: WDT reset info: APP CPU PC=0x4008e7db[0m [0;32mI (100) boot: Enabling RNG early entropy source...[0m [0;32mI (106) boot: Partition Table:[0m [0;32mI (109) boot: ## Label Usage Type ST Offset Length[0m [0;32mI (117) boot: 0 nvs WiFi data 01 02 00009000 00004000[0m [0;32mI (124) boot: 1 otadata OTA data 01 00 0000d000 00002000[0m [0;32mI (132) boot: 2 phy_init RF data 01 01 0000f000 00001000[0m [0;32mI (139) boot: 3 ota_0 OTA app 00 10 00010000 001db000[0m [0;32mI (147) boot: 4 ota_1 OTA app 00 11 001f0000 001db000[0m [0;32mI (154) boot: End of partition table[0m [0;32mI (159) boot_comm: chip revision: 1, min. application chip revision: 0[0m [0;32mI (166) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x4c730 (313136) map[0m [0;32mI (310) esp_image: segment 1: paddr=0x0005c758 vaddr=0x3ffb0000 size=0x038c0 ( 14528) load[0m [0;32mI (318) esp_image: segment 2: paddr=0x00060020 vaddr=0x400d0020 size=0x15f514 (1438996) map[0m [0;32mI (940) esp_image: segment 3: paddr=0x001bf53c vaddr=0x3ffb38c0 size=0x01860 ( 6240) load[0m [0;32mI (944) esp_image: segment 4: paddr=0x001c0da4 vaddr=0x40080000 size=0x00404 ( 1028) load[0m [0;32mI (948) esp_image: segment 5: paddr=0x001c11b0 vaddr=0x40080404 size=0x1ee54 (126548) load[0m [0;32mI (1035) boot: Loaded app from partition at offset 0x10000[0m [0;32mI (1036) boot: Disabling RNG early entropy source...[0m [0;32mI (1036) psram: This chip is ESP32-D0WD[0m [0;32mI (1042) spiram: Found 64MBit SPI RAM device[0m [0;32mI (1045) spiram: SPI RAM mode: flash 40m sram 40m[0m [0;32mI (1051) spiram: PSRAM initialized, cache is in low/high (2-core) mode.[0m [0;32mI (1058) cpu_start: Pro cpu up.[0m [0;32mI (1062) cpu_start: Application information:[0m [0;32mI (1067) cpu_start: Project name: esp32cam-server-only[0m [0;32mI (1073) cpu_start: App version: 0.0.9.3[0m [0;32mI (1078) cpu_start: Compile time: Jan 20 2021 19:48:33[0m [0;32mI (1084) cpu_start: ELF file SHA256: b9ffc04c8ab59a15...[0m [0;32mI (1090) cpu_start: ESP-IDF: 3.40100.200827[0m [0;32mI (1096) cpu_start: Starting app cpu, entry point is 0x40081c30[0m [0;32mI (0) cpu_start: App cpu up.[0m [0;32mI (1988) spiram: SPI SRAM memory test OK[0m [0;32mI (1988) heap_init: Initializing. RAM available for dynamic allocation:[0m [0;32mI (1989) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM[0m [0;32mI (1995) heap_init: At 3FFC2AC8 len 0001D538 (117 KiB): DRAM[0m [0;32mI (2001) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM[0m [0;32mI (2007) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM[0m [0;32mI (2014) heap_init: At 4009F258 len 00000DA8 (3 KiB): IRAM[0m [0;32mI (2020) cpu_start: Pro cpu start user code[0m [0;32mI (2025) spiram: Adding pool of 4096K of external SPI memory to heap allocator[0m [0;32mI (2050) spi_flash: detected chip: generic[0m [0;32mI (2051) spi_flash: flash io: dio[0m [0;32mI (2051) cpu_start: Starting scheduler on PRO CPU.[0m [0;32mI (0) cpu_start: Starting scheduler on APP CPU.[0m [0;32mI (2059) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations[0m Do Reset Camera [0;32mI (2069) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 [0m Init Camera [0;32mI (4079) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4079) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4079) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4089) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4099) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4109) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4119) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4129) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4139) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4149) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4159) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 [0m [0;32mI (4169) sccb: pin_sda 26 pin_scl 27 [0m [0;32mI (4169) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 [0m [0;32mI (4319) camera: Detected OV2640 camera[0m [0;32mI (4319) camera: Allocating 1 frame buffers (150 KB total)[0m [0;32mI (4339) camera: Allocating 150 KB frame buffer in OnBoard RAM[0m [0;32mI (4909) connect_wlan_main: Initializing SD card[0m [0;31mE (4929) sdmmc_common: sdmmc_init_ocr: send_op_cond (1) returned 0x107[0m [0;31mE (4929) connect_wlan_main: Failed to initialize the card (263). Make sure SD card lines have pull-up resistors in place.[0m [0;32mI (4939) server_ota: Start CheckOTAUpdateCheck ...[0m Start CheckOTAUpdateCheck ... [0;32mI (4959) server_ota: SHA-256 for the partition table: : 9d4a2809ae90fb20709a8ca3dd3ac3462e1e73286bcd31b689060c91de06fa3a[0m [0;32mI (5019) server_ota: SHA-256 for bootloader: : 15f52f58b38b015f8d77a7fd637080c32b397905d47e4ca1bf5bbf1c6abe34bf[0m [0;32mI (5749) server_ota: SHA-256 for current firmware: : 9e85de4055be332de6ebd46bca00b10d3bbdb260efcb2c79c0f0bfc418eeb3da[0m CheckOTAUpdate Partition: ESP_OK File is locked: /sdcard/wlan.ini - wait for 1 Logfile opened:
UPDATE: die dritte SD Karte hat funktionert
-
@acer90 Manchmal ist es echt zum Verzweifeln mit den SD-Cards ..... diese Erfahrung haben die meisten von uns auch schon machen müssen .....
-
Ich lese hier schon ein Weilchen mit - super Projekt! Danke dafür!
Ich habe endlich die Muße, das Projekt nachzubauen, scheitere jedoch an der Installation.
Ich nutze unter Linux das esptool (wie in de Installationsbeschreibung unter 1.)
Flash löschen klappt.
Beim write_flash erhalte ich die Fehlermeldung:esptool write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: partition.bin
Hmm ... scheinbar hatte hier diesen Fehler noch keiner (zumindest hat meine Suche im Forum und auf Github nichts ergeben).
Ich habe dann die Variante mit Python3 von WernerS aus Beitrag 80 probiert:python3 esptool.py write_flash: error: argument <address> <filename>: Detected overlap at address: 0x8000 for file: partition.bin
... mit den aktuellsten esptool.py von espressif (von github) - da bekomme ich aber einen Syntax Error im esptool.py
Dann habe ich testweise einen Sketch in der Arduino IDE auf den ESP hochgeladen - das hat geklappt.
Danach habe ich einen anderen ESP32-CAM ausprobiert und alles wiederholt - gleiches Problem.Kann jemand bei der Problemlösung helfen?
-
@rennigel
Hallo, hab schon 5 Stück mit esptool geflasht und aufs erste mal hat es leider nie geklappt.
Scheinbar sind die ESP32-CAM auch nicht alle gleich.
Ich verbinde dabei den GPIO 0 fest mit Masse und drücke die Reset Taste am ESP32-CAM selbst vor Programm Start und lasse dann los.
Vorher setze ich die Haken bei den drei Dateien nochmal neu. Manchmal Starte ich auch das esptool neu.
Also nicht verzeifeln.
Die Taste Combine ist auch aus, oder?
Ich hab jetzt ein ESP32-CAM Modul mit USB Schnittstelle gekauft und damit ging es sofort.
Das Modul ist da ja nur aufgesteckt und ich hab Interessehalber auch gleich ein zweites ESP32 geflasht. -
@hasont sagte in Wasserzähler - Version 2 - all-in-device:
@rennigel
Hallo, hab schon 5 Stück mit esptool geflasht und aufs erste mal hat es leider nie geklappt.
Scheinbar sind die ESP32-CAM auch nicht alle gleich.
Ich verbinde dabei den GPIO 0 fest mit Masse und drücke die Reset Taste am ESP32-CAM selbst vor Programm Start und lasse dann los.
Vorher setze ich die Haken bei den drei Dateien nochmal neu. Manchmal Starte ich auch das esptool neu.
Also nicht verzeifeln!
Die Taste Combine ist auch aus, oder? > Die Meldung mit den Overlap kenne ich so nicht.
Ich hab jetzt ein ESP32-CAM Modul mit USB Schnittstelle gekauft und damit ging es sofort.
Das Modul ist da ja nur aufgesteckt und ich hab Interessehalber auch gleich ein zweites ESP32 geflasht. -
@hasont
Danke für Deine Antwort!
GPIO 0 habe ich mit GND gebrückt und vor Flash-Erase und -Write dücke auch jeweils einmal die Reset Taste.
Ich starte das Flashen aber von der Kommandozeile, somit sind da keine Haken zu setzen. Ich bin strikt nach jomjols Antleitung vorgegangen.Ich fürchtete auch schon, dass es kleine Unterschiede zwischen den Modulen gibt - in diesem Falle müsste der Unterschied ja gemäß der Fehlermeldung in der Speicheraufteilung sein ...? Und mit Speicheradressierung kenne ich mich leider so gar nicht aus, aber vielleicht hat ja jemand mit tieferen Programmierkenntnissen als ich einen Tipp.
In der Zwischenzeit folge ich Deinem Rat, es einfach nochmal und nochmal zu probieren (auch wenn das nicht sehr motivierend ist ).
-
@rennigel
Die Reset Taste Drücke ich kurz vor dem Flash und lass die erst kurz nach dem Flashbeginn los.
Dass die Taste Combine aus sein muss hast du gesehen? -
@hasont
Jetzt stehe ich auf dem Schlauch ... wo ist die Combine Taste?
Am ESP32?
Oder im esptool?
Wenn letzteres, wie gesagt, ich starte esptool über Command Line, da habe ich keine GUI und somit auch keine Combine Taste ...Was mir noch auffiel: Während beim erase_flash erstmal im Terminal einige Rückmeldungen kommen ("esptool.py V3.0 ... Found 1 Serial Port ... Serial poer /dev/ttyUSB0 .... Connecting ...." usw.) bevor der eigentliche Löschvorgang startet, kommt beim write_flash die o.g. Fehlermeldung nahezu unmittelbar nach dem Drücken der Enter-Taste. Wie es scheint also bevor überhaupt eine Verbindung zum ESP aufgebaut wurde.
Nochwas: Wenn ich den flash-Befehl testweise verkürzeesptool write_flash 0x01000 bootloader.bin
oder auch
esptool write_flash 0x08000 partitions.bin
läuft der Prozess durch, eine einzelne bin-Datei wird also geschrieben, mehrere scheinbar nicht.
Und das "Combine" klingt so als hätte was mit mehreren Dateien zu tun ... -
@rennigel
Ich verwende da das ESP32 Tool und da sieht es am Bild in der Mitte so aus als wäre Combine an.
Über Command Line hab ich noch nichts gemacht.
-
Problem gelöst, Ursache lag in fehlerhaften Downloads der drei Dateien.
Ich schaute mir die Dateigrößen an und die kamen mir spanisch vor. Ich hatte unterwegs was davon gelesen, dass man nicht mit "save as ..." Dateien aus Github speichern soll. Also sicherheitshalber nochmal runtergeladen mit dem Download-Button. Jetzt waren die Dateien deutlich kleiner. Und dann klappte auch das flashen.
... nur falls jemand anderes mal dasselbe Problem hat und die Lösung sucht ...
Danke für die Unterstützung!Ich mache dann jetzt mal weiter mit der Installation.
-
@jomjol bei einem von meinen beiden Zählern hat es die SD-Karte wohl wieder geschrottet. Bevor ich neu aufsetze dachte ich mir, ich schaue mal ins Git was so passiert ist und sehe du hast die Tage einen neuen Stand verteilt der SD-Karte (so wie ich das aus dem Log sehen) schont. https://github.com/jomjol/AI-on-the-edge-device/releases/tag/v6.1.0
Hab ich das richtig verstanden, dass jetzt die Auswertung im RAM passiert statt auf der SD? -
@watcherkb Ja, dass ist korrekt. Ein Großteil der Bearbeitung findet jetzt im Speicher statt, quasi das komplette /tmp_img/ Verzeichniss wird nicht benötigt.
-
@jomjol Das mit der 6.1.0 ist ja nun still und heimlich gegangen, sollen wir schon einspielen und testen? Liebe Grüße
Paul -
@jomjol Könntest Du bitte wenn mal Zeit ist mir den "3" mit einlernen, der wird sehr oft als "9" interpretiert.
-
Hilfe bitte. Ich kann es nicht zum Laufen bringen.
Re-enable cpu cache. Rebooting... ets Jun 8 2016 00:22:57 rst:0xc (SW_CPU_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:1 load:0x3fff0030,len:4 load:0x3fff0034,len:7140 load:0x40078000,len:13856 load:0x40080400,len:4052 entry 0x40080688 [0;32mI (29) boot: ESP-IDF 3.40100.200827 2nd stage bootloader[0m [0;32mI (29) boot: compile time 19:51:06[0m [0;32mI (29) boot: chip revision: 1[0m [0;32mI (33) boot_comm: chip revision: 1, min. bootloader chip revision: 0[0m [0;32mI (40) boot.esp32: SPI Speed : 80MHz[0m [0;32mI (44) boot.esp32: SPI Mode : DIO[0m [0;32mI (49) boot.esp32: SPI Flash Size : 4MB[0m [0;32mI (53) boot: Enabling RNG early entropy source...[0m [0;32mI (59) boot: Partition Table:[0m [0;32mI (62) boot: ## Label Usage Type ST Offset Length[0m [0;32mI (70) boot: 0 nvs WiFi data 01 02 00009000 00004000[0m [0;32mI (77) boot: 1 otadata OTA data 01 00 0000d000 00002000[0m [0;32mI (85) boot: 2 phy_init RF data 01 01 0000f000 00001000[0m [0;32mI (92) boot: 3 ota_0 OTA app 00 10 00010000 001db000[0m [0;32mI (99) boot: 4 ota_1 OTA app 00 11 001f0000 001db000[0m [0;32mI (107) boot: End of partition table[0m [0;32mI (111) boot_comm: chip revision: 1, min. application chip revision: 0[0m [0;32mI (118) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x4c730 (313136) map[0m [0;32mI (244) esp_image: segment 1: paddr=0x0005c758 vaddr=0x3ffb0000 size=0x038c0 ( 14528) load[0m [0;32mI (250) esp_image: segment 2: paddr=0x00060020 vaddr=0x400d0020 size=0x15f514 (1438996) map[0m [0;32mI (788) esp_image: segment 3: paddr=0x001bf53c vaddr=0x3ffb38c0 size=0x01860 ( 6240) load[0m [0;32mI (791) esp_image: segment 4: paddr=0x001c0da4 vaddr=0x40080000 size=0x00404 ( 1028) load[0m [0;32mI (795) esp_image: segment 5: paddr=0x001c11b0 vaddr=0x40080404 size=0x1ee54 (126548) load[0m [0;32mI (875) boot: Loaded app from partition at offset 0x10000[0m [0;32mI (875) boot: Disabling RNG early entropy source...[0m [0;32mI (876) psram: This chip is ESP32-D0WD[0m [0;31mE (881) cpu_start: Failed to init external RAM![0m abort() was called at PC 0x40081ce9 on core 0 ELF file SHA256: b9ffc04c8ab59a15 Backtrace: 0x4008e3e9:0x3ffe3c00 0x4008e785:0x3ffe3c20 0x40081ce9:0x3ffe3c40 0x4007931a:0x3ffe3c80 |<-CORRUPTED
-
@jorge-santisteban-pozas Welchen ESP verwendest du den genau? Sieht so aus, als ob es kein PSRAM hat. Das sollte aber bei einem ESP32CAM nicht der Fall sein.
-
Hallo Jomjol,
erst mal ein sehr großes Lob für dein Projekt. Leider habe ich einen neuen Wasserzähler bekommen, der etwas anders aufgebaut ist. Die dritte Nachkommastelle müsste digital ausgelesen werden. Wäre das machbar?
Ich bin mir auch noch nicht sicher ob die zweite Nachkommastelle überhaupt richtig erkannt wird da hier eine Aufnahme für einen Sensor fest im Klarsichtdeckel integriert ist.Gibt es auch eine Möglichkeit den Zählerstand an Thinkspeak zu senden?
Grüße
mirtl76 -
@mirtl76 Hallo Mirtl,
das Auslesen der 3. Stelle ist so momentan nicht möglich. Das würde ein größeres Eingreifen in die Programmlogik und Aufbau bedeuten, da ich ja dann 3 Arten von Ziffern habe (Digitale Ziffer, Analoge Zeiger & digitale Ziffern von links nach rechts).
Der Aufwand dafür wäre eher groß und ist nicht auf der Roadmap. Wenn es zu einem größeren Thema wird, müsste man sich das mal anschauen.Gruß,
jomjol -
@jomjol Grüß dich. Hab ein Problem dass die alten Dateien im log Ordner nicht bereinigt werden obwohl das in der ini aktiviert ist. Auch lassen sich Ordner nicht löschen wenn darin Dateien vorhanden sind. Wenn der Ordner leer ist dann lässt er sich aber löschen. Bin übrigens noch auf dem master - v4.0.0 - 2020-11-15 Branch. Wollte demnächst mal updaten wenn mehr Zeit ist.