jomjol/AI-on-the-edge-device

▲ 42 stars today★ 8,760⑂ 909

Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world

8,760Star
909Fork
0Watch
0Issue
C++Language
-License
Created · last push · repository size 0 KB · default branch -

README

AI on the Edge Device: Digitizing Your non-digital meters with an ESP32-CAM



Table of Contents

https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/Back to Top

made-with-c++ Doc Total downloads GitHub release GitHub forks GitHub stars

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 and some practical skills. 🛠️

---


Key Features 🚀


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:

---


Impressions 📷

+ ### AI-on-the-edge-device on a Water Meter 💧

+ ### Web Interface (Water Meter) 💻

+ ### AI-on-the-edge-device on an Electrical Power Meter ⚡

---


Setup 🛠️

There is growing documentation 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 📰

A lot of people have created useful YouTube videos that might help you get started:

For further background information, head to: ---


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

There are different ways to flash your ESP32:

See the documentation for more information.

---


Flashing the SD Card 💾

The SD card can be set up automatically after the firmware is installed. See the documentation for details. For this to work, the SD card must be FAT formatted (which is the default on a new SD card).

Alternatively, the SD card can still be set up manually. See the documentation for details.

---


Casing 🛠️

Various 3D-printable housings can be found here: ---


Donate ☕

If you'd like to support the developer with a cup of coffee, you can do so via PayPal.

---


Support 💬

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

For any other issues, you can contact the developer via email:

---


Changes and History 📜

See the Changelog for detailed information.

---


Build It Yourself 🔨

See the Build Instructions for step-by-step guidance.

---


Tools 🛠️

---


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 and in FeatureRequest.md.

---


Our Contributors ❤️

https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/jomjol
jomjol
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/caco3
CaCO3
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/haverland
Frank Haverland
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/SybexX
michael
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/Slider0007
Slider0007
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/nliaudat
Nicolas Liaudat
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/Zwer2k
Zwer2k
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/phlupp
phlupp
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/jasaw
jasaw
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/dockSquadron
dockSquadron
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/rdmueller
Ralf D. Müller
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/cristianmitran
cristianmitran
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/michaeljoos72
michaeljoos72
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/henrythasler
Henry Thasler
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/amantyagiprojects
Naman Tyagi
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/pixeldoc2000
pixel::doc
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/mad2xlc
Stefan
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/jochenchrist
jochenchrist
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/parhedberg
parhedberg
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/fsck-block
fsck-block
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/slovdahl
Sebastian Lövdahl
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/RaHehl
Raphael Hehl
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/LordGuilly
LordGuilly
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/muggenhor
Giel van Schijndel
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/bilalmirza74
Bilal Mirza
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/AngryApostrophe
AngryApostrophe
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/ralf1307
Ralf Rachinger
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/Ranjana761
Ranjana761
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/SURYANSH-RAI
SURYANSH RAI
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/SkylightXD
SkylightXD
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/ottk3
Sven Rojek
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/Turbo87
Tobias Bieniek
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/tkopczuk
Tomek Kopczuk
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/yonz2
Yonz
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/Yveaux
Yveaux
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/flooxo
flox_x
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/gneluka
gneluka
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/kalwados
kalwados
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/kub3let
kub3let
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/pfeifferch
pfeifferch
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/rstephan
rstephan
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/smartboart
smartboart
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/wetneb
Antonin Delpeuch
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/adarazs
Attila Darazs
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/austindrenski
Austin Drenski
https://github.com/jomjol/AI-on-the-edge-device/blob/HEAD/PLCHome
P

More Today's Trending projects