CaCO3 019069cd16 v15.5.0 (#2850) (#2851)
* update

* Revert "v15.4.0"

This reverts commit 74d4f20858.

* Revert "prepare v15.4.0 versuch 2"

This reverts commit e790a14caa.

* revert submnodules (#2768)



* Update submodules (#2769)

- 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).

* fix(unity-test): Run unity tests in dedicated task
Avoid running out of heap

* Add delay

* Update

* Update

* Enhance busy notification (#2774)

* on marker updating, show message and retry until round got completed

* same for contrast enhancement

---------



* Fix negatives on extended resolution false #2744 (#2772)

* 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

---------



* Implemented late analog / digital transition (#2778)

* 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

* Fix testings (#2783)

* fix all tests and more description

* The decimal point offset. -3 corresponds to x.yyy

---------



* Bugfix InfluxDB shifting times (#2785)

* Modify time_sntp

* Update time_sntp.cpp

* Update time_sntp.cpp

* update

* Update interface_influxdb.cpp

* Update interface_influxdb.cpp

* Update time_sntp.cpp

* Upload

* Update interface_influxdb.cpp

* Update interface_influxdb.cpp

* Update interface_influxdb.cpp

* Remove Time Convert vom influx Interface

* Update platform-espressif32 to 6.5.0 (#2770)

* Update ESP IDF to 6.5.0

* Migration to new IDF

* Correct smtp vor v5.1

---------




* ATA-Trim support (#2781)

* Add files via upload

* Update main.cpp

* Update main.cpp

* Update main.cpp

* Update Helper.cpp

* Update Helper.h

* Update CMakeLists.txt

* Update CMakeLists.txt

* Update diskio_sdmmc_mh.c

* Update diskio_sdmmc_mh.h

* Update ff_mh.c

* Update vfs_fat_sdmmc_mh.c

* Update sdmmc_common_mh.h

* Update sdmmc_common_mh.c

* Update Helper.cpp

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update README.md

* Update ff_mh.c

---------



* Update Changelog.md

* Add device info info page (#2789)



* fix chip information REST API

* Update pipelines to fix warnings (#2841)

Update actions

* Move param doc (#2843)

moved param doc from docs repo to here

* fix(tflite): Fix memory leaks in tflite integration (#2842)

* Update Changelog.md (#2849)

---------

Signed-off-by: Florian Grabmeier <flo.grabmeier@gmail.com>
Co-authored-by: jomjol <30766535+jomjol@users.noreply.github.com>
Co-authored-by: CaCO3 <caco@ruinelli.ch>
Co-authored-by: Slider0007 <jobbelle@gmx.net>
Co-authored-by: Frank Haverland <fspapaping@googlemail.com>
Co-authored-by: Martin Siggel <martin.siggel@dlr.de>
Co-authored-by: michael <Heinrich-Tuning@web.de>
Co-authored-by: flox_x <93255373+flooxo@users.noreply.github.com>
Co-authored-by: Slider0007 <115730895+Slider0007@users.noreply.github.com>
2024-02-02 13:52:05 +01:00
2024-01-31 21:53:56 +01:00
2023-10-21 22:23:08 +02:00
2023-10-21 22:32:25 +02:00
2024-01-31 21:53:56 +01:00
2024-01-31 21:53:56 +01:00
2024-01-31 21:53:56 +01:00
2023-12-28 12:13:57 +01:00
2024-02-02 13:46:42 +01:00
2023-09-03 15:48:00 +02:00
2023-10-21 22:39:21 +02:00

Welcome to the AI-on-the-edge-device

Artificial intelligence based systems have become established in our everyday lives. Just think of speech or image recognition. Most of the systems rely on either powerful processors or a direct connection to the cloud for doing the calculations 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 put into a practically oriented example, where an AI network is implemented on an ESP32 device so: AI on the edge.

This project allows you to digitize your analog water, gas, power and other meters using cheap and easily available hardware.

All you need is an ESP32 board with a supported camera and something of a practical hand.

Key features

  • Tensorflow Lite (TFlite) integration including easy-to-use wrapper
  • Inline image processing (feature detection, alignment, ROI extraction)
  • Small and cheap device (3 x 4.5 x 2 cm³, < 10 EUR)
  • Integrated camera and illumination
  • Web interface for administration and control
  • OTA interface for updating directly via the web interface
  • Full integration into Homeassistant
  • Support for Influx DB 1 and 2
  • MQTT
  • REST API

Workflow

The device takes a photo of your meter at a defined interval. 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. Either send it to an MQTT broker, write it to an InfluxDb or simply provide access to it via a REST API.

Impressions

AI-on-the-edge-device on a Water Meter

Web Interface (Water Meter)

AI-on-the-edge-device on a Electrical Power Meter

Setup

There is growing documentation which provides you with a lot of information. Head there to get a start, 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

A lot of people created useful Youtube videos which might help you getting started. Here a small selection:

For further background information, head to Neural Networks, Training Neural Networks and Programming on the ESP32.

Download

The latest available version can be found on the Releases page.

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 WIFI).

There are different ways to flash your ESP32:

  • The prefered way is the Web Installer and Console which is a browser-based tool to flash the ESP32 and extract the log over USB:
  • Flash Tool from Espressif
  • ESPtool (command-line tool)

See the documentation for more information.

Flashing the SD Card

The SD card can be setup automatically after the firmware got installed. See the documentation for details. For this to work, the SD card must be FAT formated (which is the default on a new SD card). Alternatively the SD card still can be setup manually, see the documentation for details!

Casing

Various 3D-printable housing can be found here:

Donate

If you would like to support the developer with a cup of coffee, you can do that via PayPal.

Support

If you have any technical problems please search the discussions. In case you found a ug or have a feature request, please open an issue.

In other cases you can contact the developer via email:

Changes and History

See Changelog.

Build It Yourself

See Build Instructions.

Tools

Additional Ideas

There are some ideas and feature requests which are not currently being pursued mainly due to capacity reasons on the part of the developers. They features are collected in the issues and in FeatureRequest.md.

Description
Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world
Readme 168 MiB
Languages
C++ 49.4%
C 20.8%
HTML 19.6%
CSS 6.6%
JavaScript 2.6%
Other 1%