September 14, 2019
Description
Update 04.09.2020: There is an update version available, which is more compact on the hardware side and much easier from software side, because it is a all in one device. It does not need a docker container for image analysis any more.
Hardware: https://www.thingiverse.com/thing:4573481
Software: https://github.com/jomjol/AI-on-the-edge-device/wiki
This is a system to take pictures of a water meter for house monitoring the water consumption. It is a part of a house automation system in order to monitor and check the water consumption.
**Update 23.02.2020: ** Meanwhile there is a tool available to help you creating the configuration file (config.ini): http://wasserzaehler.ignorelist.com
It is still in the beta phase - but the creation of references and ROIs for the number recognition is working pretty good!
The system conists of 3 major parts:
The 3D printed parts are connected with a self made spherical bajonet connection (see here)
The camera holder contains the electronic (ESP32-CAM with OV2640). It is based on the scalable box and consists of 3 parts:
The only wiring needed is the power supply for the ESP32-CAM module (5V or 3.3V and GND). I recommend 5V supply. My system is much more stable with 5V.
In order to use it as a water meter, the fixed foucs objective of the OV2640 has to be manipulated, as it only results in sharp image for distance bigger than ~40cm. By this the image of the water meter is getting too small for further automated readout processing.
ATTENTION: this will end any warranty as the sealing of the lens objective is broken!
I removed the fixation glue of the OV2640 lens with a sharp knife (see picture). After this I could screw the objective in and out. Rotating it by about a quarter counterclockwise results in a focus plane about 10cm to the lens. You need to figure out your best setting with a little bit of try and error for your specifig environment.
To use the system two parts of code are needed:
As the installation of the server is due to Tensorflow and OpenCV a bit tricky, I provide it in a docker container: https://hub.docker.com/r/jomjol/wasserzaehler). One for an intel processor driven environment (intel - jomjol/wasserzaehler:latest) and one for an Raspberry PI (armv7 - jomjol/wasserzaehler:raspi-latest).
There is an intensive discussion on the usage and details in the iobroker forum. This discussion is in German.
An overview over the whole system with theoretic background can be found following the overview here.
The construction is done in FreeCAD. I have uploaded the FCStd-Files, although their are not self explaning or good commented.
Another adapter for a water meter is also available with many thanks to the user Stev8176 from iobroker forum.
For more information do not hesitate to contact me!
Have fun,
jomjol
P.S.: This system is an improved version of https://www.thingiverse.com/thing:3238162.
Improvement:
License:
Creative Commons - Attribution - Non-Commercial