This is an example of Artificial Intelligence (AI) calculations on a very cheap hardware.
Details on function, installation and configuration can be found on the Wiki Page
A 3d-printable housing can be found here: https://www.thingiverse.com/thing:4573481
or here https://www.thingiverse.com/thing:5028229
respectively ESP32-Cam housing only: https://www.thingiverse.com/thing:4571627
If you would like to support the developer with a cup of coffee you can do that via Paypal.
If you have any technical topics, you can file a issue in this repository.In other cases you can contact the developer via email:
- Automated update of the neural network file (tflite) to make the learing of additional pictures much easier and automated (GitHub action)
- New "hyprid" neural network for digital numbers --> allowing the detection of intermediate states ("ring between two numbers") as a subdigit
- slow response of web server during picture analysis
spontaneous reboots (mostly due to html access during image processing)--> solved since v10.3.0
General remark: Beside the firmware.bin
, typically also the content of /html
needs to be updated!
- Graphical configuration: select available neural network files (*.tfl, *.tflite) from drop down menu
- OTA-update: add option to upload tfl / tflite files to the correct locatioin (
/config/
)- in future the new files will also be copied to the
firmware
directory of the repository
- in future the new files will also be copied to the
- Added Wifi RSSI to MQTT information
- Updated analog neural network file (
ana-s3-q-20220105.tflite
) - Updated digital neural network file (
dig-s1-q-20220102.tflite
) - Updated build environment to
Espressif 3.5.0
- Implemented LED flash dimming (
LEDIntensity
). Remark: as auto illumination in the camera is used, this is rather for energy saving. It will not help reducing reflections - Additional camera parameters: saturation, contrast (although not too much impact yet)
- Readings with not automatically removable "N"s are handled like "error" --> no return value in the field "value" anymore (still reported back via field "raw value")
- Updated esp32 camera hardware driver
- Bug fix: MQTT, html improvements
ATTENTION: The new ESP32 camera hardware driver is much more stable on newer OV2640 versions (no or much less reboots) but seems to be not fully compatible with older versions.
- If you have problem with stalled systems you can try the following
-
Update the parameter
ImageQuality
to12
instead of current value5
(manually in theconfig.ini
) -
If this is not helping, you might need to update your hardware or stay with version 9.2
-
-
Due to the update camera driver, the image looks different and a new setup might be needed
- Update reference image
- Update Alignment marks
-
Reduce reboot due to camera problems
-
Update esp32-camera to new version (master as of 2022-01-09)
- Bug Fix MQTT problem
- Issue:
- Changing from v9.x to 10.x the MQTT-paramter "Topic" was renamed into "MainTopic" to address multiple number meters This renaming should have been done automatically in the background within the graphical configuration, but was not working. Instead the parameter "Topic" was deleted and "MainTopic" was set to disabled and "undefined".
- ToDo
- Update the
html.zip
- If old
config.ini
available: copy it to/config
, open the graphical configuration and save it again. - If old
config.ini
not available: reset the parameter "MainTopic" within theconfig.ini
manually - Reboot
- Update the
-
Reduce ESP32 frequency to 160MHz
-
Update tflite (new source: https://github.com/espressif/tflite-micro-esp-examples)
-
Update analog neural network (ana-s3-q-20220105.tflite)
-
Update digital neural network (dig-s1-q-20220102.tflite)
-
Increased web-server buffers
-
bug fix: compiler compatibility
-
NEW v10.0.2: Corrected JSON error
-
Updated compiler toolchain to ESP-IDF 4.3
-
Removal of memory leak
-
Improved error handling during startup (check PSRAM and camera with remark in logfile)
-
MQTT: implemented raw value additionally, removal of regex contrain
-
Normalized Parameter
MaxRateValue
to "change per minute" -
HTML: improved input handling
-
Corrected error handling: in case of error the old value, rate, timestamp are not transmitted any more
- Direct JSON access:
http://IP-ADRESS/json
- Error message in log file in case camera error during startup
- Upgrade analog CNN to v9.1.0
- Upgrade digital CNN to v13.3.0 (added new images)
- html: support of different ports
- NEW 9.1.1 bug fix: LED implemenetation
- External LEDs: change control mode (resolve bug with more than 2 LEDs)
- Additional info into log file
- Bug fix: decimal shift, html, log file
- Implementation of external illumination to adjust positioning, brightness and color of the illumination now individually
- Technical details can be found in the wiki: https://github.com/jomjol/AI-on-the-edge-device/wiki/External-LED
- New housing published for external LEDs and small clearing: https://www.thingiverse.com/thing:5028229
There are some ideas and feature request, which are not followed currently - mainly due to capacity reasons on side of the developer. They are collected here: FeatureRequest.md