NEWS
Wasserzähler - Version 2 - all-in-device
-
@michaeljoos Ist aber auch OK!
-
@michaeljoos sagte in Wasserzähler - Version 2 - all-in-device:
@pfried Aber eventuell müssen wir das noch in die "wasserzaehler_roi.html" zügeln, weil in der index.html wird dann auch "reloaded" wen man sich auf einer anderen Page befindet. Und das ist nicht schön. Ich teste mal noch ein bisschen weiter.
Wenn du eine Version hast, dann schick sie mir oder mach eine Pull-Request in GitHub, dann landet sie im Source Code.
Danke für deine Untertützung! -
ich habe eine neue ESP-CAM bekommen und wollte frisch rolling draufmachen. die bootet aber nicht .. also auf master gewechselt und noch mal geflasht .. läuft ... da is irgend was kaputt ..
so habe ich geflasht .. mehrere verschiedene versionen .. nur master läuft .. natürlich habe ich auch immer die sd card neu bespielt ...
esptool.py --port /dev/ttyUSB0 write_flash 0x1000 firmware/bootloader.bin 0x8000 firmware/partitions.bin 0x10000 firmware/firmware.bin esptool.py v3.0-dev Serial port /dev/ttyUSB0 Connecting........ Detecting chip type... ESP32 Chip is ESP32-D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: f0:08:d1:c8:ff:bc Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Compressed 26448 bytes to 15220... Wrote 26448 bytes (15220 compressed) at 0x00001000 in 1.3 seconds (effective 157.6 kbit/s)... Hash of data verified. Compressed 3072 bytes to 128... Wrote 3072 bytes (128 compressed) at 0x00008000 in 0.0 seconds (effective 1433.9 kbit/s)... Hash of data verified. Compressed 1636656 bytes to 903271... Wrote 1636656 bytes (903271 compressed) at 0x00010000 in 79.8 seconds (effective 164.1 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
jetzt wollt ich gerade das log vom booten anhängen .. hab gesehen das es weg ist und bin noch mal zurück auf rolling nach dem es ja mit master ging... nu bootet er auch mit rolling .. WTF
ich teste das gleich mit der anderen noch mal .. bin ich jetzt depert oder was?
SOOOOOOO
da isser wieder ...
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:2 load:0x3fff0018,len:4 load:0x3fff001c,len:7024 ho 0 tail 12 room 4 load:0x40078000,len:14872 ho 0 tail 12 room 4 load:0x40080400,len:4452 entry 0x400806e8 ␛[0;32mI (76) boot: Chip Revision: 1␛[0m ␛[0;32mI (77) boot_comm: chip revision: 1, min. bootloader chip revision: 0␛[0m ␛[0;32mI (43) boot: ESP-IDF GIT-NOTFOUND 2nd stage bootloader␛[0m ␛[0;32mI (43) boot: compile time 09:57:40␛[0m ␛[0;32mI (43) boot: Enabling RNG early entropy source...␛[0m ␛[0;32mI (48) boot: SPI Speed : 40MHz␛[0m ␛[0;32mI (53) boot: SPI Mode : DIO␛[0m ␛[0;32mI (57) boot: SPI Flash Size : 4MB␛[0m ␛[0;32mI (61) boot: Partition Table:␛[0m ␛[0;32mI (64) boot: ## Label Usage Type ST Offset Length␛[0m ␛[0;32mI (72) 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=0x43424 (275492) map␛[0m ␛[0;32mI (228) esp_image: segment 1: paddr=0x0005344c vaddr=0x3ffb0000 size=0x047cc ( 18380) load␛[0m ␛[0;32mI (236) esp_image: segment 2: paddr=0x00057c20 vaddr=0x40080000 size=0x00400 ( 1024) load␛[0m ␛[0;32mI (236) esp_image: segment 3: paddr=0x00058028 vaddr=0x40080400 size=0x07fe8 ( 32744) load␛[0m ␛[0;32mI (258) esp_image: segment 4: paddr=0x00060018 vaddr=0x400d0018 size=0x12a478 (1221752) map␛[0m ␛[0;32mI (695) esp_image: segment 5: paddr=0x0018a498 vaddr=0x400883e8 size=0x1545c ( 87132) load␛[0m ␛[0;32mI (732) esp_image: segment 6: paddr=0x0019f8fc vaddr=0x50000000 size=0x00004 ( 4) load␛[0m ␛[0;32mI (750) boot: Loaded app from partition at offset 0x10000␛[0m ␛[0;32mI (751) boot: Disabling RNG early entropy source...␛[0m ␛[0;32mI (751) psram: This chip is ESP32-D0WD␛[0m ␛[0;32mI (757) spiram: Found 64MBit SPI RAM device␛[0m ␛[0;32mI (760) spiram: SPI RAM mode: flash 40m sram 40m␛[0m ␛[0;32mI (765) spiram: PSRAM initialized, cache is in low/high (2-core) mode.␛[0m ␛[0;32mI (773) cpu_start: Pro cpu up.␛[0m ␛[0;32mI (776) cpu_start: Application information:␛[0m ␛[0;32mI (781) cpu_start: Project name: esp32cam-server-only␛[0m ␛[0;32mI (787) cpu_start: App version: 0.0.9.3␛[0m ␛[0;32mI (792) cpu_start: Compile time: Sep 11 2020 09:56:53␛[0m ␛[0;32mI (798) cpu_start: ELF file SHA256: 970f34661118f2ea...␛[0m ␛[0;32mI (804) cpu_start: ESP-IDF: GIT-NOTFOUND␛[0m ␛[0;32mI (810) cpu_start: Starting app cpu, entry point is 0x40081a94␛[0m ␛[0;32mI (795) cpu_start: App cpu up.␛[0m ␛[0;32mI (1702) spiram: SPI SRAM memory test OK␛[0m ␛[0;32mI (1702) heap_init: Initializing. RAM available for dynamic allocation:␛[0m ␛[0;32mI (1702) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM␛[0m ␛[0;32mI (1709) heap_init: At 3FFC22E8 len 0001DD18 (119 KiB): DRAM␛[0m ␛[0;32mI (1715) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM␛[0m ␛[0;32mI (1721) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM␛[0m ␛[0;32mI (1728) heap_init: At 4009D844 len 000027BC (9 KiB): IRAM␛[0m ␛[0;32mI (1734) cpu_start: Pro cpu start user code␛[0m ␛[0;32mI (1739) spiram: Adding pool of 4096K of external SPI memory to heap allocator␛[0m CreateClassCamera ␛[0;32mI (1765) spi_flash: detected chip: generic␛[0m ␛[0;32mI (1765) spi_flash: flash io: dio␛[0m ␛[0;32mI (1765) cpu_start: Starting scheduler on PRO CPU.␛[0m ␛[0;32mI (0) cpu_start: Starting scheduler on APP CPU.␛[0m ␛[0;32mI (1774) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations␛[0m Do Reset Camera ␛[0;32mI (1784) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 ␛[0m ␛[0;32mI (3804) connect_wlan_main: Initializing SD card␛[0m ␛[0;32mI (3804) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 ␛[0m Name: SU01G Type: SDSC Speed: 20 MHz Size: 968MB ␛[0;32mI (3874) server_ota: Start CheckOTAUpdateCheck ...␛[0m Start CheckOTAUpdateCheck ... ␛[0;32mI (3884) server_ota: SHA-256 for the partition table: : 9d4a2809ae90fb20709a8ca3dd3ac3462e1e73286bcd31b689060c91de06fa3a␛[0m ␛[0;32mI (3884) boot_comm: chip revision: 1, min. application chip revision: 0␛[0m ␛[0;32mI (3954) server_ota: SHA-256 for bootloader: : a3e4a45f8afdd87a4f06ce47f86e663c23ac4cb1b5e86bec6b571b846dd43fe3␛[0m ␛[0;32mI (3954) boot_comm: chip revision: 1, min. application chip revision: 0␛[0m ␛[0;32mI (4584) server_ota: SHA-256 for current firmware: : 99ca0e35b7ad64e6a4b5d55058b5265c9e5208bc39cb5c2ef1805a97f40a2c7f␛[0m CheckOTAUpdate Partition: ESP_OK abort() was called at PC 0x401044f6 on core 0 ELF file SHA256: 970f34661118f2ea Backtrace: 0x4008a115:0x3ffc3880 0x4008a4a1:0x3ffc38a0 0x401044f6:0x3ffc38c0 0x4016f770:0x3ffc38e0 0x401707fb:0x3ffc3900 0x400d2e3b:0x3ffc3920 0x400e38c7:0x3ffc3950 0x400d2f74:0x3ffc3fd0 0x40108c1d:0x3ffc4160 0x400936ad:0x3ffc4180
-
@jomjol So, fertig
Neue html.zip: (Zeitangabe *fehlende Null" gefixt!)
-
Graphischer "Feinschliff" (Tables, Input, Buttons, etc...)
-
Automatischer Refresh alle 5min auf der Overview-Seite (es werden nur das Bild und die Output-Werte neu geladen, nicht die ganze Page oder das IFrame. Realisiert mit jquery-3.5.1.min.js) --> **Achtung: Die jquery-3.5.1.min.js muss in das HTML-Verzeichnis kopiert werden. Am besten die gesamte html.zip mit OTA-Update hochladen & entpacken.
-
Dann hätte ich noch eine Idee: Können wir die aktuell installierte Firmware-Version z.B. hier anzeigen?
Ich glaube das wäre noch hilfreich . . . aber das kann ich nicht alleine implementieren
Feedback willkommen!
Gruss
Michael -
-
mmmmhhhh, gerade noch etwas unschönes entdeckt:
Muss ich noch formatieren (heute Nachmittag)
-
@michaeljoos sagte in Wasserzähler - Version 2 - all-in-device:
@jomjol So, fertig
Neue html.zip:
-
Graphischer "Feinschliff" (Tables, Input, Buttons, etc...)
-
Automatischer Refresh alle 5min auf der Overview-Seite (es werden nur das Bild und die Output-Werte neu geladen, nicht die ganze Page oder das IFrame. Realisiert mit jquery-3.5.1.min.js) --> Achtung: Die jquery-3.5.1.min.js muss in das HTML-Verzeichnis kopiert werden. Mit der OTA-Funktion wird diese Datei irgendwie nicht mit übertragen. Jedenfalls war das bei mir vorher der Fall... (kannst du das einmal anschauen @jomjol?)
-
Dann hätte ich noch eine Idee: Können wir die aktuell installierte Firmware-Version z.B. hier anzeigen?
Ich glaube das wäre noch hilfreich . . . aber das kann ich nicht alleine implementieren
Feedback willkommen!
Gruss
MichaelSuper danke, bin über das WE verreist und kümmere mich morgen oder Montag drum.
Das mit der Version habe ich mir auch schon überlegt. Muss mir noch überlegen, wie ich das möglichst automatisch hin bekomme.
-
-
@jomjol
Hallo,ich bin schon vor längeren auf dein Projekt gestoßen. sehr schön.
Bei mir läuft es im Moment ähnlich. USB-CAM am Raspi und mit ein paar Scripten werden dann die Zeiger richtungen erkannt. (openCV)
Ich möchte es gerne mit dem ESP32-CAM Modul machen.
Ich stoße aber im Moment an folgendes Problem:
Der Zähler hängt im Dunkeln und wenn ich eine Foto mit dem ESP32-CAM mache sind die Farben nicht immer konstant.
D.h. mal ist es rot, lila oder grün Stichig. Manchmal ist es richtig.Ich habe das Gefühl das die Kamera sich immer erst einstellt. (wenn ich das licht länger anlasse und das Foto dann später machen geht es besser)
Fragen:
- Wie länge lässt du das Licht an (on Board LED) befor du das Foto machts?
- Gibt es evtl. eine Einstellung (die ich noch nicht gefunden habe) um der Kamera zu sagen das sie immer mit den voreingestellten Einstellungen ein Foto machen soll? (so wie mit einem Blitzlicht -> kurz an -> Foto -> aus) ohne das die Kamera sich jedesmal lange einstellt?
Um in deinen Sourcen etwas zu finden bin ich zu wenig Softwerker.
Danke
-
Super danke, bin über das WE verreist und kümmere mich morgen oder Montag drum.
Das mit der Version habe ich mir auch schon überlegt. Muss mir noch überlegen, wie ich das möglichst automatisch hin bekomme.
@jomjol Habe jetzt meinen ersten "Pull Request" gemacht auf Github mit den Updates
-
@jomjol Hi, habe das Word File mit der Migration von alt auf neu System fertig. Wie soll ich Dir das für das Wiki zukommen lassen? Es ist jetzt reiner Text mit einem Beispiel, sag mir dann ob das OK ist.
-
@michaeljoos Neue html.zip eingespielt, geht super! Das mit der "Installed FW: xxxx" ist eine super Idee ...
-
Hallo @treerunner,
ich habe keine besonderen Einstellungen für die Kamera und habe 5s Wartezeit nach Einschalten der Beleuchtung.
Gruß,
jomjol -
@michaeljoos sagte in Wasserzähler - Version 2 - all-in-device:
Super danke, bin über das WE verreist und kümmere mich morgen oder Montag drum.
Das mit der Version habe ich mir auch schon überlegt. Muss mir noch überlegen, wie ich das möglichst automatisch hin bekomme.
@jomjol Habe jetzt meinen ersten "Pull Request" gemacht auf Github mit den Updates
Pull request ist in die Rolling eingespielt - bei mir funktioniert auch das Update der
jquery-3.5.1.min.js
automatisch, dazu muss man manuell das zip-File in /firmware updaten.Super vielen Dank für die Anpassung, sieht sehr gut aus und funktionert auch bei mir auf Anhieb. An der Versionierung bin ich dran. Kernpunkt ist, dass ich es automatisch machen will (per cmake), da da manuelle Anpassung zu fehleranfällig.
-
@pfried Schick es mir per Mail oder lade es hier einfach hoch.
Danke! -
@jomjol ESP Water-meter migration.docx
Mache sowas das erste Mal, kannst mir gerne ein E-Mail mit Änderungswünschen schreiben....
Liebe Grüße
Paul -
@jomjol
I2C Problem: Ich brauche einen zweiten I2C PortDie Kamera scheint über Software I2C angesteuert zu werden da die Parameter für HardwareI2C in der sdkconfig (CONFIG_SCCB_HARDWARE_I2C , CONFIG_SCCB_HARDWARE_I2C_PORT) nicht gesetzt sind.
Siehe dazu auch https://github.com/espressif/esp32-camera/blob/master/KconfigDas Problem tritt auf, wenn man den zweiten I2C Port benutzen will.
Ein direktes Eintragen in die sdkconfig funktioniert nicht, da diese bei jedem build neu geschrieben wird.Ich habe länger rumgesucht und keine Lösung zur Veränderung der sdkconfig gefunden. run -t menuconfig funktioniert bei mir nicht.
Wie hast Du die sdkconfig aus der sdkconfig.old erzeugt?
Beste Grüße
Hike -
@hike Ich verwende VSCode mit der Platformio Extension. Dort kannst du einen Terminal starten und dann dort über
platformio run -t menuconfig
den Editor starten.
Achtung: vorher das Terminalfenster groß ziehen, sonst kommt eine Fehlermeldung. -
@jomjol
Deine Achtung-Anmerkung ist die Lösung. Diesen Hinweis habe ich noch nirgendwo gesehen. Da muß man erst mal drauf kommen. Ich bin dutzendmale vorher in die Fehlermeldung gerauscht.Das Tool ist etwas gewöhnungsbedüftig, seltsamerweise reagiert Arrow up and down nicht, dafür aber + (down) und - (up).
Ich finde aber keinen Eintrag für sccb.
In der camera lib gibt es einen Hinweis auf kconfig, das scheint das definierende File für menuconfig zu sein.
https://github.com/espressif/esp32-camera
Make sure to append this Kconfig content into the Kconfig of your project. Then, choose the configurations according to your setup.Irgendeine Idee wo ich das finde?
Danke
Hike -
@hike Ich habe das für diese Zwecke bisher nicht verwendet. Wenn du dir die Konfiguration der Kameraanbindung (GPIOs) anschauen willst, prüfe mal die Datei
code/jomjol_controllcamera/camera_define.h
Dort sind die GPIOs definiert. -
Die GPIOs sind mir klar(26,27). Neben dem Freischalten (1Bit-Mode) des Kartenlesers den Du ja auch verwendest könnte man auch GPIO13 und GPIO2 für den zweiten I2C-Bus verwenden. Einige der anderen Pin erzeugen Bootprobleme, da sie durch die pullups auf high liegen.
Ich bin überhaupt erst auf die Idee gekommen, weil in Deinen Projekt unter lib/driver die tatsächlich verwendeten .h und .c aufgeführt sind. So konnte ich im Log sehen, das der Kameratreiber in sccb.c twi verwendet.
Damit komme ich an den zweiten I2C Bus nicht ran, den ich aber gerne für die Ansteuerung von einem Oled-Display nutzen würde.Bei anderer Vorgehenweise z.B als Arduino-Projekt und der Verwendung von Wire0 und Wire1 (I2C-Scanner) bekomme ich zwar die I2C-Adresse de Kamera zu sehen, jedoch fällt der Prozessor mit einer Guru-Meditation beim ersten Zugriff auf das zweite Interface auf die Nase.
An diesem Problem scheint sich schon der eine oder andere die Zähne ausgebissen zu haben.
Beste Grüße
Hike -
I have downloaded digits from the device, probably too much. I already sorted them more or less. Mostly there were problems with the number 7 and number 1. Number 8 was detected quite nicely.
wetransfer: https://we.tl/t-jQ56n1n4pr
Kind regards,
Koen