jomjol / AI-on-the-edge-device

Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world
https://jomjol.github.io/AI-on-the-edge-device-docs/
6.05k stars 652 forks source link

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

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 โค๏ธ

jomjol
jomjol
caco3
CaCO3
haverland
Frank Haverland
Slider0007
Slider0007
SybexX
michael
nliaudat
Nicolas Liaudat
Zwer2k
Zwer2k
phlupp
phlupp
jasaw
jasaw
dockSquadron
dockSquadron
rdmueller
Ralf D. Mรผller
cristianmitran
cristianmitran
michaeljoos72
michaeljoos72
henrythasler
Henry Thasler
amantyagiprojects
Naman Tyagi
pixeldoc2000
pixel::doc
mad2xlc
Stefan
jochenchrist
jochenchrist
parhedberg
parhedberg
slovdahl
Sebastian Lรถvdahl
RaHehl
Raphael Hehl
LordGuilly
LordGuilly
muggenhor
Giel van Schijndel
AngryApostrophe
AngryApostrophe
toolsfactory
Michael Geissler
ppisljar
Peter Pisljar
ralf1307
Ralf Rachinger
Ranjana761
Ranjana761
SkylightXD
SkylightXD
ottk3
Sven Rojek
Turbo87
Tobias Bieniek
yonz2
Yonz
Yveaux
Yveaux
flooxo
flox_x
kalwados
kalwados
kub3let
kub3let
pfeifferch
pfeifferch
rstephan
rstephan
smartboart
smartboart
wetneb
Antonin Delpeuch
adarazs
Attila Darazs
austindrenski
Austin Drenski
bilalmirza74
Bilal Mirza
PLCHome
PLCHome
CFenner
Christopher Fenner
dkneisz
Dave
FarukhS52
Farookh Zaheer Siddiqui
hex7c0
Francesco Carnielli
040medien
Frederik Kemner
eltociear
Ikko Eltociear Ashimine
queeek
Ina
joergrosenkranz
Joerg Rosenkranz
Innovatorcloudy
KrishCode
myxor
Marco H
rainman110
Martin Siggel
mkelley88
Matthew T. Kelley

Back to Top