I have previously tried to read the water meter using a phototransistor and a IR diode, but have not managed to get it hundred percent stable.
Instead, I have now used a little more technically challenging solution but it works perfect.
I use a webcam and calculates one of the dialers position and movements.
The solution consist of:
A webcam with USB connection.
Two white LEDs. Used to have a constant uniform illumination of the meter.
A Raspberry Pi with some image processing software.
I have adapted this opensource software to my camera and this specific application.
The Raspberry Pi is managing to read and process approx 10 frames per second. I have defined eight zones in the image and keeps track of when these zones goes from light to dark when the dial passes. My dial makes one revolution per liter of water so it will be a resolution of 0.125 liters.
Attached is avideo clip and a couple of pictures, that shows how it looks like in practice. (The video clip is a bit old an taken when I only had four zones defined)