diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 00000000..089c9ea4 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,25 @@ +# Remove if certain files are committed on purpose +.pio/ +.vscode/ +.code-workspace +/sd-card/htm./.vscode/ +/code/build +/code/.helper +/sd-card/html/debug/ +/firmware/ +version.txt +/dist/ +/dist_release/ +/dist_old_ota +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps +code/edgeAI.code-workspace +.DS_Store diff --git a/docs/.gitmodules b/docs/.gitmodules new file mode 100644 index 00000000..e2909c41 --- /dev/null +++ b/docs/.gitmodules @@ -0,0 +1,9 @@ +[submodule "code/components/esp32-camera"] + path = code/components/esp32-camera + url = https://github.com/espressif/esp32-camera.git +[submodule "code/components/esp-nn"] + path = code/components/esp-nn + url = https://github.com/espressif/esp-nn.git +[submodule "code/components/tflite-micro-esp-examples"] + path = code/components/tflite-micro-esp-examples + url = https://github.com/espressif/tflite-micro-esp-examples.git diff --git a/docs/images/Flash_Settings.png b/docs/images/Flash_Settings.png new file mode 100644 index 00000000..ef6e418f Binary files /dev/null and b/docs/images/Flash_Settings.png differ diff --git a/docs/images/Power_Meter_Mounted.jpg b/docs/images/Power_Meter_Mounted.jpg new file mode 100644 index 00000000..1d378ac8 Binary files /dev/null and b/docs/images/Power_Meter_Mounted.jpg differ diff --git a/docs/images/config_menue_overview.jpg b/docs/images/config_menue_overview.jpg new file mode 100644 index 00000000..1f85dd3c Binary files /dev/null and b/docs/images/config_menue_overview.jpg differ diff --git a/docs/images/config_s1_access.jpg b/docs/images/config_s1_access.jpg new file mode 100644 index 00000000..bec66144 Binary files /dev/null and b/docs/images/config_s1_access.jpg differ diff --git a/docs/images/config_s2_edit_config.jpg b/docs/images/config_s2_edit_config.jpg new file mode 100644 index 00000000..2c539e55 Binary files /dev/null and b/docs/images/config_s2_edit_config.jpg differ diff --git a/docs/images/config_s3_reference.jpg b/docs/images/config_s3_reference.jpg new file mode 100644 index 00000000..cbc432b8 Binary files /dev/null and b/docs/images/config_s3_reference.jpg differ diff --git a/docs/images/config_s4_alignment.jpg b/docs/images/config_s4_alignment.jpg new file mode 100644 index 00000000..894bbaf0 Binary files /dev/null and b/docs/images/config_s4_alignment.jpg differ diff --git a/docs/images/config_s5_ROIs.jpg b/docs/images/config_s5_ROIs.jpg new file mode 100644 index 00000000..406ea0d9 Binary files /dev/null and b/docs/images/config_s5_ROIs.jpg differ diff --git a/docs/images/config_s5_ROIs_details.jpg b/docs/images/config_s5_ROIs_details.jpg new file mode 100644 index 00000000..b7c30e81 Binary files /dev/null and b/docs/images/config_s5_ROIs_details.jpg differ diff --git a/docs/images/config_s6_check.jpg b/docs/images/config_s6_check.jpg new file mode 100644 index 00000000..293840ec Binary files /dev/null and b/docs/images/config_s6_check.jpg differ diff --git a/docs/images/edit_reference.jpg b/docs/images/edit_reference.jpg new file mode 100644 index 00000000..4da85d72 Binary files /dev/null and b/docs/images/edit_reference.jpg differ diff --git a/docs/images/esp32-cam.png b/docs/images/esp32-cam.png new file mode 100644 index 00000000..fb05c2d1 Binary files /dev/null and b/docs/images/esp32-cam.png differ diff --git a/docs/images/external_GPIO_settings.jpg b/docs/images/external_GPIO_settings.jpg new file mode 100644 index 00000000..81aa53a0 Binary files /dev/null and b/docs/images/external_GPIO_settings.jpg differ diff --git a/docs/images/focus_adjustment.jpg b/docs/images/focus_adjustment.jpg new file mode 100644 index 00000000..b02ba73f Binary files /dev/null and b/docs/images/focus_adjustment.jpg differ diff --git a/docs/images/icon/.svg b/docs/images/icon/.svg new file mode 100644 index 00000000..26002c7a --- /dev/null +++ b/docs/images/icon/.svg @@ -0,0 +1,570 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/images/icon/favicon.ico b/docs/images/icon/favicon.ico new file mode 100644 index 00000000..b7211cd4 Binary files /dev/null and b/docs/images/icon/favicon.ico differ diff --git a/docs/images/icon/readme.md b/docs/images/icon/readme.md new file mode 100644 index 00000000..f81bc84f --- /dev/null +++ b/docs/images/icon/readme.md @@ -0,0 +1,2 @@ +The icon is based on the work of SachaD, see https://freesvg.org/water-meter-for-hot-water +License: Public Domain diff --git a/docs/images/icon/watermeter.svg b/docs/images/icon/watermeter.svg new file mode 100644 index 00000000..d06dfb11 --- /dev/null +++ b/docs/images/icon/watermeter.svg @@ -0,0 +1,746 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +520301 diff --git a/docs/images/idea.jpg b/docs/images/idea.jpg new file mode 100644 index 00000000..aabdf89f Binary files /dev/null and b/docs/images/idea.jpg differ diff --git a/docs/images/index.png b/docs/images/index.png new file mode 100644 index 00000000..555e24c3 Binary files /dev/null and b/docs/images/index.png differ diff --git a/docs/images/install_external_led.jpg b/docs/images/install_external_led.jpg new file mode 100644 index 00000000..dcfcebda Binary files /dev/null and b/docs/images/install_external_led.jpg differ diff --git a/docs/images/intern_vs_external.jpg b/docs/images/intern_vs_external.jpg new file mode 100644 index 00000000..f526d6fb Binary files /dev/null and b/docs/images/intern_vs_external.jpg differ diff --git a/docs/images/mail.jpg b/docs/images/mail.jpg new file mode 100644 index 00000000..41fa094e Binary files /dev/null and b/docs/images/mail.jpg differ diff --git a/docs/images/main.jpg b/docs/images/main.jpg new file mode 100644 index 00000000..8dd41bda Binary files /dev/null and b/docs/images/main.jpg differ diff --git a/docs/images/numbers.jpg b/docs/images/numbers.jpg new file mode 100644 index 00000000..bf3e71c4 Binary files /dev/null and b/docs/images/numbers.jpg differ diff --git a/docs/images/ota-update-details.jpg b/docs/images/ota-update-details.jpg new file mode 100644 index 00000000..65f3a0e0 Binary files /dev/null and b/docs/images/ota-update-details.jpg differ diff --git a/docs/images/ota-update-menue.jpg b/docs/images/ota-update-menue.jpg new file mode 100644 index 00000000..e1c72f20 Binary files /dev/null and b/docs/images/ota-update-menue.jpg differ diff --git a/docs/images/platformio_build.jpg b/docs/images/platformio_build.jpg new file mode 100644 index 00000000..52e76eb0 Binary files /dev/null and b/docs/images/platformio_build.jpg differ diff --git a/docs/images/platformio_plugin.jpg b/docs/images/platformio_plugin.jpg new file mode 100644 index 00000000..5e7fec45 Binary files /dev/null and b/docs/images/platformio_plugin.jpg differ diff --git a/docs/images/powermeter.jpg b/docs/images/powermeter.jpg new file mode 100644 index 00000000..4bc5a313 Binary files /dev/null and b/docs/images/powermeter.jpg differ diff --git a/docs/images/size.png b/docs/images/size.png new file mode 100644 index 00000000..119c14c7 Binary files /dev/null and b/docs/images/size.png differ diff --git a/docs/images/watermeter.jpg b/docs/images/watermeter.jpg new file mode 100644 index 00000000..197bdc23 Binary files /dev/null and b/docs/images/watermeter.jpg differ diff --git a/docs/images/watermeter_all.jpg b/docs/images/watermeter_all.jpg new file mode 100644 index 00000000..6fcb77e9 Binary files /dev/null and b/docs/images/watermeter_all.jpg differ diff --git a/docs/images/wiring.png b/docs/images/wiring.png new file mode 100644 index 00000000..19952900 Binary files /dev/null and b/docs/images/wiring.png differ diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..7f114447 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,95 @@ + + + + +

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

+

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

+

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 and a bit of a practical hand.

+

+

Key features

+ +

Workflow

+

The device takes a photo of your meter at a defined interval. It then extracts the Regions of Interest (ROI's) out of it and runs them through an artificial inteligence. As a result, you get the digitalized value of your meter.

+

There are several options what to do with that value. Either send it to a MQTT broker, write it to an InfluxDb or simply provide it throug 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 a growing wiki 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

+

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

+ +

Download

+

The latest available version is available on the Releases page.

+

Initially you will have to flash it through an USB connection. Later an update is possible directly over the Air (OTA).

... or use the

+ +

Webinstaller and Console

+

+ +

+

(AI-on-the-edge-device Installer powered by ESP Web Tools)

+ + +

Casing

+

A 3d-printable housing can be found here:

+ +

Build it yourself

+

See Build Instructions.

+ +

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 create an Issue.

+

In other cases you can contact the developer via email:

+

Changes and History

+

See Changelog

+

Tools

+ +

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

+ + + diff --git a/docs/manifest.json b/docs/manifest.json new file mode 100644 index 00000000..d073dc2c --- /dev/null +++ b/docs/manifest.json @@ -0,0 +1,25 @@ +{ + "name": "AI-on-the-edge", + "version": "12.0.1", + "funding_url": "https://www.paypal.com/donate?hosted_button_id=8TRSVYNYKDSWL", + "new_install_prompt_erase": false, + "builds": [ + { + "chipFamily": "ESP32", + "parts": [ + { + "path": "docs/releases/download/v11.2.0/bootloader.bin", + "offset": 4096 + }, + { + "path": "docs/releases/download/v11.2.0/partitions.bin", + "offset": 32768 + }, + { + "path": "docs/releases/download/v12.0.1/firmware.bin", + "offset": 65536 + } + ] + } + ] +} \ No newline at end of file diff --git a/docs/releases/download/v11.2.0/bootloader.bin b/docs/releases/download/v11.2.0/bootloader.bin new file mode 100644 index 00000000..07a73f5f Binary files /dev/null and b/docs/releases/download/v11.2.0/bootloader.bin differ diff --git a/docs/releases/download/v11.2.0/partitions.bin b/docs/releases/download/v11.2.0/partitions.bin new file mode 100644 index 00000000..31d08b2f Binary files /dev/null and b/docs/releases/download/v11.2.0/partitions.bin differ diff --git a/docs/releases/download/v12.0.1/firmware.bin b/docs/releases/download/v12.0.1/firmware.bin new file mode 100644 index 00000000..14904df2 Binary files /dev/null and b/docs/releases/download/v12.0.1/firmware.bin differ diff --git a/docs/sd-card/html/graph.html b/docs/sd-card/html/graph.html new file mode 100644 index 00000000..75e4c75c --- /dev/null +++ b/docs/sd-card/html/graph.html @@ -0,0 +1,62 @@ + + + + + + + +
+ + + + + \ No newline at end of file