Giter VIP home page Giter VIP logo

ai-on-the-edge-device's People

Contributors

caco3 avatar cristianmitran avatar docksquadron avatar flooxo avatar github-actions[bot] avatar haverland avatar henrythasler avatar jasaw avatar jochenchrist avatar jomjol avatar kub3let avatar lordguilly avatar mad2xlc avatar michaeljoos72 avatar muggenhor avatar nliaudat avatar ottk3 avatar parhedberg avatar pfeifferch avatar phlupp avatar pixeldoc2000 avatar rdmueller avatar rstephan avatar slider0007 avatar smartboart avatar sybexx avatar turbo87 avatar yonz2 avatar yveaux avatar zwer2k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ai-on-the-edge-device's Issues

einbinden NTP Server

Hi @jomjol,

bezugnehmend auf diesen Thread eröffne ich diesen Issue.
Wie schon erwähnt erscheint es aus meiner Sicht durchaus sinnvoll einen NTP Server konfigurieren zu können, da der ESP innerhalb von 2 Wochen ohne Reboot seiner Zeit ca. 30 Minuten voraus ist (also die interne Uhr bzw. der interne Takt scheint schneller zu sein).
Ich denke das könnte die Fehlersuche im Fall des Falles auch einfacher gestalten.

Danke

Anpassung neues Log

Hallo @jomjol,

habe gerade die neue Version installiert, das tageweise speichern des Logs finde ich sehr gut (ich hoffe das klappt so).
Und da hätte ich dann auch direkt ne Frage / Bitte / Feature Request, ich fände es ganz praktisch das aktuelle Log als "current.log" oder ähnlich zu speichern und wenn der Tag dann rum ist der Datei den entsprechenden "Datumsnamen" des Vortags zu übergeben. Das ganze hat den Hintergrund das man sich das Log in irgendeiner VIS anschauen kann und der Name des Logfiles für den aktuellen Tag eben immer der gleiche wäre.

Daher auch hier jetzt die Bitte und Frage nach der Umsetzung?

Danke

Increase Resolution by last analog ROI

Can you add an option o increase resolution by one digit from last analog reading. My readings are super reliable and in particular the last analog one shows good quality currently not given to MQTT etc.

Integration to volkszaehler

Hi!

I really like your project und I am impressed of all the work you have done since now!

A big improvement I think would be a connection/integration of your sensor to https://www.volkszaehler.org/.

Volkszaehler is a great tool to monitor consumption meters (I am using it for my electric meter - EHZ)

Thank you for your Work!

Crash on boot

I am not an expert but it seems that my CAM is crashing. Any idea what the problem could be? Hardware or software issue? Thx for you help/work!

10:03:44.796 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
10:03:44.796 -> configsip: 0, SPIWP:0xee
10:03:44.796 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
10:03:44.829 -> mode:DIO, clock div:2
10:03:44.829 -> load:0x3fff0018,len:4
10:03:44.829 -> load:0x3fff001c,len:7024
10:03:44.829 -> ho 0 tail 12 room 4
10:03:44.829 -> load:0x40078000,len:15428
10:03:44.829 -> load:0x40080400,len:4596
10:03:44.829 -> entry 0x400806e8
10:03:44.829 -> �[0;32mI (77) boot: Chip Revision: 1�[0m
10:03:44.829 -> �[0;32mI (77) boot_comm: chip revision: 1, min. bootloader chip revision: 0�[0m
10:03:44.829 -> �[0;32mI (41) boot: ESP-IDF GIT-NOTFOUND 2nd stage bootloader�[0m
10:03:44.829 -> �[0;32mI (41) boot: compile time 10:16:55�[0m
10:03:44.864 -> �[0;32mI (41) boot: Enabling RNG early entropy source...�[0m
10:03:44.864 -> �[0;32mI (47) boot: SPI Speed : 40MHz�[0m
10:03:44.864 -> �[0;32mI (51) boot: SPI Mode : DIO�[0m
10:03:44.864 -> �[0;32mI (55) boot: SPI Flash Size : 4MB�[0m
10:03:44.864 -> �[0;32mI (59) boot: Partition Table:�[0m
10:03:44.864 -> �[0;32mI (62) boot: ## Label Usage Type ST Offset Length�[0m
10:03:44.864 -> �[0;32mI (70) boot: 0 nvs WiFi data 01 02 00009000 00004000�[0m
10:03:44.897 -> �[0;32mI (77) boot: 1 otadata OTA data 01 00 0000d000 00002000�[0m
10:03:44.897 -> �[0;32mI (85) boot: 2 phy_init RF data 01 01 0000f000 00001000�[0m
10:03:44.897 -> �[0;32mI (92) boot: 3 ota_0 OTA app 00 10 00010000 001db000�[0m
10:03:44.897 -> �[0;32mI (100) boot: 4 ota_1 OTA app 00 11 001f0000 001db000�[0m
10:03:44.897 -> �[0;32mI (107) boot: End of partition table�[0m
10:03:44.934 -> �[0;32mI (111) boot_comm: chip revision: 1, min. application chip revision: 0�[0m
10:03:44.934 -> �[0;32mI (119) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x43e98 (278168) map�[0m
10:03:45.039 -> �[0;32mI (227) esp_image: segment 1: paddr=0x00053ec0 vaddr=0x3ffb0000 size=0x047c8 ( 18376) load�[0m
10:03:45.039 -> �[0;32mI (235) esp_image: segment 2: paddr=0x00058690 vaddr=0x40080000 size=0x00400 ( 1024) load�[0m
10:03:45.039 -> �[0;32mI (236) esp_image: segment 3: paddr=0x00058a98 vaddr=0x40080400 size=0x07578 ( 30072) load�[0m
10:03:45.039 -> �[0;32mI (256) esp_image: segment 4: paddr=0x00060018 vaddr=0x400d0018 size=0x131768 (1251176) map�[0m
10:03:45.487 -> �[0;32mI (704) esp_image: segment 5: paddr=0x00191788 vaddr=0x40087978 size=0x167f8 ( 92152) load�[0m
10:03:45.555 -> �[0;32mI (743) esp_image: segment 6: paddr=0x001a7f88 vaddr=0x50000000 size=0x00004 ( 4) load�[0m
10:03:45.555 -> �[0;32mI (762) boot: Loaded app from partition at offset 0x10000�[0m
10:03:45.555 -> �[0;32mI (762) boot: Disabling RNG early entropy source...�[0m
10:03:45.555 -> �[0;32mI (763) psram: This chip is ESP32-D0WD�[0m
10:03:45.588 -> �[0;32mI (768) spiram: Found 64MBit SPI RAM device�[0m
10:03:45.588 -> �[0;32mI (772) spiram: SPI RAM mode: flash 40m sram 40m�[0m
10:03:45.588 -> �[0;32mI (777) spiram: PSRAM initialized, cache is in low/high (2-core) mode.�[0m
10:03:45.588 -> �[0;32mI (784) cpu_start: Pro cpu up.�[0m
10:03:45.588 -> �[0;32mI (788) cpu_start: Application information:�[0m
10:03:45.588 -> �[0;32mI (793) cpu_start: Project name: esp32cam-server-only�[0m
10:03:45.626 -> �[0;32mI (799) cpu_start: App version: 0.0.9.3�[0m
10:03:45.626 -> �[0;32mI (804) cpu_start: Compile time: Sep 2 2020 10:15:59�[0m
10:03:45.626 -> �[0;32mI (810) cpu_start: ELF file SHA256: e880dd3123be5bcb...�[0m
10:03:45.626 -> �[0;32mI (816) cpu_start: ESP-IDF: GIT-NOTFOUND�[0m
10:03:45.626 -> �[0;32mI (821) cpu_start: Starting app cpu, entry point is 0x40081b28�[0m
10:03:45.626 -> �[0;32mI (807) cpu_start: App cpu up.�[0m
10:03:46.524 -> �[0;32mI (1714) spiram: SPI SRAM memory test OK�[0m
10:03:46.524 -> �[0;32mI (1714) heap_init: Initializing. RAM available for dynamic allocation:�[0m
10:03:46.524 -> �[0;32mI (1714) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM�[0m
10:03:46.524 -> �[0;32mI (1720) heap_init: At 3FFC22A8 len 0001DD58 (119 KiB): DRAM�[0m
10:03:46.524 -> �[0;32mI (1727) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM�[0m
10:03:46.524 -> �[0;32mI (1733) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM�[0m
10:03:46.557 -> �[0;32mI (1740) heap_init: At 4009E170 len 00001E90 (7 KiB): IRAM�[0m
10:03:46.557 -> �[0;32mI (1746) cpu_start: Pro cpu start user code�[0m
10:03:46.557 -> �[0;32mI (1751) spiram: Adding pool of 4096K of external SPI memory to heap allocator�[0m
10:03:46.557 -> CreateClassCamera
10:03:46.557 -> �[0;32mI (1777) spi_flash: detected chip: generic�[0m
10:03:46.594 -> �[0;32mI (1777) spi_flash: flash io: dio�[0m
10:03:46.594 -> �[0;32mI (1778) cpu_start: Starting scheduler on PRO CPU.�[0m
10:03:46.594 -> �[0;32mI (0) cpu_start: Starting scheduler on APP CPU.�[0m
10:03:46.594 -> �[0;32mI (1786) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations�[0m
10:03:46.594 -> Do Reset Camera
10:03:46.594 -> �[0;32mI (1796) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 �[0m
10:03:48.638 -> �[0;32mI (3846) connect_wlan_main: Initializing SD card�[0m
10:03:48.638 -> �[0;32mI (3846) gpio: GPIO[13]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 �[0m
10:03:48.711 -> Name: SL08G
10:03:48.711 -> Type: SDHC/SDXC
10:03:48.711 -> Speed: 20 MHz
10:03:48.711 -> Size: 7580MB
10:03:48.711 -> �[0;32mI (3926) server_ota: Start CheckOTAUpdateCheck ...�[0m
10:03:48.744 -> Start CheckOTAUpdateCheck ...
10:03:48.744 -> �[0;32mI (3936) server_ota: SHA-256 for the partition table: : 9d4a2809ae90fb20709a8ca3dd3ac3462e1e73286bcd31b689060c91de06fa3a�[0m
10:03:48.744 -> �[0;32mI (3936) boot_comm: chip revision: 1, min. application chip revision: 0�[0m
10:03:48.814 -> �[0;32mI (4006) server_ota: SHA-256 for bootloader: : 5002f4530fba074ae4d298f22c51da1332fb59cdde1358655ce33a1be08594bc�[0m
10:03:48.814 -> �[0;32mI (4006) boot_comm: chip revision: 1, min. application chip revision: 0�[0m
10:03:49.463 -> �[0;32mI (4646) server_ota: SHA-256 for current firmware: : f3fb5c2695a2e00e742cd8a05d41539df43eb7ca1f258a2b558d5170c3078d95�[0m
10:03:49.463 -> CheckOTAUpdate Partition: ESP_OK
10:03:49.497 -> WLan: ***, ***
10:03:49.497 -> �[0;32mI (4716) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE�[0m
10:03:49.530 -> �[0;32mI (4716) system_api: Base MAC address is not set, read default base MAC address from BLK0 of EFUSE�[0m
10:03:49.640 -> �[0;32mI (4846) phy: phy_version: 4180, cb3948e, Sep 12 2019, 16:39:13, 0, 0�[0m
10:03:49.640 -> �[0;32mI (4846) gpio: GPIO[33]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:03:51.995 -> �[0;32mI (7206) tcpip_adapter: sta ip: 192.168.10.135, mask: 255.255.255.0, gw: 192.168.10.1�[0m
10:03:51.995 -> �[0;32mI (7206) gpio: GPIO[33]| InputEn: 0| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:03:52.032 -> IP : 192.168.10.135
10:03:52.032 -> Autoflow: sleep for : 200ms
10:03:54.040 -> �[0;32mI (9226) sntp: Boot count: 1�[0m
10:03:54.040 -> �[0;32mI (9226) sntp: Waiting for system time to be set... (1/10)�[0m
10:03:56.030 -> �[0;32mI (11226) sntp: Waiting for system time to be set... (2/10)�[0m
10:03:58.008 -> �[0;32mI (13226) sntp: Waiting for system time to be set... (3/10)�[0m
10:04:00.006 -> �[0;32mI (15226) sntp: Waiting for system time to be set... (4/10)�[0m
10:04:02.008 -> �[0;32mI (17226) sntp: Waiting for system time to be set... (5/10)�[0m
10:04:04.027 -> �[0;32mI (19226) sntp: Waiting for system time to be set... (6/10)�[0m
10:04:06.025 -> �[0;32mI (21226) sntp: Waiting for system time to be set... (7/10)�[0m
10:04:08.032 -> �[0;32mI (23226) sntp: Waiting for system time to be set... (8/10)�[0m
10:04:10.008 -> �[0;32mI (25226) sntp: Waiting for system time to be set... (9/10)�[0m
10:04:12.021 -> �[0;32mI (27226) sntp: The current date/time in Berlin is: Sat Sep 5 23:03:53 2020�[0m
10:04:12.021 -> �[0;32mI (27226) sntp: The current date/time in Berlin is: 2020-09-05_23:03�[0m
10:04:12.021 -> time 20200906-100411
10:04:12.021 -> time 20200906-100411
10:04:12.057 -> Init Flash
10:04:12.057 -> Init Camera
10:04:12.057 -> �[0;32mI (27236) sccb: pin_sda 26 pin_scl 27
10:04:12.057 -> �[0m
10:04:12.057 -> �[0;32mI (27236) gpio: GPIO[32]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 �[0m
10:04:12.057 -> �[0;32mI (27276) sccb: SCCB_Probe start�[0m
10:04:12.578 -> �[0;32mI (27766) sccb: SCCB_Probe start�[0m
10:04:13.105 -> �[0;32mI (28296) camera: Detected OV2640 camera�[0m
10:04:13.105 -> �[0;32mI (28296) gpio: GPIO[35]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.105 -> �[0;32mI (28306) gpio: GPIO[34]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.105 -> �[0;32mI (28306) gpio: GPIO[39]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.140 -> �[0;32mI (28316) gpio: GPIO[36]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.140 -> �[0;32mI (28326) gpio: GPIO[21]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.140 -> �[0;32mI (28336) gpio: GPIO[19]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.140 -> �[0;32mI (28346) gpio: GPIO[18]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.175 -> �[0;32mI (28356) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.175 -> �[0;32mI (28366) gpio: GPIO[25]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.175 -> �[0;32mI (28376) gpio: GPIO[23]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.208 -> �[0;32mI (28386) gpio: GPIO[22]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 1| Pulldown: 0| Intr:0 �[0m
10:04:13.208 -> �[0;32mI (28396) camera: Allocating 1 frame buffers (937 KB total)�[0m
10:04:13.314 -> �[0;32mI (28536) camera: Allocating 937 KB frame buffer in OnBoard RAM�[0m
10:04:13.664 -> Autoflow: sleep for : 200ms
10:04:15.641 -> �[0;32mI (30846) example: Starting server on port: '80'�[0m
10:04:15.641 -> �[0;32mI (30846) example: Registering URI handlers�[0m
10:04:15.641 -> �[0;32mI (30846) server_camera: server_part_camera - Registering URI handlers�[0m
10:04:15.641 -> �[0;32mI (30846) server_tflite: server_part_camera - Registering URI handlers�[0m
10:04:15.676 -> �[0;32mI (30856) server_ota: server_ota - Registering URI handlers�[0m
10:04:15.676 -> Start tfliteflow.InitFlow(config);
10:04:15.676 -> [MakeImage]
10:04:15.676 -> ;LogImageLocation = /log/source
10:04:15.676 -> WaitBeforeTakingPicture=5
10:04:15.676 -> ImageQuality = 5
10:04:15.676 -> ImageSize = VGA
10:04:15.676 ->
10:04:15.676 -> [Alignment]
10:04:15.676 -> InitalRotate=180
10:04:15.676 -> /config/ref0.jpg 119, 273
10:04:15.676 -> /config/ref1.jpg 456, 138
10:04:15.676 -> SearchFieldX = 20
10:04:15.676 -> SearchFieldY = 20
10:04:15.709 ->
10:04:15.709 -> [Digits]
10:04:15.709 -> ;Model=/config/dig0622.tfl
10:04:15.709 -> Model=/config/dig0630s3.tflite
10:04:15.709 -> LogImageLocation = /log/digit
10:04:15.709 -> ModelInputSize 20, 32
10:04:15.709 -> digit1, 306, 120, 37, 67
10:04:15.709 -> digit2, 355, 120, 37, 67
10:04:15.709 -> digit3, 404, 120, 37, 67
10:04:15.709 ->
10:04:15.709 -> [Analog]
10:04:15.709 -> ;Model=/config/ana0622.tfl
10:04:15.709 -> Model=/config/ana0630s2.tflite
10:04:15.709 -> LogImageLocation = /log/analog
10:04:15.709 -> ModelInputSize 32, 32
10:04:15.709 -> analog1, 444, 225, 92, 92
10:04:15.709 -> analog2, 391, 329, 92, 92
10:04:15.743 -> analog3, 294, 369, 92, 92
10:04:15.743 -> analog4, 168, 326, 92, 92
10:04:15.743 ->
10:04:15.743 -> [PostProcessing]
10:04:15.743 -> PreValueUse = True
10:04:15.743 -> [PreValue]
10:04:15.743 -> time = 2000-01-01_00-00-00
10:04:15.743 -> abort() was called at PC 0x40105866 on core 0
10:04:15.743 ->
10:04:15.743 -> ELF file SHA256: e880dd3123be5bcb
10:04:15.743 ->
10:04:15.743 -> Backtrace: 0x4008a5f5:0x3fffa740 0x4008a98d:0x3fffa760 0x40105866:0x3fffa780 0x40184ce5:0x3fffa7a0 0x400d84d1:0x3fffa7c0 0x400dd98b:0x3fffa7f0 0x400ddd8b:0x3fffad40 0x400d99b5:0x3fffaf90 0x400d40af:0x3fffb440 0x400d41eb:0x3fffb490 0x40093bdd:0x3fffb4e0
10:04:15.777 ->
10:04:15.777 -> Rebooting...

(Garten)Wasseruhr ohne CRI

Hallo jomjol,

großes Kino, vielen Dank!

Ich konnte soweit alles installieren, scheitere jedoch am Einrichten meiner Gartenwasseruhr.
Gartenwasseruhr
Bei diesem Modell gibt es kein CRI Referenz Image.
Lässt sich diese Wasseruhr Konfigurieren? Mir würden die digitalen Werte ausreichen. Bei dieser Uhr gibt es ohnehin nur einen analogen Zähler.

Über Tipps währe ich sehr dankbar!

Viele Grüße
Reinschki

Falsche Erkennung von Ziffern

Hallo jomjol,

ich muss mich noch mal melden:
image
Was kann ich in diesem Fall noch zur Verbesserung der Erkennung tun?
Das Ausrichten der Erkennungsfelder bringt jedenfalls nichts! Das habe ich in allen möglichen Varianten durch...
Die Bildschärfe ist meines Erachtens doch auch ganz ordentlich.

Gruß
Reinschki

Fix Ipadress aviable

Hallo wäre es machbar in der Config,ini oder Wlan.ini ne fixe ip adresse zu geben ,
normal macht das die Fritz ,nur die gibt diesen ebtweder 55 oder239 argg
obwohl fix zugegeben passiert bei manchen esps

Improved Debugging

Hallo @jomjol
Ich habe die Rolling Version vom 25.9.2020 als Ausgangspunkt genommen und diverse Änderungen im Code vorgenommen. Leider habe ich nur sehr,sehr rudimentäre Erfahrungen mit collaborativen Arbeiten mit GIT.
In den neueren Code habe ich noch nicht reingesehen.

Da ich den Wasserzähler leider nicht stabil bekommen habe, habe ich mich an meinem Gaszähler versucht.
Da werden doch häufiger Ziffern richtig erkannt.

Um die Beleuchtung regulieren zu können, habe ich ledc_timer verwendet. da muss man wegen der Verwendung einiger Timer durch die Kamera aufpassen. Ich verwende LEDC_Timer_2 und LED_Channel_7.
Die SD-Card habe ich auf slot_config.width = 1 eingestellt, damit wird GPIO04 frei.

Alle Versuche, den zweiten I2C-Bus zu nutzen ( z.B. für ein OLED-Display) sind gescheitert

Ich habe viele Logging- Funktionen auf ESP_LOGI(TAG," "); umgestellt
Die Logfilegröße habe ich beschränkt und lege die alten Log_files in einem separaten Verzeichnis ab.

Du verwendest stb_xx.h files . Gibt es dazu eine API-Dokumentation?
Wo werden Funktionen verwendet, die in Referenzparametern Ergebnisse zurückliefern,
Bekommen die beim Aufruf einen Ergebnisspeicherblock mitgeliefert oder allozieren die selber Speicher.
Du verwendest an verschiedenen Stelllen user_ctx->scratch, da steht meistens nur ein Namesstring drin, ich habe aber irgendwo auch einmal ein Malloc gesehen, finde das aber nicht mehr

Gruß Hike

Chrome Browser not fully supported

Hi jomjol

Chrome Browser does only partially work and does not show "Raw Value" and "Corrected Value":

image

"Edit Configuration" and "File Server" shows:

image

BR
Michael

Last Will und RSSI

Hi,

vorab mal: sehr cooles Projekt, Danke für die Lösung eines meiner hartnächigsten Problemchen im IoT!

Einen kleinen feature-request hätte ich (bzw. zwei, je nach Zählweise):
Es wäre zum einen nett, wenn der Zähler eine LWT-Message absetzen könnte (separater Topic), um den Verbindungsstatus mit dem MQTT-Server zu signalisieren.
Chris Mullins hat z.B. sowas (und etwas mehr) in den MiLight-Hub hier eingebaut:
sidoh/esp8266_milight_hub#435

Weiter wären ein paar Basisinfos hilfreich, mich würde z.B. hin und wieder die Signalqualität interessieren, das Teil hängt vermutlich nicht nur bei mir an einer nicht ganz optimalen Stelle, was WLAN-verfügbarkeit angeht.

Grüße und vorab schon mal Danke für's Ansehen!

Support für Chrome & Edge

Hi jomjol

Ich eröffne dieses Issue noch kurz weil ich die Lösung für ""Bad Request - Header Field Too Long" in Chrome gefunden habe (diese Error-Meldung kam noch beim Versuch im File-Explorer ein File zu löschen)

Eine Anpassung in der SDKCONFIG dieser beider Parameter von 512 auf 1024 hat bei mir geholfen:

HTTP Server

CONFIG_HTTPD_MAX_REQ_HDR_LEN=1024
CONFIG_HTTPD_MAX_URI_LEN=1024

Mit dieser Einstellung funktioniert alles in Chrome & Edge und mir ist bis jetzt auch funktionell nichts aufgefallen.

Firefox, Edge, Chrome funktionieren und wir könnten somit auch das hier entfernen:

Known Issues
Parts of the web page only works correctly in Firefox and Chrome! With Edge not all parts (especially the configuration) are not full functional.

Aktuelles Bild abrufen per Http

HAllo ein direktaufruf wäre via http hilfreich ,
sowie früher 3000/roi.html
oder capture with flashlight
um den aktuellen stand direkt ohne recognition zu bekommen

,Mit freundlichen Grüßen
mikewolf

Auslesefehler via MQTT

Wenn die Flow-Rate zu hoch ist (hier: vermutlich wegen eines Erkennungsfehlers, evtl. ist auch das default limit recht niedrig (?)), wird anscheinend dann nichts mehr via MQTT versendet.
(Vorläufiger) Vorschlag wäre, die im Web-Interface unter "Corrected Value" ausgegebene Fehlermeldung unter einem gesonderten Topic zu versenden (und dann ggf. zu löschen, wenn wieder alles ok ist), so dass man ohne Blick auf das Web-IF erkennen kann, ob bzw. woran es hakt.

mqtt output

I have MaxRateValue = 1.0 and AllowNegativeRates = False in my config but a digital 0 got identified as a 6 so I got a delta of 6000m³ over mqtt. After some hours it returned to a 0 and the mqtt reported value was the reported correctly.

So I think mqtt output is triggered even though the Checked Value: is the old.

Feature: reduce sd card usage

Reduction of sd card usage

One major topic is the high amount of sd card read / write access, mainly driven by the image processing with intermediate storage on sd-card.
The branch https://github.com/jomjol/AI-on-the-edge-device/tree/rolling-reduce-sd-use tackels this problem by moving the whole image processing to the (PS)RAM.
This implies major changes in the code. The basic version is functioning, but there are major memory leaks, which result in a high frequency of restarts.
If anybody is interested in supporting me there - you are welcome!

This issue is for discussing and bringing this idea forward. Discussions in German and English are welcome!

Corrected Value (PreValue) does show Raw Value

Hi jomjol

Sometimes it happens that "Corrected Value" (=PreValue?) does still show the "Raw Value" instead the corrected one:

image

image

If this is the case only "Set PreValue" does help.

BR
Michael

Spontaneous Reboots

Hi Jomjol

Ich habe mir jetzt eine Test-Umgebung eingerichtet die bei einem Absturz/Reboot das System stoppt und die Core-Dump-Informationen in der Console ausgibt. Diese Information kann dann mit einem Python-Script "lesbar" gemacht werden. Aber ganz ehrlich...ob es was hilft weiss ich auch nicht.

Diese Dump-Files sind im "normalen" Betrieb . . . sprich ohne Zugriff auf den Webserver:
(Ich habe momentan vielleicht noch alle 4h ein Reboot)
result_2.txt
result_3.txt
result_4.txt
result_1.txt

Und hier war der Reboot bei intensiver Benutzung des Webservers:
result_http.txt

Bei allen ist es der Task "'task_autodoFlow'".

Einfach mal als Input. Vielleicht hilft es ja.

Gruss
Michael

add hostname to wlan.ini

ich würde gerne mehrer Zähler abfragen (einmal Wasser und einmal Gas). Dafür wäre es super praktisch wenn man den Cams Hostnamen geben kann. Im moment ist in der connect_wlan.cpp fest "icircuit" einprogrammiert.

Es wäre toll wenn man in der wlan.ini einfach noch die option hostname="watermeter" hätte.

Neuinstallation aus "Rolling" klappt nicht und Fehler im Betrieb

Hallo @jomjol ,
da ich Probleme mit einem meiner ESPs habe wollte ich gerade mal alles neu machen.
Daten aus dem Ordner "SD-Card" vom aktuellen Rolling auf eine frisch formatierte SD Karte kopiert und den ESP konfiguriert.
Er scheint wieder zu laufen, allerdings geht IP/logfileact nicht da das Verzeichnis "messages" fehlt. Und in der debug.log im HTML Verzeichnis steht folgendes,

[1204/185120.033:ERROR:directory_reader_win.cc(43)] FindFirstFile: Das System kann den angegebenen Pfad nicht finden. (0x3)

Ich hoffe damit kannst Du etwas anfangen.

Über den File Server lassen sich leider keine Verzeichnisse erstellen.

Feature Request: Nochmaliger WLAN-Verbindungsversuch bei Nichtverfügbarkeit des WLAN

Ich hätte hier eine Anregung für ein Feature Request.
Vorgeschichte: ich hatte einen Stromausfall und bei Stromaufschaltung haben sich sicher auch meine zwei ESPs versucht sich in das WLAN einzuklinken. Da aber mein Router und die Repeater mindestens zwei Minuten brauchen um hochzufahren, waren die zwei ESPs schon längst im AP Modus (nehme ich an), oder haben aufgegeben sich mit dem WLAN verbinden zu wollen.
Lösungvorschläge:

  • Kann man nun in die SW implementieren, dass im AP Modus alle 30(?) Minuten ein Reset durchgeführt wird? Sollte das WLAN nämlich dann schon wieder da sein, kommt es zum re-connect
  • Oder, falls es keinen AP Modus gibt, kann man den ESP es länger versuchen lassen (endlos?) das WLAN zu erreichen

"Corrected Value" wird falsch berechnet bei DecimalShift

Hi jomjol

Ich eröffne das hier noch damit wir es hier "tracken" können.

Sobald ich den Wert wie in meinem Fall auf DecimalShift=-1 setze, wird das "Corrected Value" irgendwie falsch berechnet. Habe noch keine Logik gefunden, aber am Schluss wird immer eine 0 hinzugefügt und der Wert stimmt auch nicht wirklich.

Hier einmal als Vergleich mit "DecimalShift=0" und "Set Prevalue = 10012.539"

Direkt nach den Restart:

image

--> Das passt

Nach dem 1. Durchlauf:

image

--> Das passt ebenfalls!

Dann ein weiterer Test mit "DecimalShift=-1" und "Set Prevalue = 1001.2539"

Direkt nach den Restart:

image

--> Das passt auch noch

Nach dem 1. Durchlauf:

image

--> Hier stimmt etwas noch nicht. Wie schon oben erwähnt eine zusätzliche "0" am Ende und "1011" anstatt "1001".

Raw-Value stimmt ja, das heisst die Erkennung passt.

Und nach einigen weiteren Durchläufen ist es plötzlich noch eine Ziffer mehr:

image

Gruss
Michael

Digit 1 identified as 0

A dial looking like this:

meter

gets decoded like this:
1960.7883

The 3 decoded as a 6 is fine but the 1 as 0 was unexpected. I read through the documentation with regards to the digital dials. Is there some some way to get better identification of the digital digits? Do I need to remove all the reflections for better identification? Or can the tf-model be retrained ?

Zusätzliche Korrektur beim Nulldurchgang Digitaler Teil

Bei mir ist es aktuell so, dass immer beim Nulldurchgang der digitalen Ziffern eine Meldung erscheint, dass der Wert negativ ist (beim Nulldurchgang wird temporär das Digit nicht erkannt) und es wird erst wieder etwas geschickt, wen die letzte digitale Stelle wieder erkannt wird. Das dauert leider immer eine ganze Weile und ist daher unschön. Könnte man nicht bei der Korrektur auf große negative Sprünge zwischen den Werten prüfen und daraus ableiten, dass ein Nulldurchgang stattgefunden hat und somit die letzte Stelle hochzählen (sprich den preValue anpassen) wenn sie nicht erkannt wird.

ESP32CAM hängt sich nach kurzer Betriebszeit auf

Ich habe hier 2 ESP32CAM module, beide hängen sich nach kurzer Zeit auf und können nur durch ein Spannungsreset wieder zum Leben erweckt werden.

Ich betreibe die mit einem 5V 2A Netzteil und dem letzten Stabilen Build

Läuft das bei euch stabiler?
Hat jemand eine Idee woran das liegen könnte ?

Changelog / Version number wrong

In the changelog there is a version 6.0.0 from 2021-01-02 mentioned but on releases page there is version 5.0.0 from 2020-12-06 but released in 2021

Measurement seems to stop after a few hours

The Software does not take new pictures automatically and thus does not read new values. After a reboot everything is fine and it starts reading values.

This is the configuration:

[MakeImage]
;LogImageLocation = /log/source
;LogfileRetentionInDays = 15
WaitBeforeTakingPicture=5
ImageQuality = 5
ImageSize = VGA

[Alignment]
InitialRotate = 0
/config/ref0.jpg 135, 202
/config/ref1.jpg 401, 113
SearchFieldX = 20
SearchFieldY = 20

[Digits]
Model=/config/dig0650s3.tflite
LogImageLocation = /log/digit
LogfileRetentionInDays = 15
ModelInputSize 20, 32
digit1, 175, 115, 31, 48
ROI1, 220, 115, 35, 47
ROI2, 270, 117, 30, 45
ROI3, 318, 115, 32, 49
ROI4, 365, 114, 29, 49

[Analog]
Model=/config/ana0630s2.tflite
LogImageLocation = /log/analog
LogfileRetentionInDays = 15
ModelInputSize 32, 32
analog1, 408, 182, 97, 97
analog2, 375, 294, 96, 99
analog3, 264, 342, 98, 96
analog4, 152, 294, 100, 103

[PostProcessing]
DecimalShift = 0
PreValueUse = True
PreValueAgeStartup = 30
AllowNegativeRates = False
MaxRateValue = 0.1
ErrorMessage = True
CheckDigitIncreaseConsistency = False

;[MQTT]
;Uri = mqtt://IP-MQTT-SERVER:1883
;Topic = watermeter/readout
;ClientID = wasser
;user = USERNAME
;password = PASSWORD

[AutoTimer]
AutoStart= True
Intervall = 4.85

[Debug]
Logfile = False
; Number of days before a log file is deleted. 0 = disabled. 10 is default value (if not defined)
;LogfileRetentionInDays = 10

[Ende]

Rolling shows only black images on configuration

Hello,

i upgraded to the current rolling (from the last rolling)
On the alignment, refence and configuartion images i only get black images (with green configuration lines)

The main picture is visible and seems to be a current one

Thanks in advance

Andreas

DigitalReadout neue Trainingsbilder Stromzähler

Hi jomjol,

hab für meinen Stromzähler nochmal einen Satz neuer Bilder angefertigt (4 pro digit). Diesmal direkt von der ESP Cam (die vom letzten Mal waren separat aufgenommen). Könntest du die ins nächste Training mit einfließen lassen? Hab auch noch einen Satz an validen NaN Bildern hinzugefügt.

strom.zip

Gruß
Simon

[Feature] Support for Power- and Gasmeters

I'm running this with my watermeter couple of weeks now and impressed so far. Great work.
Initally I ordered a couple of ESP32's and hoped to get this to work also for my power and gasmeter. Since 1 OV2640 is DOA I started with my powermeter.

Common Problems (not code related):
LED flash is way to bright and leads to massive reflection from the black numberwheels and the silver background of my meter - workaround: Add a slight angle wor the ESP32 and add some tape to mask everything but the numberwheels (alignment marks have been drawn by pen to the masking tape)

Recognition Problems:
The font for the numbers is different than from the watemeter. So I assume the CNN needs to be trained more for this. Recognition works for most of the wheels, but not all:
image
image

Since I'm absolute new in neural networks etc. I cannot determine where to start. If there's something I can help with training the network, give me a hint.
For further usage with a power/gasmeter, the analog ROI needs to be removed and also the last digital ROI needs to be shifted behind the comma. (for gasmeters this should be the last three digits if I recall correctly)

This would be nice to have all three meters digitized and even a deeper insight into consumptions.

Cheers,
Simon

SSID with "space" does not work

If you add to the WLAN.ini a SSID with a space then only the first word is used to finde the WLAN.

I tried to put the SSID in " or ' but does not work

Problem Compilation

Hallo jomjol,

ich bekomme den neuen Branch leider nicht compiliert - folgende Fehlermeldung kommt:
cmake faselt da was von fehlendem Perl und der Datei ".../code/components/tfmicro/tensorflow/lite/micro/testing/test_conv_model.cc", die es tatsächlich auch nicht gibt...

  • framework-espidf 3.40100.200827 (4.1.0)
  • tool-cmake 3.16.4
  • tool-esptoolpy 1.20600.0 (2.6.0)
  • tool-idf 1.0.1
  • tool-mconf 1.4060000.20190628 (406.0.0)
  • tool-ninja 1.9.0
  • toolchain-esp32ulp 1.22851.191205 (2.28.51)
  • toolchain-xtensa32 2.80200.200827 (8.2.0)
    Reading CMake configuration...
    -- Project version: 0.0.9.3
    -- Building ESP-IDF components for target esp32
    -- Checking Python dependencies...
    Python requirements from C:\Users\Martin.platformio\packages\framework-espidf\requirements.txt are satisfied.

-- Could NOT find Perl (missing: PERL_EXECUTABLE)
-- Adding linker script C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/.pio/build/esp32cam/esp-idf/esp32/esp32_out.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32/ld/esp32.project.ld.in
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Components: __pio_env app_trace app_update asio bootloader bootloader_support bt cbor coap connect_wlan console cxx driver efuse esp-tls esp32 esp32-camera-master esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_http_client esp_http_server esp_https_ota esp_https_server esp_local_ctrl esp_netif esp_ringbuf esp_rom esp_serial_slave_link esp_websocket_client esp_wifi espcoredump esptool_py
expat fatfs freemodbus freertos heap idf_test jomjol_controlcamera jomjol_fileserver_ota jomjol_flowcontroll jomjol_helper jomjol_image_proc jomjol_logfile jomjol_mqtt jomjol_tfliteclass jomjol_time_sntp jsmn json libsodium log lwip mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocol_examples_common protocomm pthread sdmmc soc spi_flash spiffs src tcp_transport tcpip_adapter tfmicro ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/.pio/build/esp32cam/__pio_env C:/Users/Martin/.platformio/packages/framework-espidf/components/app_trace C:/Users/Martin/.platformio/packages/framework-espidf/components/app_update C:/Users/Martin/.platformio/packages/framework-espidf/components/asio C:/Users/Martin/.platformio/packages/framework-espidf/components/bootloader C:/Users/Martin/.platformio/packages/framework-espidf/components/bootloader_support C:/Users/Martin/.platformio/packages/framework-espidf/components/bt C:/Users/Martin/.platformio/packages/framework-espidf/components/cbor C:/Users/Martin/.platformio/packages/framework-espidf/components/coap C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/connect_wlan C:/Users/Martin/.platformio/packages/framework-espidf/components/console C:/Users/Martin/.platformio/packages/framework-espidf/components/cxx C:/Users/Martin/.platformio/packages/framework-espidf/components/driver C:/Users/Martin/.platformio/packages/framework-espidf/components/efuse C:/Users/Martin/.platformio/packages/framework-espidf/components/esp-tls C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32 C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/esp32-camera-master C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_adc_cal C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_common C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_eth C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_event C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_gdbstub C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_http_client C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_http_server C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_https_ota C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_https_server C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_local_ctrl C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_netif C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_ringbuf C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_serial_slave_link C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_websocket_client C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_wifi C:/Users/Martin/.platformio/packages/framework-espidf/components/espcoredump C:/Users/Martin/.platformio/packages/framework-espidf/components/esptool_py C:/Users/Martin/.platformio/packages/framework-espidf/components/expat C:/Users/Martin/.platformio/packages/framework-espidf/components/fatfs C:/Users/Martin/.platformio/packages/framework-espidf/components/freemodbus C:/Users/Martin/.platformio/packages/framework-espidf/components/freertos C:/Users/Martin/.platformio/packages/framework-espidf/components/heap C:/Users/Martin/.platformio/packages/framework-espidf/components/idf_test C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_controlcamera C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_fileserver_ota C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_flowcontroll C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_helper C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_image_proc C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_logfile C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_mqtt C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_tfliteclass C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_time_sntp C:/Users/Martin/.platformio/packages/framework-espidf/components/jsmn C:/Users/Martin/.platformio/packages/framework-espidf/components/json C:/Users/Martin/.platformio/packages/framework-espidf/components/libsodium C:/Users/Martin/.platformio/packages/framework-espidf/components/log C:/Users/Martin/.platformio/packages/framework-espidf/components/lwip C:/Users/Martin/.platformio/packages/framework-espidf/components/mbedtls C:/Users/Martin/.platformio/packages/framework-espidf/components/mdns C:/Users/Martin/.platformio/packages/framework-espidf/components/mqtt C:/Users/Martin/.platformio/packages/framework-espidf/components/newlib C:/Users/Martin/.platformio/packages/framework-espidf/components/nghttp C:/Users/Martin/.platformio/packages/framework-espidf/components/nvs_flash C:/Users/Martin/.platformio/packages/framework-espidf/components/openssl C:/Users/Martin/.platformio/packages/framework-espidf/components/partition_table C:/Users/Martin/.platformio/packages/framework-espidf/components/perfmon C:/Users/Martin/.platformio/packages/framework-espidf/components/protobuf-c C:/Users/Martin/.platformio/packages/framework-espidf/examples/common_components/protocol_examples_common C:/Users/Martin/.platformio/packages/framework-espidf/components/protocomm C:/Users/Martin/.platformio/packages/framework-espidf/components/pthread C:/Users/Martin/.platformio/packages/framework-espidf/components/sdmmc C:/Users/Martin/.platformio/packages/framework-espidf/components/soc C:/Users/Martin/.platformio/packages/framework-espidf/components/spi_flash C:/Users/Martin/.platformio/packages/framework-espidf/components/spiffs C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/src C:/Users/Martin/.platformio/packages/framework-espidf/components/tcp_transport C:/Users/Martin/.platformio/packages/framework-espidf/components/tcpip_adapter C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/tfmicro C:/Users/Martin/.platformio/packages/framework-espidf/components/ulp C:/Users/Martin/.platformio/packages/framework-espidf/components/unity C:/Users/Martin/.platformio/packages/framework-espidf/components/vfs C:/Users/Martin/.platformio/packages/framework-espidf/components/wear_levelling C:/Users/Martin/.platformio/packages/framework-espidf/components/wifi_provisioning C:/Users/Martin/.platformio/packages/framework-espidf/components/wpa_supplicant C:/Users/Martin/.platformio/packages/framework-espidf/components/xtensa
-- Configuring done

fatal: not a git repository (or any of the parent directories): .git
CMake Error at C:/Users/Martin/.platformio/packages/framework-espidf/tools/cmake/component.cmake:468 (add_library):
Cannot find source file:

C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/tfmicro/tensorflow/lite/micro/testing/test_conv_model.cc

Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
components/tfmicro/CMakeLists.txt:25 (idf_component_register)

CMake Error at C:/Users/Martin/.platformio/packages/framework-espidf/tools/cmake/component.cmake:468 (add_library):
No SOURCES given to target: __idf_tfmicro
Call Stack (most recent call first):
components/tfmicro/CMakeLists.txt:25 (idf_component_register)

CMake Generate step failed. Build files cannot be regenerated correctly.

Originally posted by @LineF in #40 (comment)

Mqtt request

Is there a possibility to include a mqtt client so it can send the watermeter reading to the mqtt server. So it can talk to home assistant, domoticz enz..

A option to disable analoge

hello is there a option ti disable the analogue Value,
i have in the ini ;; all Analog Values disabeld but in the REcognition picture there a markers
from the anulogue Values ?

Compile error im rolling Branch

Hallo Jomjol,

der Branch "rolling" gibt bei mir Compilierungsfehler aus:

Hallo jomjol,

ich bekomme den neuen Branch leider nicht compiliert - folgende Fehlermeldung kommt:
cmake faselt da was von fehlendem Perl und der Datei ".../code/components/tfmicro/tensorflow/lite/micro/testing/test_conv_model.cc", die es tatsächlich auch nicht gibt...

framework-espidf 3.40100.200827 (4.1.0)
tool-cmake 3.16.4
tool-esptoolpy 1.20600.0 (2.6.0)
tool-idf 1.0.1
tool-mconf 1.4060000.20190628 (406.0.0)
tool-ninja 1.9.0
toolchain-esp32ulp 1.22851.191205 (2.28.51)
toolchain-xtensa32 2.80200.200827 (8.2.0)
Reading CMake configuration...
-- Project version: 0.0.9.3
-- Building ESP-IDF components for target esp32
-- Checking Python dependencies...
Python requirements from C:\Users\Martin.platformio\packages\framework-espidf\requirements.txt are satisfied.
-- Could NOT find Perl (missing: PERL_EXECUTABLE)
-- Adding linker script C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/.pio/build/esp32cam/esp-idf/esp32/esp32_out.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32/ld/esp32.project.ld.in
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32/ld/esp32.peripherals.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.libgcc.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.newlib-data.ld
-- Adding linker script C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom/esp32/ld/esp32.rom.syscalls.ld
-- Components: __pio_env app_trace app_update asio bootloader bootloader_support bt cbor coap connect_wlan console cxx driver efuse esp-tls esp32 esp32-camera-master esp_adc_cal esp_common esp_eth esp_event esp_gdbstub esp_http_client esp_http_server esp_https_ota esp_https_server esp_local_ctrl esp_netif esp_ringbuf esp_rom esp_serial_slave_link esp_websocket_client esp_wifi espcoredump esptool_py
expat fatfs freemodbus freertos heap idf_test jomjol_controlcamera jomjol_fileserver_ota jomjol_flowcontroll jomjol_helper jomjol_image_proc jomjol_logfile jomjol_mqtt jomjol_tfliteclass jomjol_time_sntp jsmn json libsodium log lwip mbedtls mdns mqtt newlib nghttp nvs_flash openssl partition_table perfmon protobuf-c protocol_examples_common protocomm pthread sdmmc soc spi_flash spiffs src tcp_transport tcpip_adapter tfmicro ulp unity vfs wear_levelling wifi_provisioning wpa_supplicant xtensa
-- Component paths: C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/.pio/build/esp32cam/__pio_env C:/Users/Martin/.platformio/packages/framework-espidf/components/app_trace C:/Users/Martin/.platformio/packages/framework-espidf/components/app_update C:/Users/Martin/.platformio/packages/framework-espidf/components/asio C:/Users/Martin/.platformio/packages/framework-espidf/components/bootloader C:/Users/Martin/.platformio/packages/framework-espidf/components/bootloader_support C:/Users/Martin/.platformio/packages/framework-espidf/components/bt C:/Users/Martin/.platformio/packages/framework-espidf/components/cbor C:/Users/Martin/.platformio/packages/framework-espidf/components/coap C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/connect_wlan C:/Users/Martin/.platformio/packages/framework-espidf/components/console C:/Users/Martin/.platformio/packages/framework-espidf/components/cxx C:/Users/Martin/.platformio/packages/framework-espidf/components/driver C:/Users/Martin/.platformio/packages/framework-espidf/components/efuse C:/Users/Martin/.platformio/packages/framework-espidf/components/esp-tls C:/Users/Martin/.platformio/packages/framework-espidf/components/esp32 C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/esp32-camera-master C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_adc_cal C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_common C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_eth C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_event C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_gdbstub C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_http_client C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_http_server C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_https_ota C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_https_server C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_local_ctrl C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_netif C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_ringbuf C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_rom C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_serial_slave_link C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_websocket_client C:/Users/Martin/.platformio/packages/framework-espidf/components/esp_wifi C:/Users/Martin/.platformio/packages/framework-espidf/components/espcoredump C:/Users/Martin/.platformio/packages/framework-espidf/components/esptool_py C:/Users/Martin/.platformio/packages/framework-espidf/components/expat C:/Users/Martin/.platformio/packages/framework-espidf/components/fatfs C:/Users/Martin/.platformio/packages/framework-espidf/components/freemodbus C:/Users/Martin/.platformio/packages/framework-espidf/components/freertos C:/Users/Martin/.platformio/packages/framework-espidf/components/heap C:/Users/Martin/.platformio/packages/framework-espidf/components/idf_test C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_controlcamera C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_fileserver_ota C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_flowcontroll C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_helper C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_image_proc C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_logfile C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_mqtt C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_tfliteclass C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/jomjol_time_sntp C:/Users/Martin/.platformio/packages/framework-espidf/components/jsmn C:/Users/Martin/.platformio/packages/framework-espidf/components/json C:/Users/Martin/.platformio/packages/framework-espidf/components/libsodium C:/Users/Martin/.platformio/packages/framework-espidf/components/log C:/Users/Martin/.platformio/packages/framework-espidf/components/lwip C:/Users/Martin/.platformio/packages/framework-espidf/components/mbedtls C:/Users/Martin/.platformio/packages/framework-espidf/components/mdns C:/Users/Martin/.platformio/packages/framework-espidf/components/mqtt C:/Users/Martin/.platformio/packages/framework-espidf/components/newlib C:/Users/Martin/.platformio/packages/framework-espidf/components/nghttp C:/Users/Martin/.platformio/packages/framework-espidf/components/nvs_flash C:/Users/Martin/.platformio/packages/framework-espidf/components/openssl C:/Users/Martin/.platformio/packages/framework-espidf/components/partition_table C:/Users/Martin/.platformio/packages/framework-espidf/components/perfmon C:/Users/Martin/.platformio/packages/framework-espidf/components/protobuf-c C:/Users/Martin/.platformio/packages/framework-espidf/examples/common_components/protocol_examples_common C:/Users/Martin/.platformio/packages/framework-espidf/components/protocomm C:/Users/Martin/.platformio/packages/framework-espidf/components/pthread C:/Users/Martin/.platformio/packages/framework-espidf/components/sdmmc C:/Users/Martin/.platformio/packages/framework-espidf/components/soc C:/Users/Martin/.platformio/packages/framework-espidf/components/spi_flash C:/Users/Martin/.platformio/packages/framework-espidf/components/spiffs C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/src C:/Users/Martin/.platformio/packages/framework-espidf/components/tcp_transport C:/Users/Martin/.platformio/packages/framework-espidf/components/tcpip_adapter C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/tfmicro C:/Users/Martin/.platformio/packages/framework-espidf/components/ulp C:/Users/Martin/.platformio/packages/framework-espidf/components/unity C:/Users/Martin/.platformio/packages/framework-espidf/components/vfs C:/Users/Martin/.platformio/packages/framework-espidf/components/wear_levelling C:/Users/Martin/.platformio/packages/framework-espidf/components/wifi_provisioning C:/Users/Martin/.platformio/packages/framework-espidf/components/wpa_supplicant C:/Users/Martin/.platformio/packages/framework-espidf/components/xtensa
-- Configuring done

fatal: not a git repository (or any of the parent directories): .git
CMake Error at C:/Users/Martin/.platformio/packages/framework-espidf/tools/cmake/component.cmake:468 (add_library):
Cannot find source file:

C:/Users/Martin/Documents/Projekte/Elektronik/2020_Wasserzaehler/Software/AI-on-the-edge-device/code/components/tfmicro/tensorflow/lite/micro/testing/test_conv_model.cc
Tried extensions .c .C .c++ .cc .cpp .cxx .cu .m .M .mm .h .hh .h++ .hm
.hpp .hxx .in .txx
Call Stack (most recent call first):
components/tfmicro/CMakeLists.txt:25 (idf_component_register)

CMake Error at C:/Users/Martin/.platformio/packages/framework-espidf/tools/cmake/component.cmake:468 (add_library):
No SOURCES given to target: __idf_tfmicro
Call Stack (most recent call first):
components/tfmicro/CMakeLists.txt:25 (idf_component_register)

CMake Generate step failed. Build files cannot be regenerated correctly.

=======================

Was muß ich da zusätzlich noch beachten?
Ich verwende Platformio - bisher konnte ich alles problemlos compilieren.

Viele Grüße,
Martin

Reboot Loop

Ich habe aktuell eine Rebootschleife (alle 2 Minuten) gibt es irgendeine Möglichkeit den Grund einzugrenzen (erweitertes Log)?

Zahlenüberlauf

Hallo jomjol,

tolles Projekt, das Du da auf die Beine gestellt hast! Musste ich gleich nachbauen und funktioniert auch soweit prima!

Nun hat meine Wasseruhr den Wechsel auf den nächsten Kubikmeter vollzogen, allerdings ist die Ziffer noch nicht vollständig zu sehen, so daß sie als NaN erkannt wird und durch den bisherigen Wert ersetzt wird. Die Zeiger sind aber bereits von der 9999 wieder zur 0000 weitergelaufen, so daß der Gesamtwert nun zu niedrig ist und der aktuelle Wert damit nicht ausgegeben wird.
Siehe auch Bild anbei.

Muß ich noch was berücksichtigen in der Konfiguration, oder fehlt da noch etwas Logik im Programm?

BTW: die Software macht noch mehrmals pro Tag Restarts (bei geöffneter Web-Seite) - aber ich glaube, das weißt Du schon...
Noch eine Frage: Ließe sich das Projekt auch für einen Stromzähler verwenden?

Vielen Dank nochmals für die tolle Software und Projekt!
Martin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.