* use "total" for Homeassistant discovery topic "raw" if AllowNegativeRates is activ (same as for "value")
* update webUI
* .
* .
* .
* formating
* use state class "measurement" in case of a thermometer
* Update edit_config_template.html
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* delete HTML directory on an update
* delete HTML directory on an update
* rename html folder
* swap HTML folders after extracting
* .
* .
* .
* .
* .
* .
* move SD card check, SD card directories setup and update to before the PSRAM init.
The update should be as early as possible to allow updates even if the PSRAM or cam fails.
* .
* .
* Update Helper.cpp
* Update Helper.h
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: SybexX <Heinrich-Tuning@web.de>
* config page: consolidated reboot and save button
* various pages: consolidated reboot and save button
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* compress all HTML files
* remove gz files, they get zipped in the build pipeline
* Update build.yaml
* removed flipImageSize.png, it is not used anywhere anymore
* Update build.yaml
After the recent parameter rename we're trying to compare the toUpper version of the config parameter against "AnalogToDigitTransitionStart" - which will always fail - hence always using the default value of 9.2.
* Allow to Add a Move to Top button to enhance the ease of navigation for README readers.
* totally top of readme
* .
* Update README.md
* Update README.md
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* fix pipeline (#3294)
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: michael <Heinrich-Tuning@web.de>
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* Update Changelog.md
* Prepare next release (#3267) (#3270)
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
* revert TFlite submodule update as certain modules crash with it, see https://github.com/jomjol/AI-on-the-edge-device/issues/3269
* Rename NUMBER.AnalogDigitTransitionStart.md to NUMBER.AnalogToDigitTransitionStart.md
* Update NUMBER.AnalogToDigitTransitionStart.md
* Update edit_config_template.html
* changed the webhook UploadImg to false
* changed the webhook UploadImg to false (#3279)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Show boolean option in settings page (#3285)
* changed the webhook UploadImg to false
* show boolean value on boolean drop down boxes
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* changed default value from boolean to numeric value in parameter camDenoise documentation
* Update edit_explain_7.html
https://github.com/jomjol/AI-on-the-edge-device/issues/3284?notification_referrer_id=NT_kwDOAAj1wbIxMjY3MDI1Njk3MDo1ODcyMDE#issuecomment-2387102786
* docs: update README.md (#3290)
prefered -> preferred
* rename/remove unused parameters (#3291)
* migrate-cam-parameters (#3288)
* Update main.cpp
* remove commented out code
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update Changelog.md
* cleanup
* Skip release jobs on non-release changes
* Update build.yaml
* Update build.yaml
* Update build.yaml
* Update build.yaml
* Update build.yaml
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
* update pipeline (#3296)
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: michael <Heinrich-Tuning@web.de>
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* Update Changelog.md
* Prepare next release (#3267) (#3270)
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
* revert TFlite submodule update as certain modules crash with it, see https://github.com/jomjol/AI-on-the-edge-device/issues/3269
* Rename NUMBER.AnalogDigitTransitionStart.md to NUMBER.AnalogToDigitTransitionStart.md
* Update NUMBER.AnalogToDigitTransitionStart.md
* Update edit_config_template.html
* changed the webhook UploadImg to false
* changed the webhook UploadImg to false (#3279)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Show boolean option in settings page (#3285)
* changed the webhook UploadImg to false
* show boolean value on boolean drop down boxes
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* changed default value from boolean to numeric value in parameter camDenoise documentation
* Update edit_explain_7.html
https://github.com/jomjol/AI-on-the-edge-device/issues/3284?notification_referrer_id=NT_kwDOAAj1wbIxMjY3MDI1Njk3MDo1ODcyMDE#issuecomment-2387102786
* docs: update README.md (#3290)
prefered -> preferred
* rename/remove unused parameters (#3291)
* migrate-cam-parameters (#3288)
* Update main.cpp
* remove commented out code
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update Changelog.md
* cleanup
* Skip release jobs on non-release changes
* Update build.yaml
* Update build.yaml
* Update build.yaml
* Update build.yaml
* Update build.yaml
* fix pipeline
* Update build.yaml
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: michael <Heinrich-Tuning@web.de>
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* Update Changelog.md
* Prepare next release (#3267) (#3270)
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
* revert TFlite submodule update as certain modules crash with it, see https://github.com/jomjol/AI-on-the-edge-device/issues/3269
* Rename NUMBER.AnalogDigitTransitionStart.md to NUMBER.AnalogToDigitTransitionStart.md
* Update NUMBER.AnalogToDigitTransitionStart.md
* Update edit_config_template.html
* changed the webhook UploadImg to false
* changed the webhook UploadImg to false (#3279)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Show boolean option in settings page (#3285)
* changed the webhook UploadImg to false
* show boolean value on boolean drop down boxes
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* changed default value from boolean to numeric value in parameter camDenoise documentation
* Update edit_explain_7.html
https://github.com/jomjol/AI-on-the-edge-device/issues/3284?notification_referrer_id=NT_kwDOAAj1wbIxMjY3MDI1Njk3MDo1ODcyMDE#issuecomment-2387102786
* docs: update README.md (#3290)
prefered -> preferred
* rename/remove unused parameters (#3291)
* migrate-cam-parameters (#3288)
* Update main.cpp
* remove commented out code
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update Changelog.md
* cleanup
* Skip release jobs on non-release changes
* Update build.yaml
* Update build.yaml
* Update build.yaml
* Update build.yaml
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: michael <Heinrich-Tuning@web.de>
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* Update Changelog.md
* Prepare next release (#3267) (#3270)
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
* revert TFlite submodule update as certain modules crash with it, see https://github.com/jomjol/AI-on-the-edge-device/issues/3269
* Rename NUMBER.AnalogDigitTransitionStart.md to NUMBER.AnalogToDigitTransitionStart.md
* Update NUMBER.AnalogToDigitTransitionStart.md
* Update edit_config_template.html
* changed the webhook UploadImg to false
* changed the webhook UploadImg to false (#3279)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Show boolean option in settings page (#3285)
* changed the webhook UploadImg to false
* show boolean value on boolean drop down boxes
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* changed default value from boolean to numeric value in parameter camDenoise documentation
* Update edit_explain_7.html
https://github.com/jomjol/AI-on-the-edge-device/issues/3284?notification_referrer_id=NT_kwDOAAj1wbIxMjY3MDI1Njk3MDo1ODcyMDE#issuecomment-2387102786
* docs: update README.md (#3290)
prefered -> preferred
* rename/remove unused parameters (#3291)
* migrate-cam-parameters (#3288)
* Update main.cpp
* remove commented out code
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update Changelog.md
* cleanup
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
Co-authored-by: Ikko Eltociear Ashimine <eltociear@gmail.com>
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
* Create dig-cont_0640_s3_q.tflite
* Update edit_reference.html (#2924)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist
* Update edit_config_template.html (#2925)
Zoom-Einstellungen ausblenden, wenn zoom deaktiviert ist +
Kameraeinstellungen nicht nur in der config.ini speichern, sondern auch setzen
* The parameter "negative" is processed on the MCU
* Renamed menu entry Alignment -> References
* renamed model file to make naming consistent
* Fix test (#2933)
* always reset change absolute (#2956)
* Create dig-class11_1701_s2.tflite
* Update tflite
* Update tflite
* Camera settings (#3029)
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Fix minor typo and harmonize spaces (#3030)
* Update edit_digits.html
* Update edit_analog.html
* Update overview.html
* Update edit_reference.html
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* Source code formatting, ClassFlowPostProcessing.cpp
* fix edit_config_template.html
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix readconfigparam.js
Unfortunately, I didn't take out some entries from other experiments because I overlooked/forgot them^^
* fix edit_config_template.html
TakeImage_CamZoomMode_value1 was replaced by TakeImage_CamZoomSize_value1, but not deleted.
This caused problems when saving the camera settings.
* Update info.html
function loadWLANSSID() was present three times
* Update overview.html
CamFrameSize is no longer needed/used for zoom
* Update reply-bot.yaml
* homeassistant service discovery: derive node_id when using nested topics (#3088)
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* add Prometheus/OpenMetrics exporter (#3081)
* add prometheus endpoint
* refine metrics implementation
* move metrics generator to ClassFlowControll
* add more metrics
align prefix
* add more metrics
clean up
* refine documentation
* revert dependencies change
* sanitize labels
* create separate module for openmetrics
* move openmetrics to separate folder
* clean up
* add basic unit-tests
* work with const numbers
add replaceAll for string replacement
avoid opening std namespace
adapt unit-tests
* Update code/main/server_main.cpp
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Typo
* update platformIO to 6.7.0 (ESP IDF 5.2.1) (#3098)
* update to platformio/espressif32 @ 6.7.0
* remove unused getReadout() as it throws errors (error: 'virtual std::string ClassFlow::getReadout()' was hidden).
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update reply-bot.yaml (#3107)
* Fix actions-label-commenter
* Update Helper.cpp
* Update Helper.h
* Update Helper.cpp
* Update readconfigparam.js
fix for:
In the selected field the value '1' in the section 'TakeImage' in the field 'CamGainceiling' is invalid. PLEASE CHECK BEFORE SAVING!
* proposal for renaming and documentation (#3115)
* Update server_camera.cpp
Fix building with -D DEBUG_DETAIL_ON
better alternative to:
https://github.com/jomjol/AI-on-the-edge-device/pull/3160
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowAlignment.cpp
* Fix building with `-D DEBUG_DETAIL_ON` (#3160)
Building with `-D DEBUG_DETAIL_ON` has been broken since #3029.
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Handle empty prevalue.ini gracefully (#3162)
Fixes#2149.
* Bugfix for boot loop (#3175)
* Add files via upload
* Add files via upload
* Add files via upload
* Delete param-docs/parameter-pages/TakeImage/Aec2.md
has been replaced by CamAec2.md
* Delete param-docs/parameter-pages/TakeImage/AutoExposureLevel.md
has been replaced by CamAeLevel.md
* Delete param-docs/parameter-pages/TakeImage/Brightness.md
has been replaced by CamBrightness.md
* Delete param-docs/parameter-pages/TakeImage/Contrast.md
has been replaced by CamContrast.md
* Delete param-docs/parameter-pages/TakeImage/Grayscale.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Negative.md
has been replaced by CamSpecialEffect.md
* Delete param-docs/parameter-pages/TakeImage/Saturation.md
has been replaced by CamSaturation.md
* Delete param-docs/parameter-pages/TakeImage/Sharpness.md
has been replaced by CamSharpness.md
* Delete param-docs/parameter-pages/TakeImage/ImageQuality.md
has been replaced by CamQuality.md
* Delete param-docs/parameter-pages/TakeImage/Zoom.md
has been replaced by CamZoom.md
* Delete param-docs/parameter-pages/TakeImage/ZoomMode.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetX.md
has been replaced by CamZoomOffsetX.md
* Delete param-docs/parameter-pages/TakeImage/ZoomOffsetY.md
has been replaced by CamZoomOffsetY.md
* Delete param-docs/parameter-pages/TakeImage/ImageSize.md
has been replaced by CamZoomSize.md
* Delete param-docs/parameter-pages/TakeImage/FixedExposure.md
has been replaced by CamAec.md
* Delete param-docs/parameter-pages/Alignment/FlipImageSize.md
has been replaced by CamVflip.md
* Delete param-docs/parameter-pages/Alignment/InitialMirror.md
has been replaced by CamHmirror.md
* CamParameter documentation update
https://github.com/jomjol/AI-on-the-edge-device/issues/3185
* typo
* add Webhook #3148 (#3163)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Bugfix for time stamp (#3180)
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowDefineTypes.h
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update ClassFlowPostProcessing.cpp
* Update interface_webhook.cpp
* Update readconfigcommon.js
fix for: The same message("Image Contrast got enhanced") came up with "Update Marker" and "Enhance Image Contrast".
* fix svg favicon
The svg one got added in 33893eb566 but does not work on Firefox
* Update platformIO to 6.8.1 (Contains ESP IDF 5.3) (#3196)
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: michael <Heinrich-Tuning@web.de>
* Update MainFlowControl.cpp
* Add support for OV5640 camera (#3063)
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update MainFlowControl.cpp
* Add rate threshold parameter (#3195)
* still needs to be tested
https://github.com/jomjol/AI-on-the-edge-device/issues/3143
* Update ClassFlowPostProcessing.cpp
code formatting
* Update ClassFlowDefineTypes.h
code formatting
* Update ClassFlowPostProcessing.h
code formatting
* Update edit_config_template.html
* fix
* Update config.ini
* Update edit_config_template.html
* Updated param doc
* Rename parameters
* Update edit_config_template.html
* Update NUMBER.ChangeRateThreshold.md
* Update NUMBER.ChangeRateThreshold.md
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Update main.cpp
* Update config.ini
Adjusted camera settings to make the image brighter.
* Update readconfigparam.js
Adjusted camera settings to make the image brighter.
* add optional ImageUpload for Webhook (#3174)
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Add files via upload (#3207)
* Update ClassFlowPostProcessing.cpp
deleted some unnecessary double entries
RateType renamed to MaxRateType
* Update ClassFlowDefineTypes.h
RateType renamed to MaxRateType
* Update text on recognition page
* Update digital CNN
* add a Delay between the WiFi reconnections (#3068)
* add a Delay between the WiFi reconnections
* log the delay between the WiFi reconnections
move the delay after the log
* cleanup
* cleanup
* cleanup
* Update edit_alignment.html
* cleanup
* cleanup
* Update platformIO to 6.9.0 (Contains ESP IDF 5.3.1)
* Handle crash on corrupted model (#3220)
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* new dig-class100-173-s2-q on 23.800 images (#3257)
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* moved number edit box styles into new file edit_style.css (#3262)
changed input[type=number] from 60px to 3em, to show 3 digits with current font size.
* added note about only TLS 1.2 is supported (#3213)
* Renamed digital to digit (#3219)
* renamed Digital to Digit
* added param migration
* Update .github/label-commenter-config.yaml
* renamed AnalogDigitTransition* to AnalogToDigitTransition*
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: kub3let <95883234+kub3let@users.noreply.github.com>
Co-authored-by: Marco H <myxor@users.noreply.github.com>
Co-authored-by: Henry Thasler <henrythasler@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
Co-authored-by: Raphael Hehl <raphael@rhehl.de>
Co-authored-by: jasaw <jasaw@dius.com.au>
Co-authored-by: Francesco Carnielli <hex7c0@gmail.com>
Co-authored-by: kalwados <kalwados@gmx.de>
* new dig-class100-173-s2-q on 23.800 images
* platformio/espressif32 @ 6.8.1 for esp32cam-dev
* Revert "platformio/espressif32 @ 6.8.1 for esp32cam-dev"
This reverts commit cc9297d483.
* not using platformio 6.1.16
* Revert "not using platformio 6.1.16"
This reverts commit ef18e4fae7.
* Upgrade esp-tflite-micro to 1.3.1
* Added log message to hint in case it crashes on loading a corrupted model
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: add img upload
* webhoop added config for imgupload
* webhook html fixes
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
* add checkbox for Webhook_UploadImg
* Update sd-card/html/edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* Update edit_config_template.html
* added a long timestamp to both webhook requests
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* Add support for OV5640 camera
* clean up sharpness handling
* limit sharpness range to -2 and +2
* refactor
* Fix OV3660 sharpness handling
* refactor sharpness handling
* fix OV3660 zoom mode
* reinstate aspect ratio via imageSize
* Changed OV5640 full frame size to match datasheet
* various fixes
* add denoise config and general clean up
* fix line endings to LF
* Support enabling red blue swap via web interface
* update jpeg quality limits
* remove color swap config; color swap workaround dependent on vflip
* fix missing commit
* fix gain ceiling
* Update cam vflip param page
* fix typo: camdenoise, not camsdenoise
* fix compile errors
* Update platformIO to 6.8.1 (ESP IDF 5.3)
* removed now redundant typedef
* updated IDF manifest hash
* Add files via upload
so it should work now
* Update server_main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: michael <Heinrich-Tuning@web.de>
* WIP add Webhook
* fix config html for webhook
add tooltips for webhook
* webhook: fix not enabling webhook
* send webhook as json
* Update ApiKey.md
* webhook: fix only sending last "Number"
* webhook JSON is now closer to the data log in CSV format
* webhook: drop timeStampTimeUTC and switch from timeStamp to lastvalue like lokal csv to fix no timestamp on error
---------
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
* derive correct node_id for homeassistant service discovery in nested topics (fixes#1792)
* explicit use of std::string
* move nodeId creation to separate function
add unit-tests
* add documentation about node_id generation for Home Assistant MQTT Service Discovery
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
* Add files via upload
Da es Probleme mit param_temp gab (mal ging es, mal nicht), habe ich extra Parameter angelegt (_rotate_temp, _mirror_temp, _isize_temp, _grayscale_temp, _negative_temp, _aec2_temp, _FixedExposure_temp, _zoom_temp, _zm_temp, _x_temp, _y_temp, _intensity_temp, _brightness_temp, _contrast_temp, _saturation_temp, _sharpness_temp, _ae_temp).
Bei den bisherigen Tests, hat alles so funktioniert wie es soll.
* fix all tests and more description
* The decimal point offset. -3 corresponds to x.yyy
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* Implemented late transition
Complete rewrite of analog / digital transition
Two tests is still failing, which need to be discussed.
* Allow wider range of transition values to support late transition
* Added documentation
* not extended resolution allows -1 on the lowest digit
* not extended resolution allows -1 on the lowest number
* negatives on last value digit with -1 will set to prevalue and is not an error #2744
---------
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* on marker updating, show message and retry until round got completed
* same for contrast enhancement
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
- Update `esp-nn` to v1.0.2
- Update `esp32-camera` to v2.0.6
- Updated `tflite-micro-esp-examples` (The repo got renamed to `esp-tflite-micro ` and the folder structure got cleaned up).
* rename InfluxDBv2 parameter Database to Basket
* only enable the field if it is a boolean
* corrected "Basket" to "Bucket"
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
3 new entries in the config section, for setting file paths for
- Root CA
- Client Certificate
- Client Private Key
(all set as expert parameters)
- logging cert filenames
added config entries for MQTT TLS
3 new entries in the config section, for setting file paths for
- Root CA
- Client Certificate
- Client Private Key
- logging cert filenames
MQTT-TLS: Updates for the PR comments
- config.ini now has default values closer to "real" life filenames
- MQTT cert entries are hidden as Expert parameters
- Fixed debug logging at MQTT interface for unhandled messages
* added more debug for #2447
* new model on new images dig-class100-0165_s2
* #2465 fix first digit with extended_Resolution=false
* fix#2491
* #2540 fix trunc of first with imprecise precision
Because a zero-sized chunk indicates the end of a HTTP response sending
another such zero-sized chunk is not interpretable by the HTTP client.
See [RFC2616 3.6.1] "Chunked Transfer Encoding" for details.
[RFC2616 3.6.1]: https://datatracker.ietf.org/doc/html/rfc2616#section-3.6.1
* Testcase for #2145 and debug-log (#2151)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Fix timezone config parser (#2169)
* make sure to parse the whole config line
* fix crash on empty timezone parameter
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Enhance ROI pages (#2161)
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* restart timeout on progress, catch error (#2170)
* restart timeout on progress, catch error
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* BugFix #2167
* Release 15.1 preparations (#2171)
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update changelog
* Fix links to PR
* Formating
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* fix typo
* Replace relative documentation links with absolute ones pointing to the external documentation (#2180)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Sort model files in configuration combobox (#2189)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* reboot task - increase stack size (#2201)
Avoid stack overflow
* Update interface_influxdb.cpp
* Update Changelog.md
* Show PSRAM usage (#2206)
* centralize PSRAM usage (application code only)
* update logging
* update logging
* fix use after free
* initialize buffer
* free rgb_image before ussing it for new allocation
* use wrapper function
* switch log level to debug
* .
* undo adding free() calls
* .
* add names to all CImage instances
* .
* .
* .
* revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM
* .
* typos
* typo
* Added MQTT Outbox explanation/warning
* added CONFIG_SPIRAM_USE_MEMMAP explanation
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Disable custom MQTT Outbox. This also moves the MQTT Publishing memory usage back to the internal RAM!
* log MQTT connection refused reasons (#2216)
* Revert PSRAM usage as it lead to memory fragmentation.
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
* fix missing value data
* Revert PSRAM usage as it lead to memory fragmentation. (#2224)
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Fix missing value data in graph (#2230)
* fix missing value data
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2231)
* Update interface_influxdb.cpp (#2233)
* update copyright year
* Cleanup
* Set prevalue using MQTT + set prevalue to RAW value (REST+MQTT) (#2252)
* Use double instead of float
* Error handling + set to RAW if newvalue < 0
* REST SetPrevalue: Set to RAW if newvalue < 0
* set prevalue with MQTT
* removed the stb_image files and re-add them as a submodule. (#2223)
- stb_image.h: Version update 2.25 -> 2.28
- stb_resize.h: Version update 0.96 -> 0.97
- stb_write.h: Version update 1.14 -> 1.16
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Remove obsolete ClassFlowWriteList (#2264)
* Renaming & cleanup of some modules / functions in source code (#2265)
* Rename module tag name
* Rename server_tflite.cpp -> MainFlowControl.cpp
* Remove redundandant MQTTMainTopic function
* Update
* Remove obsolete GetMQTTMainTopic
* Fix last element missing in digit model drop down (#2282)
* Debug influxdb (#2283)
* Fix time offset issues in InfluxDB component. (#2278)
Closes#2273Closes#2150
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Improve Logging
* Implement TimeSync at beginning
* Update time_sntp.cpp
* Update time_sntp.cpp
* Set Time After WLAN Init
---------
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Implement a camera livestream handler (#2286)
* fix leading NaN (#2310)
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend InfluxDBv1 with individual topic names (#2319)
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Update main.cpp
---------
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2344)
* Update Changelog.md
* Update Changelog.md
* merge conflicts
* merge conflicts
* update changelog
* Update Changelog.md
* Fix alignment mark PSRAM issue (#2357)
* Add lock for shared PSRAM memory, use it for the relevant round steps and the Alignment Mark Task
* only allow taking a new image for the Alignment Mark while round got completed
* show success/denial of Alignment Mark Update Request
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2360)
* Update platformio.ini (#2368)
* Allow the Alignment Mark step while status is "Initializing" or "Initialization (delayed)" or while in setup mode (#2373)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Improve logging if Autostart is not enabled. Renamed/splitted functions (#2376)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Cleanup web UI (#2378)
* fix wrong index on backup log
* remove no longer used files/functions
* improve logging on Alignment Mark Update
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* fix broken sysinfo (#2381)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* Update Changelog.md
* Update sdcard_check.cpp (#2384)
* Update Changelog.md
---------
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Testcase for #2145 and debug-log (#2151)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Fix timezone config parser (#2169)
* make sure to parse the whole config line
* fix crash on empty timezone parameter
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Enhance ROI pages (#2161)
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* restart timeout on progress, catch error (#2170)
* restart timeout on progress, catch error
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* BugFix #2167
* Release 15.1 preparations (#2171)
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update changelog
* Fix links to PR
* Formating
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* fix typo
* Replace relative documentation links with absolute ones pointing to the external documentation (#2180)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Sort model files in configuration combobox (#2189)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* reboot task - increase stack size (#2201)
Avoid stack overflow
* Update interface_influxdb.cpp
* Update Changelog.md
* Show PSRAM usage (#2206)
* centralize PSRAM usage (application code only)
* update logging
* update logging
* fix use after free
* initialize buffer
* free rgb_image before ussing it for new allocation
* use wrapper function
* switch log level to debug
* .
* undo adding free() calls
* .
* add names to all CImage instances
* .
* .
* .
* revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM
* .
* typos
* typo
* Added MQTT Outbox explanation/warning
* added CONFIG_SPIRAM_USE_MEMMAP explanation
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Disable custom MQTT Outbox. This also moves the MQTT Publishing memory usage back to the internal RAM!
* log MQTT connection refused reasons (#2216)
* Revert PSRAM usage as it lead to memory fragmentation.
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
* fix missing value data
* Revert PSRAM usage as it lead to memory fragmentation. (#2224)
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Fix missing value data in graph (#2230)
* fix missing value data
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2231)
* Update interface_influxdb.cpp (#2233)
* update copyright year
* Cleanup
* Set prevalue using MQTT + set prevalue to RAW value (REST+MQTT) (#2252)
* Use double instead of float
* Error handling + set to RAW if newvalue < 0
* REST SetPrevalue: Set to RAW if newvalue < 0
* set prevalue with MQTT
* removed the stb_image files and re-add them as a submodule. (#2223)
- stb_image.h: Version update 2.25 -> 2.28
- stb_resize.h: Version update 0.96 -> 0.97
- stb_write.h: Version update 1.14 -> 1.16
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Remove obsolete ClassFlowWriteList (#2264)
* Renaming & cleanup of some modules / functions in source code (#2265)
* Rename module tag name
* Rename server_tflite.cpp -> MainFlowControl.cpp
* Remove redundandant MQTTMainTopic function
* Update
* Remove obsolete GetMQTTMainTopic
* Fix last element missing in digit model drop down (#2282)
* Debug influxdb (#2283)
* Fix time offset issues in InfluxDB component. (#2278)
Closes#2273Closes#2150
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Improve Logging
* Implement TimeSync at beginning
* Update time_sntp.cpp
* Update time_sntp.cpp
* Set Time After WLAN Init
---------
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Implement a camera livestream handler (#2286)
* fix leading NaN (#2310)
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend InfluxDBv1 with individual topic names (#2319)
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Update main.cpp
---------
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2344)
* Update Changelog.md
* Update Changelog.md
* merge conflicts
* merge conflicts
* update changelog
* Update Changelog.md
* Fix alignment mark PSRAM issue (#2357)
* Add lock for shared PSRAM memory, use it for the relevant round steps and the Alignment Mark Task
* only allow taking a new image for the Alignment Mark while round got completed
* show success/denial of Alignment Mark Update Request
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2360)
* Update platformio.ini (#2368)
* Allow the Alignment Mark step while status is "Initializing" or "Initialization (delayed)" or while in setup mode (#2373)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Improve logging if Autostart is not enabled. Renamed/splitted functions (#2376)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Cleanup web UI (#2378)
* fix wrong index on backup log
* remove no longer used files/functions
* improve logging on Alignment Mark Update
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* fix broken sysinfo (#2381)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Testcase for #2145 and debug-log (#2151)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Fix timezone config parser (#2169)
* make sure to parse the whole config line
* fix crash on empty timezone parameter
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Enhance ROI pages (#2161)
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* restart timeout on progress, catch error (#2170)
* restart timeout on progress, catch error
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* BugFix #2167
* Release 15.1 preparations (#2171)
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update changelog
* Fix links to PR
* Formating
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* fix typo
* Replace relative documentation links with absolute ones pointing to the external documentation (#2180)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Sort model files in configuration combobox (#2189)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* reboot task - increase stack size (#2201)
Avoid stack overflow
* Update interface_influxdb.cpp
* Update Changelog.md
* Show PSRAM usage (#2206)
* centralize PSRAM usage (application code only)
* update logging
* update logging
* fix use after free
* initialize buffer
* free rgb_image before ussing it for new allocation
* use wrapper function
* switch log level to debug
* .
* undo adding free() calls
* .
* add names to all CImage instances
* .
* .
* .
* revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM
* .
* typos
* typo
* Added MQTT Outbox explanation/warning
* added CONFIG_SPIRAM_USE_MEMMAP explanation
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Disable custom MQTT Outbox. This also moves the MQTT Publishing memory usage back to the internal RAM!
* log MQTT connection refused reasons (#2216)
* Revert PSRAM usage as it lead to memory fragmentation.
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
* fix missing value data
* Revert PSRAM usage as it lead to memory fragmentation. (#2224)
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Fix missing value data in graph (#2230)
* fix missing value data
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2231)
* Update interface_influxdb.cpp (#2233)
* update copyright year
* Cleanup
* Set prevalue using MQTT + set prevalue to RAW value (REST+MQTT) (#2252)
* Use double instead of float
* Error handling + set to RAW if newvalue < 0
* REST SetPrevalue: Set to RAW if newvalue < 0
* set prevalue with MQTT
* removed the stb_image files and re-add them as a submodule. (#2223)
- stb_image.h: Version update 2.25 -> 2.28
- stb_resize.h: Version update 0.96 -> 0.97
- stb_write.h: Version update 1.14 -> 1.16
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Remove obsolete ClassFlowWriteList (#2264)
* Renaming & cleanup of some modules / functions in source code (#2265)
* Rename module tag name
* Rename server_tflite.cpp -> MainFlowControl.cpp
* Remove redundandant MQTTMainTopic function
* Update
* Remove obsolete GetMQTTMainTopic
* Fix last element missing in digit model drop down (#2282)
* Debug influxdb (#2283)
* Fix time offset issues in InfluxDB component. (#2278)
Closes#2273Closes#2150
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Improve Logging
* Implement TimeSync at beginning
* Update time_sntp.cpp
* Update time_sntp.cpp
* Set Time After WLAN Init
---------
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Implement a camera livestream handler (#2286)
* fix leading NaN (#2310)
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend InfluxDBv1 with individual topic names (#2319)
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Update main.cpp
---------
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2344)
* Update Changelog.md
* Update Changelog.md
* merge conflicts
* merge conflicts
* update changelog
* Update Changelog.md
* Fix alignment mark PSRAM issue (#2357)
* Add lock for shared PSRAM memory, use it for the relevant round steps and the Alignment Mark Task
* only allow taking a new image for the Alignment Mark while round got completed
* show success/denial of Alignment Mark Update Request
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2360)
* Update platformio.ini (#2368)
* Allow the Alignment Mark step while status is "Initializing" or "Initialization (delayed)" or while in setup mode (#2373)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Improve logging if Autostart is not enabled. Renamed/splitted functions (#2376)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Cleanup web UI (#2378)
* fix wrong index on backup log
* remove no longer used files/functions
* improve logging on Alignment Mark Update
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md
---------
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* fix wrong index on backup log
* remove no longer used files/functions
* improve logging on Alignment Mark Update
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Testcase for #2145 and debug-log (#2151)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Fix timezone config parser (#2169)
* make sure to parse the whole config line
* fix crash on empty timezone parameter
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Enhance ROI pages (#2161)
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* restart timeout on progress, catch error (#2170)
* restart timeout on progress, catch error
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* BugFix #2167
* Release 15.1 preparations (#2171)
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update changelog
* Fix links to PR
* Formating
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* fix typo
* Replace relative documentation links with absolute ones pointing to the external documentation (#2180)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Sort model files in configuration combobox (#2189)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* reboot task - increase stack size (#2201)
Avoid stack overflow
* Update interface_influxdb.cpp
* Update Changelog.md
* Show PSRAM usage (#2206)
* centralize PSRAM usage (application code only)
* update logging
* update logging
* fix use after free
* initialize buffer
* free rgb_image before ussing it for new allocation
* use wrapper function
* switch log level to debug
* .
* undo adding free() calls
* .
* add names to all CImage instances
* .
* .
* .
* revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM
* .
* typos
* typo
* Added MQTT Outbox explanation/warning
* added CONFIG_SPIRAM_USE_MEMMAP explanation
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Disable custom MQTT Outbox. This also moves the MQTT Publishing memory usage back to the internal RAM!
* log MQTT connection refused reasons (#2216)
* Revert PSRAM usage as it lead to memory fragmentation.
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
* fix missing value data
* Revert PSRAM usage as it lead to memory fragmentation. (#2224)
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Fix missing value data in graph (#2230)
* fix missing value data
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2231)
* Update interface_influxdb.cpp (#2233)
* update copyright year
* Cleanup
* Set prevalue using MQTT + set prevalue to RAW value (REST+MQTT) (#2252)
* Use double instead of float
* Error handling + set to RAW if newvalue < 0
* REST SetPrevalue: Set to RAW if newvalue < 0
* set prevalue with MQTT
* removed the stb_image files and re-add them as a submodule. (#2223)
- stb_image.h: Version update 2.25 -> 2.28
- stb_resize.h: Version update 0.96 -> 0.97
- stb_write.h: Version update 1.14 -> 1.16
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Remove obsolete ClassFlowWriteList (#2264)
* Renaming & cleanup of some modules / functions in source code (#2265)
* Rename module tag name
* Rename server_tflite.cpp -> MainFlowControl.cpp
* Remove redundandant MQTTMainTopic function
* Update
* Remove obsolete GetMQTTMainTopic
* Fix last element missing in digit model drop down (#2282)
* Debug influxdb (#2283)
* Fix time offset issues in InfluxDB component. (#2278)
Closes#2273Closes#2150
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Improve Logging
* Implement TimeSync at beginning
* Update time_sntp.cpp
* Update time_sntp.cpp
* Set Time After WLAN Init
---------
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Implement a camera livestream handler (#2286)
* fix leading NaN (#2310)
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend InfluxDBv1 with individual topic names (#2319)
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Update main.cpp
---------
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2344)
* Update Changelog.md
* Update Changelog.md
* merge conflicts
* merge conflicts
* update changelog
* Update Changelog.md
* Fix alignment mark PSRAM issue (#2357)
* Add lock for shared PSRAM memory, use it for the relevant round steps and the Alignment Mark Task
* only allow taking a new image for the Alignment Mark while round got completed
* show success/denial of Alignment Mark Update Request
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2360)
---------
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Add lock for shared PSRAM memory, use it for the relevant round steps and the Alignment Mark Task
* only allow taking a new image for the Alignment Mark while round got completed
* show success/denial of Alignment Mark Update Request
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Testcase for #2145 and debug-log (#2151)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Fix timezone config parser (#2169)
* make sure to parse the whole config line
* fix crash on empty timezone parameter
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Enhance ROI pages (#2161)
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* restart timeout on progress, catch error (#2170)
* restart timeout on progress, catch error
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* BugFix #2167
* Release 15.1 preparations (#2171)
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update changelog
* Fix links to PR
* Formating
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* fix typo
* Replace relative documentation links with absolute ones pointing to the external documentation (#2180)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Sort model files in configuration combobox (#2189)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* reboot task - increase stack size (#2201)
Avoid stack overflow
* Update interface_influxdb.cpp
* Update Changelog.md
* Show PSRAM usage (#2206)
* centralize PSRAM usage (application code only)
* update logging
* update logging
* fix use after free
* initialize buffer
* free rgb_image before ussing it for new allocation
* use wrapper function
* switch log level to debug
* .
* undo adding free() calls
* .
* add names to all CImage instances
* .
* .
* .
* revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM
* .
* typos
* typo
* Added MQTT Outbox explanation/warning
* added CONFIG_SPIRAM_USE_MEMMAP explanation
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Disable custom MQTT Outbox. This also moves the MQTT Publishing memory usage back to the internal RAM!
* log MQTT connection refused reasons (#2216)
* Revert PSRAM usage as it lead to memory fragmentation.
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
* fix missing value data
* Revert PSRAM usage as it lead to memory fragmentation. (#2224)
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Fix missing value data in graph (#2230)
* fix missing value data
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2231)
* Update interface_influxdb.cpp (#2233)
* update copyright year
* Cleanup
* Set prevalue using MQTT + set prevalue to RAW value (REST+MQTT) (#2252)
* Use double instead of float
* Error handling + set to RAW if newvalue < 0
* REST SetPrevalue: Set to RAW if newvalue < 0
* set prevalue with MQTT
* removed the stb_image files and re-add them as a submodule. (#2223)
- stb_image.h: Version update 2.25 -> 2.28
- stb_resize.h: Version update 0.96 -> 0.97
- stb_write.h: Version update 1.14 -> 1.16
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Remove obsolete ClassFlowWriteList (#2264)
* Renaming & cleanup of some modules / functions in source code (#2265)
* Rename module tag name
* Rename server_tflite.cpp -> MainFlowControl.cpp
* Remove redundandant MQTTMainTopic function
* Update
* Remove obsolete GetMQTTMainTopic
* Fix last element missing in digit model drop down (#2282)
* Debug influxdb (#2283)
* Fix time offset issues in InfluxDB component. (#2278)
Closes#2273Closes#2150
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Improve Logging
* Implement TimeSync at beginning
* Update time_sntp.cpp
* Update time_sntp.cpp
* Set Time After WLAN Init
---------
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Implement a camera livestream handler (#2286)
* fix leading NaN (#2310)
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend InfluxDBv1 with individual topic names (#2319)
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Update main.cpp
---------
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2344)
* Update Changelog.md
* Update Changelog.md
* merge conflicts
* merge conflicts
* update changelog
---------
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: Antonin Delpeuch <antonin@delpeuch.eu>
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* analogROI: Activate save button after ROI creation (#2326)
* Migration of PlatformIO 5.2.0 to 6.1.0 (resp. ESP IDF from 4.4.2 to 5.0.1) (#2305)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Keep MainFlowTask alive to handle reboot (#2325)
* Shared PSRAM memory (#2285)
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* fix PSRAM init return value check
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Implement individual influx topic
* Update interface_influxdb.cpp
* Update interface_influxdb.cpp
* Update FieldName
* Extend incl. indiv. Measurement
* Implement UX
* Update ClassFlowInfluxDBv2.cpp
* Update main.cpp
---------
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* enable PSRAM logging
* add extra functions for psram shared memroy handling
* CImageBasis objects still should used dynamic memory (eg. rawImage), haw ever tmpImage must be placed inside the shared memory
* Place all STBI allocs inside the shared memory
* The models are placed in the shared PSRAM reagion and must be allocated through the dedicated functions
* .
* renaming
* fix cast warning
* add flag to switch STBI PSRAM usage
* improve PSRAM shared handling
* reserve shared PSRAM as early as possible
* init logging eralier so we can use it in PSRAM shared alloc
* move Wifi_LWIP, BSS_SEG and MQTT Outbox into PSRAM to ffree internal memory
* Check if model fits into reserved shared memory
* Update code/components/jomjol_tfliteclass/CTfLiteClass.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_flowcontroll/ClassFlowControll.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_image_proc/CImageBasis.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* Update code/components/jomjol_helper/psram.cpp
* .
* .
* .
* .
* Korrektur Merge Conflict in main.cpp
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* fix leading NaN (#2310)
* Migration to PlatformIO 6.1.0
* Disable RMTMEM usage as it is no longer allowed -> Smart LEDs not functional!
* moved miniz into subfolder of jomjol_fileserver_ota, else it does not build anymore.
* cleanup
* Task watchdog has new config name
* Fix return value check. It must be something else than ESP_FAIL, but it does not need to be ESP_OK!
* add missing strucures to work around new RMTMEM restriction (untested)
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Testcase for #2145 and debug-log (#2151)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Fix timezone config parser (#2169)
* make sure to parse the whole config line
* fix crash on empty timezone parameter
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Enhance ROI pages (#2161)
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* restart timeout on progress, catch error (#2170)
* restart timeout on progress, catch error
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* BugFix #2167
* Release 15.1 preparations (#2171)
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update changelog
* Fix links to PR
* Formating
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* fix typo
* Replace relative documentation links with absolute ones pointing to the external documentation (#2180)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Sort model files in configuration combobox (#2189)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* reboot task - increase stack size (#2201)
Avoid stack overflow
* Update interface_influxdb.cpp
* Update Changelog.md
* Show PSRAM usage (#2206)
* centralize PSRAM usage (application code only)
* update logging
* update logging
* fix use after free
* initialize buffer
* free rgb_image before ussing it for new allocation
* use wrapper function
* switch log level to debug
* .
* undo adding free() calls
* .
* add names to all CImage instances
* .
* .
* .
* revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM
* .
* typos
* typo
* Added MQTT Outbox explanation/warning
* added CONFIG_SPIRAM_USE_MEMMAP explanation
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Disable custom MQTT Outbox. This also moves the MQTT Publishing memory usage back to the internal RAM!
* log MQTT connection refused reasons (#2216)
* Revert PSRAM usage as it lead to memory fragmentation. (#2224)
See https://github.com/jomjol/AI-on-the-edge-device/issues/2200 for details
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Fix missing value data in graph (#2230)
* fix missing value data
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Update Changelog.md (#2231)
---------
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* centralize PSRAM usage (application code only)
* update logging
* update logging
* fix use after free
* initialize buffer
* free rgb_image before ussing it for new allocation
* use wrapper function
* switch log level to debug
* .
* undo adding free() calls
* .
* add names to all CImage instances
* .
* .
* .
* revert changes of stbi_image_free() with free_psram_heap() on the places where is is not in PSRAM
* .
* typos
* typo
* Added MQTT Outbox explanation/warning
* added CONFIG_SPIRAM_USE_MEMMAP explanation
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Testcase for #2145 and debug-log (#2151)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Fix timezone config parser (#2169)
* make sure to parse the whole config line
* fix crash on empty timezone parameter
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Enhance ROI pages (#2161)
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* restart timeout on progress, catch error (#2170)
* restart timeout on progress, catch error
* .
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* BugFix #2167
* Release 15.1 preparations (#2171)
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update changelog
* Fix links to PR
* Formating
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
* Update Changelog.md
---------
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* fix typo
* Replace relative documentation links with absolute ones pointing to the external documentation (#2180)
Co-authored-by: CaCO3 <caco@ruinelli.ch>
* Sort model files in configuration combobox (#2189)
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* reboot task - increase stack size (#2201)
Avoid stack overflow
* Update interface_influxdb.cpp
* Update Changelog.md
---------
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: CaCO3 <caco3@ruinelli.ch>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
* new models ana-cont-11.0.5, ana-class100-1.5.7, dig-class100-1.6.0
* Testcase for #2145
Added debug log, if allowNegativeRates is handeled
* Sort model files in combobox
* Check if the ROIs are equidistant. Only if not, untick the checkbox
* renaming
* Check if the ROIs have same y, dy and dx. If so, tick the sync checkbox
* only allow editing space when box is checked
* fix sync check
* show inner frame on all ROIs
* cleanup
* Check if the ROIs have same dy and dx. If so, tick the sync checkbox
* checkbox position
* renaming
* renaming
* show inner frame and cross hairs on all ROIs
* update ROIs on ticking checkboxes
* show timezone hint
* fix deleting last ROI
* cleanup
---------
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Make sure to setup your ROIs properly. Have a look on our documentation:https://jomjol.github.io/AI-on-the-edge-device-docs/ROI-Configuration/#how-to-setup-the-digit-rois-perfectly
discussion:
body:|
Make sure to setup your ROIs properly. Have a look on our documentation:https://jomjol.github.io/AI-on-the-edge-device-docs/ROI-Configuration/#how-to-setup-the-digit-rois-perfectly
See [Digital Digits](https://jomjol.github.io/neural-network-digital-counter-readout) resp. [Analogue Pointers](https://jomjol.github.io/neural-network-analog-needle-readout) for an overview of all trained data.
See [Digits](https://jomjol.github.io/neural-network-digital-counter-readout) resp. [Analogue Pointers](https://jomjol.github.io/neural-network-analog-needle-readout) for an overview of all trained data.
If your type is not contained it can be added to our training material, see [here](https://jomjol.github.io/AI-on-the-edge-device-docs/collect-new-images/).
discussion:
body:|
See [Digital Digits](https://jomjol.github.io/neural-network-digital-counter-readout) resp. [Analogue Pointers](https://jomjol.github.io/neural-network-analog-needle-readout) for an overview of all trained data.
See [Digits](https://jomjol.github.io/neural-network-digital-counter-readout) resp. [Analogue Pointers](https://jomjol.github.io/neural-network-analog-needle-readout) for an overview of all trained data.
If your type is not contained it can be added to our training material, see [here](https://jomjol.github.io/AI-on-the-edge-device-docs/collect-new-images/).
restore-keys:pip# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
- name:Update PlatformIO cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:~/.platformio
key:platformio-${{ github.run_id }}
restore-keys:platformio# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
- name:Update Build cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:./code/.pio/
key:build-${{ github.run_id }}
restore-keys:build# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
- name:Update generated-files cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:|
./code/.pio/build/esp32cam/firmware.bin
./code/.pio/build/esp32cam/partitions.bin
./code/.pio/build/esp32cam/bootloader.bin
./html/*
./demo/*
key:generated-files-${{ github.run_id }}
restore-keys:generated-files# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
- name:Update generated-files cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:|
./code/.pio/build/esp32cam/firmware.bin
./code/.pio/build/esp32cam/partitions.bin
./code/.pio/build/esp32cam/bootloader.bin
./html/*
./demo/*
key:generated-files-${{ github.run_id }}
restore-keys:generated-files# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
- name:Update update cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:update
key:update-${{ github.run_id }}
restore-keys:update# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
# remote_setup__version.zip file with following content:
# - /firmware.bin
# - /html/* (inkl. subfolders)
# - /demo/*
# - /config/*
runs-on:ubuntu-latest
needs:build
steps:
- uses:actions/checkout@v3
- uses:actions/checkout@v4
- name:Update generated-files cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:|
./code/.pio/build/esp32cam/firmware.bin
./code/.pio/build/esp32cam/partitions.bin
./code/.pio/build/esp32cam/bootloader.bin
./html/*
./demo/*
key:generated-files-${{ github.run_id }}
restore-keys:generated-files# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
- name:Update generated-files cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:|
./code/.pio/build/esp32cam/firmware.bin
./code/.pio/build/esp32cam/partitions.bin
./code/.pio/build/esp32cam/bootloader.bin
./html/*
./demo/*
key:generated-files-${{ github.run_id }}
restore-keys:generated-files# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
restore-keys:update# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
- name:Update remote_setup cache on every commit
uses:actions/cache@v3.2.3
uses:actions/cache@v4
with:
path:remote_setup
key:remote_setup-${{ github.run_id }}
restore-keys:remote_setup# This matches above key as it is only used as a prefix. it the restores the nearest cache, see https://github.com/restore-keys:/blob/main/tips-and-workarounds.md#update-a-cache
**There are a lot of ideas for further improvements, but only limited capacity on side of the developer.** Therefore I have created this page as a collection of ideas.
1. Whoever has a new idea can put it here, so it that it is not forgotten.
1. Whoever has a new idea can put it here, so that it is not forgotten.
2. Whoever has time, capacity and passion to support, can take any of the ideas and implement them.
I will support and help where ever I can!
2. Whoever has the time, capacity and passion to support the project can take any of the ideas and implement them. I will provide support and help wherever I can!
Demo mode requires a working camera (if not, one receives a 'Cam bad' error). Would be nice to demo or play around on other ESP32 boards (or on ESP32-CAM boards when you broke the camera cable...).
#### #35 Use the same model, but provide the image from a Smartphone Camera
as reading the Electricity or Water meter every few minutues only delivers apparent accuracy (DE: "Scheingenauigkeit") you could just as well take a picture with your Smartphone evey so often (e.g. once a week when you are in the Basement anyway), then with some "semi clever" tricks pass this image to the model developed here, and the values then on to whoever needs them e.g. via MQTT.
as reading the Electricity or Water meter every few minutes only delivers apparent accuracy (DE: "Scheingenauigkeit") you could just as well take a picture with your Smartphone every so often (e.g. once a week when you are in the Basement anyway), then with some "semi clever" tricks pass this image to the model developed here, and the values than on to whoever needs them e.g. via MQTT.
IMO: It is not needed to have that many readings (datapoints) as our behaviour (Use of electricity or water) doesn't vary that much, say, over a weeks time. The interpolation between weekly readings will give sufficient information on the power and/or water usage.
#### #34 implement state and Roi for water leak detection
This license allows individuals to use, modify, and share AI-on-the-Edge freely for private, non-commercial purposes. Any commercial use requires a separate licensing agreement with the rights holder.
------
## **1. Grant of License**
### 1.1 **Private Use**
The licensor grants the licensee a free, non-exclusive, worldwide license to use, modify, and distribute the software for private, non-commercial purposes.
### 1.2 **Commercial Use**
The use of the software or any derivative works in any commercial context (including, but not limited to, selling, renting, providing as a service, or integrating into commercial products) is prohibited without a separate commercial license.
------
## **2. Obligation to Private Derivatives**
In modified private versions of the software, the unchanged license as well as the reference to the original source and authors must always be stated (https://github.com/jomjol/AI-on-the-edge-device).
Modified versions of the software must be clearly marked as such and must not imply they are provided by the original licensor.
------
## **3. Commercial Licensing**
Companies, organizations, or individuals wishing to use the software for commercial purposes must obtain a separate commercial license. Please contact mueller.josef(@)gmail.com for further details.
------
## **4. Terms of Cooperation**
By contributing to the AI-on-the-Edge software, this license is considered accepted. This applies to, but is not limited to, code, error corrections, extensions, artwork, documentation, and new features. Any contribution, including libraries and sources, must comply with the terms of this license.
The contributor agrees that the added code and functionality may also be used in commercial versions without compensation to the contributor.
------
## **5. Disclaimer of Liability**
### 5.1 **General Disclaimer**
The software is provided "as is", without any express or implied warranties. The licensor is not liable for any damages resulting from the use of the software.
### 5.2 **No Usage in Safety or Security Environments**
The image processing uses neural networks, among other algorithms, whose results can produce incorrect or unexpected outcomes due to their functionality and the underlying training data. Therefore, this system must not be used or offered for safety-relevant systems or systems with high reliability requirements.
------
## **6. General Provisions**
### 6.1 **Severability Clause**
If any provision of this license is deemed invalid, the remaining provisions shall remain in full force and effect.
------
## **Acceptance**
By using this software, the licensee agrees to the terms of this license.
<h1align="center">AIonthe Edge Device: Digitizing Your non-digital meters with an ESP32-CAM</h1>
<br>
<br>
Artificial intelligence based systems have been established in our every days live. Just think of speech or image recognition. Most of the systems relay on either powerful processors or a direct connection to the cloud for doing the calculations up there. With the increasing power of modern processors the AI systems are coming closer to the end user - which is usually called **edge computing**.
Here this edge computing is brought into a practical oriented example, where a AI network is implemented on a ESP32 device so: **AI on the edge**.
## Table of Contents
- [Key Features 🚀](#key-features-)
- [Workflow 🔧](#workflow-)
- [Impressions 📷](#impressions-)
- [AI-on-the-edge-device on a Water Meter 💧](#ai-on-the-edge-device-on-a-water-meter-)
This projects allows you to digitalize your **analoge** water, gas, power and other meters using cheap and easily available hardware.
All you need is an [ESP32 board with a supported camera](https://jomjol.github.io/AI-on-the-edge-device-docs/Hardware-Compatibility/) and a bit of a practical hand.
<imgsrc="images/esp32-cam.png"width="200px">
## Key features
- Tensorflow Lite (TFlite) integration - including easy to use wrapper
- Inline Image processing (feature detection, alignment, ROI extraction)
- **Small** and **cheap** device (3x4.5x2 cm³, <10EUR)
<imgsrc="https://img.shields.io/badge/Back%20to%20Top-000000?style=for-the-badge&logo=github&logoColor=white"alt="Back to Top">
</a>
</p>
## Setup
There is a growing [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/) which provides you with a lot of information.
Head there to get a start, set it up and configure it.
There are also a articles in the German Heise magazine "make:" about the setup and the technical background (behind a paywall) : [DIY - Setup](https://www.heise.de/select/make/2021/2/2103513300897420296)
For further background information, head to [Neural Networks](https://www.heise.de/select/make/2021/6/2126410443385102621), [Training Neural Networks](https://www.heise.de/select/make/2022/1/2134114065999161585) and [Programming onthe ESP32](https://www.heise.de/select/make/2022/2/2204010051597422030)
Initially you will have to flash the ESP32 through an USB connection. Later an update is possible directly over the Air (OTA).
Artificial intelligence is everywhere, from speech to image recognition. While most AI systems rely on powerful processors or cloud computing, **edge computing** brings AI closer to the end user by utilizing the capabilities of modern processors.
This project demonstrates edge computing using the **ESP32**, a low-cost, AI-capable device, to digitize your analog meters—whether water, gas, or electricity. With affordable hardware and simple instructions, you can turn any standard meter into a smart device.
Let's explore how to make **AI on the Edge** a reality! 🌟
All you need is an [ESP32 board with a supported camera](https://jomjol.github.io/AI-on-the-edge-device-docs/Hardware-Compatibility/) and some practical skills. 🛠️
---
<br>
## Key Features 🚀
- 🔗 **Tensorflow Lite (TFLite) integration**– including an easy-to-use wrapper.
- 📸 **Inline image processing** (feature detection, alignment, ROI extraction).
- 💡 **Small** and **affordable** device (3 x 4.5 x 2 cm³, less than 10 EUR).
- 📷 Integrated camera and illumination.
- 🌐 Web interface for administration and control.
- 🔄 OTA interface for updating directly via the web interface.
- 🏠 Full integration with Home Assistant.
- 📊 Support for **Influx DB 1** and **2**.
- 📡 **MQTT protocol** support.
- 📥 **REST API** available for data access.
<br>
## Workflow 🔧
The device captures a photo of your meter at set intervals. It then extracts the Regions of Interest (ROIs) from the image and runs them through artificial intelligence. As a result, you get the digitized value of your meter.
There are several options for what to do with that value:
+ ### AI-on-the-edge-device on an Electrical Power Meter ⚡
<palign="center">
<imgsrc="images/powermeter.jpg"width="600">
</p>
---
<br>
## Setup 🛠️
There is growing [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/) which provides you with a lot of information. Head there to get started, set it up, and configure it.
There are also articles in the German Heise magazine "make:" about the setup and technical background (behind a paywall): [DIY - Setup](https://www.heise.de/select/make/2021/2/2103513300897420296) 📰
A lot of people have created useful YouTube videos that might help you get started:
- [Programming on the ESP32](https://www.heise.de/select/make/2022/2/2204010051597422030)
---
<br>
## Download 🔽
The latest available version can be found on the [Releases page](https://github.com/jomjol/AI-on-the-edge-device/releases).
---
<br>
## Flashing the ESP32 💾
Initially, you will have to flash the ESP32 via a USB connection. Later updates are possible directly over the air (OTA using Wi-Fi).
There are different ways to flash your ESP32:
- [Web Installer and Console](https://jomjol.github.io/AI-on-the-edge-device/index.html) (Webbrowserbased tool to flash the ESP32 and extract the Log over USB)
- The preferred way is the [Web Installer and Console](https://jomjol.github.io/AI-on-the-edge-device/index.html), a browser-based tool to flash the ESP32 and extract the log over USB:

- Flash Tool from Espressif
- ESPtool (Command Line Tool)
- ESPtool (command-line tool)
See the [Docu](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/) for more information.
See the [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/) for more information.
### Flashing the SD-Card
The SD-Card must be flashed separately, see the [Docu](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/) for details.
The SD card can be set up automatically after the firmware is installed. See the [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/#remote-setup-using-the-built-in-access-point) for details. For this to work, the SD card must be FAT formatted (which is the default on a new SD card).
## Build it yourself
See [Build Instructions](code/README.md).
Alternatively, the SD card can still be set up manually. See the [documentation](https://jomjol.github.io/AI-on-the-edge-device-docs/Installation/#3-sd-card) for details.
## Donate
If you would like to support the developer with a cup of coffee you can do that via [Paypal](https://www.paypal.com/donate?hosted_button_id=8TRSVYNYKDSWL).
<inputtype="image"src="https://www.paypalobjects.com/en_US/DK/i/btn/btn_donateCC_LG.gif"border="0"name="submit"title="PayPal - The safer, easier way to pay online!"alt="Donate with PayPal button"/>
If you have any technical topics, you can create an [Issue](https://github.com/jomjol/AI-on-the-edge-device/issues).
<br>
In other cases you can contact the developer via email: <imgsrc="https://raw.githubusercontent.com/jomjol/AI-on-the-edge-device/master/images/mail.jpg"height="25">
* Logfile downloader and combiner (Thx to [reserve85](https://github.com/reserve85))
* Files see ['/tools/logfile-tool'](tbd), How-to see [Docu](https://jomjol.github.io/AI-on-the-edge-device-docs/outdated--Gasmeter-Log-Downloader/)
## Donate ☕
If you'd like to support the developer with a cup of coffee, you can do so via [PayPal](https://www.paypal.com/donate?hosted_button_id=8TRSVYNYKDSWL).
## Additional Ideas
There are some ideas and feature requests which are not followed currently - mainly due to capacity reasons on side of the developer. They are collected here: [FeatureRequest.md](FeatureRequest.md)
If you have any technical problems, please search the [discussions](https://github.com/jomjol/AI-on-the-edge-device/discussions). In case you find a bug or have a feature request, please open an [issue](https://github.com/jomjol/AI-on-the-edge-device/issues).
For any other issues, you can contact the developer via email:
<palign="center">
<imgsrc="images/mail.jpg"height="25">
</p>
---
<br>
## Changes and History 📜
See the [Changelog](Changelog.md) for detailed information.
---
<br>
## Build It Yourself 🔨
See the [Build Instructions](code/README.md) for step-by-step guidance.
---
<br>
## Tools 🛠️
* Logfile downloader and combiner (Thanks to [reserve85](https://github.com/reserve85))
* It can be found at ['/tools/logfile-tool'](https://github.com/jomjol/AI-on-the-edge-device/tree/main/tools/logfile-tool).
---
<br>
## Additional Ideas 💡
There are some ideas and feature requests which are not currently being pursued—mainly due to capacity constraints on the part of the developers. These features are collected in the [issues](https://github.com/jomjol/AI-on-the-edge-device/issues) and in [FeatureRequest.md](FeatureRequest.md).
---
<br>
## Our Contributors ❤️
<!-- Do not manually edit this section! It should get updated using the Github action "Manually update contributors list" -->
cd /components/submodule-name (e.g. tflite-micro-example)
git checkout VERSION (e.g. HASH of latest tflite-micro-example build)
cd ../../ (auf Ebene von code)
git submodule update --init
```
Evt. muss man vorher noch einige Verzeichnisse in compenents von Hand löschen, da sie beim checkout nicht gelöscht wurden (vor update -- init)
## Build and Flash within terminal
See further down to build it within an IDE.
### Compile
@@ -60,3 +69,6 @@ pio device monitor -p /dev/ttyUSB0
- `pio run --target erase` to erase the flash
- `pio run --target upload` this will upload the `bootloader.bin, partitions.bin,firmware.bin` from the `code/.pio/build/esp32cam/` folder.
- `pio device monitor` to observe the logs via uart
# Update Parameters
If you create or rename a parameter, make sure to update its documentation in `../param-docs/parameter-pages`! Check the `../param-docs/README.md` for more information.
* FIXME: naming of members could use some refactoring to comply with common C++ coding style guidelines
*/
structroi{
intposx,posy,deltax,deltay;
floatresult_float;
@@ -14,51 +18,68 @@ struct roi {
CImageBasis*image,*image_org;
};
/**
* FIXME: Why is this additional layer needed?
*/
structgeneral{
stringname;
std::vector<roi*>ROI;
};
enumt_RateType{
AbsoluteChange,
RateChange
AbsoluteChange,// ignores the time difference; only the value difference is used comparison with NumberPost.maxRate
RateChange// time difference is considered and a normalized rate is used for comparison with NumberPost.maxRate
};
/**
* Holds all properties and settings of a sequence. A sequence is a set of digit and/or analog ROIs that are combined to
* provide one meter reading (value).
* FIXME: can be renamed to `Sequence`
*/
structNumberPost{
floatMaxRateValue;
booluseMaxRateValue;
t_RateTypeRateType;
boolErrorMessage;
boolPreValueOkay;
boolAllowNegativeRates;
boolcheckDigitIncreaseConsistency;
time_tlastvalue;
stringtimeStamp;
doubleFlowRateAct;// m3 / min
double PreValue;// last value that was read out well
doubleValue;// last value read out, incl. corrections
stringReturnRateValue;// return value rate
stringReturnChangeAbsolute;// return value rate
stringReturnRawValue;// Raw value (with N & leading 0)
stringReturnValue;// corrected return value, if necessary with error message
stringReturnPreValue;// corrected return value without error message
stringErrorMessageText;// Error message for consistency check
intAnzahlAnalog;
intAnzahlDigital;
intDecimalShift;
intDecimalShiftInitial;
floatAnalogDigitalTransitionStart;// When is the digit > x.1, i.e. when does it start to tilt?
intNachkomma;
stringFieldname;// Fieldname in InfluxDB2
floatMaxRateValue;// maxRate; upper bound for the difference between two consecutive readings; affected by maxRateType;
booluseMaxRateValue;// consistencyChecksEnabled; enables consistency checks; uses maxRate and maxRateType
t_RateTypeMaxRateType;// maxRateType; affects how the value of maxRate is used for comparing the current and previous value
boolErrorMessage;// FIXME: not used; can be removed
intChangeRateThreshold;// threshold parameter for negative rate detection
boolPreValueOkay;// previousValueValid; indicates that the reading of the previous round has no errors
boolAllowNegativeRates;// allowNegativeRate; defines if the consistency checks allow negative rates between consecutive meter readings.
boolIgnoreLeadingNaN;
boolcheckDigitIncreaseConsistency;// extendedConsistencyCheck; performs an additional consistency check to avoid wrong readings
time_ttimeStampLastValue;// Timestamp for the last read value; is used for the log
time_ttimeStampLastPreValue;// Timestamp for the last PreValue set; is used for useMaxRateValue
time_ttimeStampTimeUTC;// FIXME: not used; can be removed.
stringtimeStamp;// localTimeStr; timestamp of last valid reading formatted as local time
doubleFlowRateAct;// currentRate; ΔValue/min; since usage is not limited to water meters, the physical unit is not known.
doublePreValue;// lastValidValue; most recent value that could be read w/o any errors
doubleValue;// value; most recent readout; may include corrections
stringReturnRateValue;// currentRateStr; current normalized rate; ΔValue/min
stringReturnChangeAbsolute;// currentChangeStr; absolute difference between current and previous measurement
stringReturnRawValue;// rawValueStr; Raw value (with N & leading 0)
stringReturnValue;// valueStr; corrected return value, if necessary with error message
stringReturnPreValue;// lastValidValueStr; corrected return value without error message
stringErrorMessageText;// errorMessage; Error message for consistency checks
intAnzahlAnalog;// numAnalogRoi; number of analog ROIs used in this sequence
intAnzahlDigit;// numDigitRoi; number of digit ROIs used in this sequence
intDecimalShift;// decimalShift; each increment shifts the decimal separator by one digit; value=value*10^decimalShift; pos. value shifts to the right
intDecimalShiftInitial;// decimalShiftInitial; same as decimalShift but is a const to reset decimalShift after calculations
floatAnalogToDigitTransitionStart;// AnalogToDigitTransitionStartValue; FIXME: need a better description; When is the digit > x.1, i.e. when does it start to tilt?
intNachkomma;// decimalPlaces; usually defined by the number of analog ROIs; affected by DecimalShift
boolisExtendedResolution;
stringDomoticzIdx;// Domoticz counter Idx
stringFieldV1;// influxdbFieldName_v1; Name of the Field in InfluxDBv1
stringMeasurementV1;// influxdbMeasurementName_v1; Name of the Measurement in InfluxDBv1
general*digit_roi;
general*analog_roi;
stringFieldV2;// influxdbFieldName_v2; Name of the Field in InfluxDBv2
stringMeasurementV2;// influxdbMeasurementName_v2; Name of the Measurement in InfluxDBv2
stringname;
boolisExtendedResolution;// extendResolution; Adds the decimal place of the least significant analog ROI to the value
general*digit_roi;// digitRoi; set of digit ROIs for the sequence
general*analog_roi;// analogRoi; set of analog ROIs for the sequence
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.