Releases: Slider0007/AI-on-the-edge-device
Releases · Slider0007/AI-on-the-edge-device
v17.1.0-SLFork
17.1.0-SLFork (2025-06-09)
💡 Installation / Migration Notes
A. Initial Installation
--> Recommended: Web Installer
- Follow instructions listed on Web Installer page
- Other installation options: Check Device Provisioning Documentation
B. Update from previous release (17.0.0)
--> Recommended: OTA Update
- Download board specific firmware package
- Perform OTA update
- Verify alignment marker and ROI positions (due to changes of image handling)
C. Migration from previous major release (16.x)
--> Recommended: OTA Update
- Download board specific firmware package
- Perform OTA update (ignore file name mismatch warning)
- Verify migrated device configuration
- Check migrated configuration briefly (majority of the parameter are migrated)
- Reconfigure GPIO section (if it was configured before, no automatic migration)
- Update reference image and alignment marker (Mandatory due to multiple new camera features and adaptions)
- Lots of (breaking) changes are made to existing APIs. A manual reconfiguration is most likely required. Check API documentation
- Check
BREAKING CHANGES
section with PR descriptions and/or documentation for further information
💡 New Supported Hardware
- Board: Freenove (Original) ESP32S3-WROOM-1-N8R8 (8MB Flash / 8MB RAM)
Features
- hardware: Support Freenove ESP32S3-WROOM board (N8R8) (#240) (5c53353)
- image alignment: Enhanced image quality and performance improvements (28065cf)
Bug Fixes
- home assistant discovery: Add device_class
duration
foruptime
topic (#249) (e10e931) - post-processing: Fix parameter plausibility check logs (#241) (a50b7b1)
- tflite class: Resolve race condition during resource deallocation (#247) (ce49155)
Refactoring / Style Changes
- cnn handling: Refactor classes
ClassFlowCNNGeneral
andCTfLite
(#243) (cf5d767) - image alignment: Refactor image alignment (28065cf)
- image handling: Fully renewed image handling and image processing pipeline (#245) (28065cf)
- rest api: Refactor
main
+img_tmp
handler (server-side) (#244) (abe7c63) - source code: Improve code consistency (naming, code style) (#250) (96d0310)
Other Changes
- build: release-please-action: Disable always-update feature (#251) (2482a04)
- model: Update dig-class100 tflite model to v1.80 (#246) (e953b37)
- model: Update ana-class100 tflite model to v1.80 (#256) (2f2f15c)
- model: Update ana-cont tflite model to v17.00 (2f2f15c)
- model: Update dig-class11 tflite model to v20.00 (2f2f15c)
- model: Update dig-cont tflite model to v9.00 (2f2f15c)
- roi image logging: Save roi images with max. jpeg quality (#255) (694affd)
- system info: Update sd-card manufacturer list (#248) (033e912)
v17.0.0-SLFork
17.0.0-SLFork (2025-02-27)
💡 Installation / Migration Notes
A. Initial Installation
--> Recommeded: Web Installer
- Follow instructions listed on Web Installer page
- Other installation options: Check Device Provisioning Documentation
B. Migration from previous releases (16.x)
--> Recommeded: OTA Update
- Download board specific firmware package
- Perfom OTA update (ignore file name mismatch warning)
- Verify migrated device configuration
- Check migrated configuration briefly (majority of the paramter are migrated)
- Reconfigure GPIO section (if it was configured before, no automatic migration)
- Update reference image and alignment marker (Mandatory due to multiple new camera features and adaptions)
- Lots of (breaking) changes are made to existing APIs. A manual reconfiguration is most likely required. Check API documentation
- Check
BREAKING CHANGES
section with PR descriptions and/or documentation for further information
💡 New Supported Hardware
- Board: Seeed Studio XIAO ESP32S3-Sense
- Board: Freenove (clone) ESP32S3-WROOM-1-N16R8 (16MB Flash / 8MB RAM)
- Camera: OmniVision OV5640 (without AF support)
⚠ BREAKING CHANGES
- home assistant discovery: Fix inconsistencies (device / state class) (#229)
- camera control: Enhance two step digital zoom to a free and more finely adjustable zoom (#189)
- config-handling: Complete rework of internal config parameter and sequence data handling (#165)
- gpio: Complete rework of GPIO handler & Add additional features for GPIOs (#154)
- mqtt: Complete rework of MQTT API & Add new content (#151)
- rest api: Complete rework of REST API & WebUI 'info' page (#85)
Features
- camera control: Enhance two step digital zoom to a free and more finely adjustable zoom (#189) (7038293)
- device provisioning: Implement Improv Wi-Fi protocol using serial interface (Wi-Fi config via web installer) (#183) (c1fa372)
- gpio: Complete rework of GPIO handler & Add additional features for GPIOs (#154) (026c650)
- gpio: Support pin logic invertion (active high / low) for selected pin modes (#193) (932ae19)
- hardware: Add support for board Seeed Studio XIAO ESP32S3 Sense (#155) (922ba2f)
- hardware: Add support for boards based on Freenove ESP32S3-WROOM design (N16R8) (#164) (3e88b51)
- hardware: Support camera model OV5640 (#189) (7038293)
- home assistant discovery: Add discovery topics for GPIO pins (#192) (996f67c)
- mqtt: Complete rework of MQTT API & Add new content (#151) (48ce862)
- network: Support mDNS service for hostname resolution (#216) (fc65f83)
- publish service: Implement push-based publish service to a webhook (#181) (ea52a5c)
- publish services: Configurable TLS server certificate verification (#223) (1a6b105)
- rest api: Add basic HTTP authentication for REST API endpoints (#197) (232509d)
- rest api: Complete rework of REST API & WebUI 'info' page (#85) (93353bb)
- rest api: Prometheus (OpenMetrics) exporter (/metrics) (#163) (7f14d89)
- timesync: Process start only when time is synced (implement new process state, interlock configurable) (cfc53b0)
- webui overview: Show timestamp of fallback value (tooltip) (#191) (8625463)
- webui: Add basic HTTP authentication for WebUI (#197) (232509d)
- webui: Implement WLAN network scan functionality (#194) (53fd0f5)
- webui: WLAN configuration via web interface (cfc53b0)
- wlan: Implement additional wlan operation modes (access point, disabled) (#186) (498d10a)
Bug Fixes
- camera / rest api: Adapt config restore after temporary changes by REST API + align camera endpoint (#202) (b5da741)
- camera: Prevent against concurrent access to camera ressource (#202) (b5da741)
- camera: Skip first 10 images after camera init (#201) (e099b48)
- demo mode: Deinit demo mode when main init is aborted (#198) (bbc15a0)
- home assistant discovery: Fix inconsistencies (device / state class) (#229) (00aacf2)
- home assistant discovery: Set correct device class for 'rate_per_time_unit' (#182) (1f68acb)
- load fallbackvalue: Avoid conversion exception if string is invalid (#169) ([7a3219c](7a3219cb97e70ddfc...
v16.2.0-SLFork
v16.1.3-SLFork
v16.1.2-SLFork
16.1.2-SLFork (2024-02-09)
Bug Fixes
- flowctrl: Fix exception accessing getJPG ressource (#121) (5d114d3)
- gpio: Fix GPIO handler enable flag (#134) (6f4a8f4)
- mqtt: Fix Home Assistant topic 'problem' (#130) (cab4597)
- mqtt: Reset username+password when parameter is disabled (#122) (abb0afe)
- webui: Add missing cycle start state message (#133) (f349a2d)
Refactoring / Style Changes
- build: Refactor board type / camera model selection (#126) (54f6847)
- Cleanup / rearrange header includes (#117) (a45431f)
- ota: Refactor / cleanup OTA functions (#123) (c85bd06)
- sdcard: Refactor SD card init (#125) (e0e2a4e)
- webui: Improve page loading time (async REST API calls) (#124) (4c1a1c9)
Other Changes
- build: Include parameter docs into this repo (#128) (6fb0b53)
- build: Refactor / cleanup platformio environments (#120) (cd13662)
- build: Update github actions (node 16 EOL) (#127) (263c821)
- build: Update release-please-action (node 16 EOL) (#135) (9269194)
- docs: Add some troubleshooting docs (#132) (cfd046e)
- docs: Include REST API + MQTT API description into this repo (#129) (d3dc0a3)
- nvs: Add staus LED blink codes for NVS init errors (#131) (f455c76)
v16.1.1-SLFork
v16.1.0-SLFork
16.1.0-SLFork (2024-01-05)
Features
- influxdb1+2: Implement TLS encryption using certificates (#105) (4364427)
- Make camera frequency adjustable (#79) (47f19c8)
- mqtt: Implement MQTT TLS encryption using certificates (#102) (7d53c1e)
- webui: 'Overview'+'Data Graph': Save auto page refresh config persistently (#113) (6a36d5a)
- webui: Automatic ROI naming + ROI/Alignment marker position validation (#99) (cd5b979)
Bug Fixes
- alignment marker: Fix usage of preallocated RAM (#95) (5676d59)
- Fix 'MaxRateType' parameter migration (#91) (5926bf8)
- influxdb: Consider DST for UTC time converison (#89) (d1f77ac)
- influxdbv2: Rename parameter 'database' to 'bucket' (#100) (b2f9e11)
- parameter migration: Fix 'MaxRateType' parameter (Handling 'RateOff') (#97) (6901c01)
- REST API: Fix misleading REST API send_file error (#107) (5112ce4)
- REST API: Fix rare exception for log file handling (#112) (21e61d1)
- webui: Increase file handling robustness -> handle config.ini update in firmware (#90) (c348cb3)
- webui: Make REST API calls more robust (#109) (2909471)
- wlan.ini: ChangeRSSIThreshold: Fix logging issue (#111) (4c75e4e)
- wlan: Fix deletion of array object (#110) (2f0934e)
Refactoring / Style Changes
- helper: Move functions to system_info (#82) (40f95f8)
- Relocate setCPUFrequency (#88) (d95c677)
- Rename 'round' to 'cycle' (#84) (ce61169)
- REST API: Relocate REST API functions (#83) (285d8d7)
- webserver: Adapt/Align some debug log level (#98) (7e1ee91)
- webui: Optimized mobile presenation (#96) (8cd041b)
- webui: Overlay notification box e.g. after user interaction (#108) (0902669)
Other Changes
- build: Create release-please PR as draft (#87) (b0e039c)
- build: Ensure GIT_TAG is never empty (#86) (be07db0)
- build: Fix git tag in device log (#92) (fb83eb0)
- build: Remove folder creation during build (#93) (2d3a3ec)
- dependency: Update esp-tflite-micro, esp-nn, esp32-camera, stb, miniz (#94) (7949c5d)
- Modify test environment detection (#101) (2509ffe)
- repo: Update readme (#103) (16697ad)
- tflite: Updated digit/analog models (#114) (9671208)
- unity-test: Fix some test cases (#104) (a83348a)
- Update static part of firmware version string (#80) (c283977)
v16.0.2-SLFork
v16.0.1-SLFork
16.0.1-SLFork (2023-10-18)
Other Changes
v16.0.0-SLFork
16.0.0-SLFork (2023-10-13)
The following changes are implemented on the base of jomjol's v15.1.1 release.
--> https://github.com/jomjol/AI-on-the-edge-device/tree/2a7f3b33a30985b43a8db123a1f5f6e5f264f486
⚠ BREAKING CHANGES
- Changed MQTT topic names [more infos: #57]
- Renamed REST API /value option: error -> status [more infos: #57]
- Adapted data log structure (value status only status number) [more infos: #57]
- Rename of
preValue
name variants tofallbackValue
in code and WebUI [more infos: #57] - Rework result post-processing and publishing (REST, MQTT, InfluxDB) [more infos: #57]
- Rework ROI CNN result processing and related functions [more infos: #49]
- Remove legacy REST APIs [more infos: #29]
- Update REST API handler_value + Refactor WebUI recognition page [more infos: #29]
- Save prevalue (fallbackvalue) to NVS instead of file [more infos: #10]
- Fully reworked main flow state machine (new state names) [more infos: #2]
- Reload configuration without device reboot [more infos: #2]
Features
- Add a post process event handler to perform error/debug handling) (932d538)
- Dedicated state names for digit/analog processing (inspired by caco3) (47b37eb)
- Enhance alignment algo + Add error handling (de17472)
- fileserver: Enhanced file deletion routine (cherry picked, implemented by caco3) (783b7ea)
- Extend InfluxDBv1 with individual topic names (implemented by jomjol) (jomjol#2319)
- Fully reworked main flow state machine (new state names) (751e42d)
- Implement a camera livestream handler (jomjol#2286)
- Keep alignment marker in RAM to reduce SD read cycles (3f68cc4)
- Keep tflite models file loaded after cycle init (6a3d1df)
- Move bss segment to SPIRAM -> more free internal RAM (7c7a63c)
- Provide cycle process error -> MQTT / REST API (fe6231e)
- Reload configuration without device reboot (751e42d)
- Remove legacy REST APIs (020d9ec)
- Rework result post-processing and publishing (REST, MQTT, InfluxDB) (d07b86f)
- Rework ROI CNN result processing and related functions (bd6ab71)
- ROI images not saving to sd card by default to reduce write cycles (be023b4)
- Save prevalue (fallbackvalue) to NVS instead of file (a39bc52)
- Update REST API handler_value + Refactor WebUI recognition page (020d9ec)
- Set prevalue using MQTT + set prevalue to RAW value (REST+MQTT) (jomjol#2252)
- webui: Add initial rotate to WebUI config page (5767e93)
- webui: Alignment: Add option to switch off rotation (da2e900)
- webui: Allow firmware.bin as valid file name (932d538)
- webui: Config page: Remove unnecessary checkboxes (d93eeb5)
- webui: Data Graph: Add Raw value + refactor (d07b86f)
- webui: Enahnce WebUI using new REST API /process_data and some further chnages (85ceeba)
- webui: Implement auto page refresh function for 'Overview' and 'Data Graph' (3ab1eda)
- webui: Improve handling of missing parameter (935f930)
- webui: Overview.html: Rename value status result to valid / invalid (12aae5f)
- webui: Updated WebUI to match new flow states (751e42d)
Bug Fixes
- Delete TFLiteClass only when ClassFlowCNN gets deleted (f4f2d8b)
- Digit no zero crossing issue (#74) (9c1a35d)
- fileserver: avoid sending two "last-chunk" sequences (#2532) (#53) (db467c0)
- Fix first digit when extended resolution off (#2466) (733e58d)
- Fix last element missing in digit model drop down (jomjol#2282)
- Fix leading NaN (jomjol#2310)
- Fix broken sysinfo (implemented by caco3) (jomjol#2381)
- mqtt: mqtt_handler_set_prevalue: fix memory leak (0b99624)
- Update SmartLeds driver (avoid build warnings) (b641a92)
- webui: Analog ROI: Fix wrong multiplier view (575f504)
- webui: Aspect ratio for analog ROIs incorrect (1bb3470)
- webui: Config: Remove unused parameter
ErrorMessage
in code and WebUI (d07b86f) - webui: Fix missing first entry of logfile + datafile in default viewer (583a24f)
- webui: Remove icon of parameter tooltip admonitions (7c9a1bf)
- webui: Remove unused gethost.js (d4e832b)
- webui: Show info message if no recent log / data entries available (f22be0c)
- wifi: Allow operation with empty WIFI password (bd07d7a)
Refactor / Style Changes
- Adapted data log structure (value status only status number) (d07b86f)
- Changed MQTT topic names (d07b86f)
- Harmonize / update some logs (7d8d646)
- Harmonize time usage (3505044)
- influxdb: Refactor InfluxDBv1+v2 functions (4f59958)
- Move function 'PowerResetCamera' to 'ClassControllCamera' (69fb93b)
- Refactor camera init during boot (932d538)
- Refactor ClassControllCamera (751e42d)
- Refactor ClassTakeImage ([751e42d...