Roberto Viola

Rilevatore perdite d’acqua™

Chi non ha mai dovuto affrontare una perdita d’acqua in vita sua alzi la mano?
Purtroppo è una problematica che tocca tutti e la cosa subdola è che spesso non la notiamo fino a quando non ci arriva a casa una bolletta da 3 o più zeri!

In particolare, in questo periodo, io e i miei condomini, siamo alle prese con un impianto idraulico a dir poco bizzarro, che ci sta creando non pochi problemi (leggasi perdite continue e in punti diversi).

Per questo motivo ho pensato di creare un sistema che ci avverta in modo preventivo di una perdita, senza dover costantemente leggere il contatore.

L’idea è questa: avendo un manometro in casa che misura la pressione a monte dell’impianto, registro la pressione costantemente e, con un po’ di semplice matematica, mi autonotifico in caso di pressione anomala.

Passiamo al materiale hardware necessario:
– Manometro analogico installato (se fosse digitale sarebbe meglio, ma non ne ho mai visti montati negli impianti domestici che ho visitato)
IPCAM Onvif Compatibile
Raspberry

Installiamo l’IPCAM davanti al manometro e iniziamo a loggare con ffmpeg gli snapshot della telecamera ogni minuto (portemmo anche decidere di abbassare o alzare questo valore a seconda delle esigenze).

ffmpeg -y -i rtsp://admin:XXXXX@192.168.0.37:10554/udp/av0_0 -vframes 1 -timeout 10 /tmp/ipcam-contatore-acqua.jpg

in questo modo ottengo lo snapshot dalla telecamera
calibrazione script
debug della rilevazione della pressione

Con l’aiuto di OpenCV e di questo script, andiamo a trasformare il valore analogico del manometro in un valore digitale archiviabile e graficabile su Grafana.

Monitorando per un paio di giornate la pressione, possiamo velocemente inserire un alert sulla media per essere notificati qualora la pressione sia inferiore a quella prevista per un determinato periodo. Io, per esempio, ho inserito un alert su un delta di 0.3bar per 24h.

Troppo complesso per te? Scrivimi un commento qui, o mandami una mail a roberto.viola83@gmail.com e proviamo ad organizzare qualcosa insieme!