Prima di tutto devo ringraziare Francesco ilTucci del podcat GeekCookies. Se non avessi ascoltato l’episodio 21 (e non avessi letto il blog di Francesco) questo mio piccolo progetto non esisterebbe. Ma soprattutto non mi sarei avvicinato al mondo di Python, piuttosto interessante! Vi invito quindi a dare un occhio al suo materiale…
L’idea di base (molto semplice) è di ricevere le notifiche di movimento provenienti dal sistema di video-sorveglianza di casa direttamente sugli account Telegram mio e di mia moglie.
Quasi tutti i modelli di camere IP hanno in dotazione una APP che fa (tra la varie cose) una cosa simile: ma questo in genere presuppone il dover aprire delle porte sul router di casa e/o sottoscrivere un servizio cloud con il produttore. Altre camere invece possono anche inviare notifiche via email. Inutile dire che tutte le soluzioni già pronte, o per motivi di sicurezza o per motivi di flessibilità, sono state subito scartate.
Perché?
Questa soluzione non necessità né di esporre le camere IP su Internet, né di sottoscrivere servizi con fornitori terzi, né di aprire alcune porte IP in uscita sul router.
Inoltre è indipendente dal modello delle camere: potete usare camere differenti ed averne comunque la gestione unificata:
- qui trovate la guida per l’installazione e la configurazione
- qui potete scaricare l’ultima versione.
Tutto il codice (ancora in uno stato grezzo ma sostanzialmente funzionante) lo trovate qui su GitHub. Sarà apprezzata ogni contribuzione (visto anche il mio scarso tempo).
Cosa serve
- Alcune camere IP (anche di modelli differenti) che però dispongano della funzione motion detection e che, in caso di movimento, possano depositare l’immagine JPG (o lo spezzone video) su un server FTP. E’ importante che le camere abbiamo un sito web per la configurazione dei parametri.
- Un server su cui far girare lo script python (magari come servizio) ed il servizio FTP: io ho un Raspberry Pi (che tra l’altro mi funge da server OpenVPN). Ma a volte è possibile usare un NAS o in alcuni casi anche lo stesso router.
Lo script Python
Il codice molto grezzo (è stato scritto in un pomeriggio) ha due moduli applicativi integrati:
- Un watchdog che verifica l’arrivo di JPG all’interno della cartella FTP
- il gestore del Bot di Telegram (che sfrutta la libreria telepot) che da una parte riceve i messaggi della chat da parte degli utenti, dall’altra invia le notifiche.
Lo script interagisce quindi con le camere IP e preleva le loro immagini .jpg inviandole poi ad uno o più account Telegram. Le immagini vengono spedite in chat man mano che vengono create sul file system: il modulo whatchdog è infatti in ascolto su una cartella locale. Mentre il modulo telepot si occupa di gestire il BOT. In questo modo è possibile farsi spedire le immagini di una camera, magari acquisita a valle di un movimento o di un rumore, direttamente su una chat dedicata su Telegram.
Ovviamente è possibile anche configurare il comportamento delle camere via chat Telegram: si può per esempio spegnere o accendere il motion detection o (cosa più interessante) chiedere le immagini di questo istante.
La cosa che oggettivamente (oltre ad essere poco elegante) è un po’ fastidiosa è popolare il file di configurazione: per ogni camera è infatti necessario censire i parametri di rete e tutti gli URL che servono per comandare le camere. Spesso questi URL si possono trovare su Internet a valle di una breve ricerca, a volte è necessario ricavarseli tramite un proxy HTTP!
Attenzione a problemi di privacy con il bot, ci segnalano che vengono riprodotte immagini di una abitazione senza impostare alcuna telecamera. Forse è il caso di verificare gli accessi e le autorizzazioni.
Grazie della segnalazione. In effetti c’era un problema, che è stato fissato.
Sono state rimosse tutte le release bacate ed è disponibile una nuova versione dello script, più robusta.
Si potrebbe abbinare il tuo progetto ad un sensore pir? Se il raspberry trova un jpg sul ftp ed in contemporanea rileva il sensore pir attivato, allora è solo allora manda un avviso email e Telegram.
Mi daresti una mano?
Scrivi pure in email
Il progetto è bellissimo,
Sono Filippo Mazzella Co-Founder della lookathome.it e mi piacerebbe approfondire con te la cosa.
Ti ca di sentirci ?
Passa attraverso il nostro canale telegram https://t.me/CasaIntelligente che ne discutiamo