Mancano gli ultimi giorni di lavoro, la valigia per il mare è pronta da un mese davanti alla porta, stai contando i secondi che ancora ti separano dalle tanto aspettate vacanze estive… Ma un dubbio ti attanaglia, <<E se entrassero i ladri?>>.
Hai un Raspberry Pi! Farà lui la guardia alla tua casa. Può rilevare ogni movimento sospetto grazie al modulo fotocamera da collegare tramite la porta CSI dedicata, o ancora meglio, utilizzando il modulo fotocamera NoIR, a raggi infrarossi, che consente la visione notturna. Può avvisarti e registrare tutto in un comodo file da utilizzare come prova del fattaccio, da mostrare alle forze dell’ordine, grazie a Motioneye.
Preparazione
Installiamo la distro ufficiale Raspbian, per questa guida userò raspbian jessie lite con Raspberry Pi 2 B e il Camera Module (ufficiale o anche compatibile, come quello cinese utilizzato in questa guida) da collegarsi alla porta CSI.
Attiviamo la telecamera tramite il comando
sudo su raspi-config
Entriamo nel menu interfacing option, successivamente selezioniamo camera e infine yes.
Cosi facendo abilitiamo l’utilizzo di una camera con porta CSI (Camera Serial Interface), nelle mie prove una webcam logitech USB non riusciva ad andare oltre la risoluzione di 320×240 pixel, quindi consiglio di utilizzare il Camera Module originale, meglio ancora se NoIR.
Come sempre, prima di una nuova installazione, vanno aggiornati i pacchetti apt tramite il comando
apt-get update ; apt-get upgrade -y
Installazione di MotionEye
Ora il nostro sistema è pronto per installare il software che gestirà la nostra video sorveglianza, il famoso Motion, in abbinata alla sua interfaccia grafica Motioneye.
Per chi avesse bisogno di un sistema operativo dedicato solo alla video sorveglianza, la via più semplice sarà installare il sistema Motioneyeos, già pronto all’uso.
Mentre per chi, come me, usa il Raspberry Pi per le più svariate funzioni, sarà necessario installare il software a parte.
MotionEye, essendo creato in Python 2, si può installare tramite PyPI; nel caso mancasse dal tuo Raspberry Pi esegui
apt-get install python-pip
aggiungiamo il modulo bcm2835-v4l2
echo bcm2835-v4l2 >> /etc/modules
reboot now
Ora è il turno di ffmpeg che purtroppo non è installabile tramite apt-get ma occorrerà scaricare il pacchetto .deb ed installarlo tramite dpkg
sudo su wget https://github.com/ccrisan/motioneye/wiki/precompiled/ffmpeg_3.1.1-1_armhf.debdpkg -i ffmpeg_3.1.1-1_armhf.deb
Serviranno poi tutta una serie di dipendenze in grado di garantire tutte le funzioni necessarie di interfaccia web, gestione e controllo della telecamera
apt-get install python-dev curl libssl-dev libcurl4-openssl-dev libjpeg-dev libx264-142 libavcodec56 libavformat56 libmysqlclient18 libswscale3 libpq5
Finalmente arriviamo al nocciolo, il software Motion, reperibile tramite
wget https://github.com/Motion-Project/motion/releases/download/release-4.0.1/pi_jessie_motion_4.0.1-1_armhf.deb dpkg -i pi_jessie_motion_4.0.1-1_armhf.deb
Verifica di recuperare la versione aggiornata dall’ elenco delle release ufficiale che nel nostro caso si chiamerà pi_jessie_motion_xxxx_armhf.deb
Installiamo Motioneye tramite pip2, il quale scaricherà le sue dipendenze tornado, jinja2, pillow e pycurl, è il momento di preparsi un caffè perché la procedura sarà un po’ lunga…
pip2 install motioneye
Configurazione
Dopo questa lunga serie di comandi possiamo iniziare a configurare il tutto in base alle nostre esigenze:
Innanzitutto va creata una cartella e creata una copia del file di configurazione di esempio
mkdir -p /etc/motioneye cp /usr/local/share/motioneye/extra/motioneye.conf.sample /etc/motioneye/motioneye.conf
poi la cartella per contenere i video
mkdir -p /var/lib/motioneye
ed infine impostiamo il suo avvio automatico tramite
cp /usr/local/share/motioneye/extra/motioneye.systemd-unit-local /etc/systemd/system/motioneye.service systemctl daemon-reload systemctl enable motioneye systemctl start motioneye
Per aggiornare motioneye sarà sufficiente eseguire
pip install motioneye --upgrade systemctl restart motioneye
Accesso e configurazioni web
Per accedere al pannello di gestione web di Motioneye è sufficiente aprire da un browser web il link http://nome del raspberry oppure ip:8765 esempio: http://raspberrypi:8765
Il nome utente di default sarà admin, mentre la password sarà vuota.
Al primo avvio verrà chiesto quale telecamera aggiungere.
La prima cosa da fare è cambiare l’username e la password per mettere il sistema in sicurezza.
Successivamente, aumentiamo la risoluzione video, diamo un nome alla telecamera (ad esempio “entrata principale”) e abilitiamo il controllo automatico della luminosità.
Aumentare il frame rate comporterà video più fluidi, a discapito di spazio su disco e utilizzo della CPU.
Per la rilevazione dei movimenti o luci il tab motion detection permetterà molte utili configurazioni da valutare in base alle proprie esigenze.
Mentre la funzione “send an email“, una volta configurato il server SMTP, sarà in grado di avvisarci tramite posta elettronica (per aiuti in merito, discutiamone nel forum).
Anche se preferisco “Run a command” che posso utilizzare, sfruttando l’ottimo RpiNotify, per farmi avvisare tramite Telegram.
E per finire, è importante scegliere dove salvare i file, che potranno diventare anche molto grandi, visto che è un sistema di video sorvaglianza ed un eventuale ladro potrebbe anche sottrarre il Raspberry Pi, meglio quindi salvare nel cloud i nostri prezioni video, al fine di preservarli e poterli utilizzare (sperando non sia mai necessario) come prova da mostrare alle forze dell’ordine, in caso di violazione del vostro domicilio.
Note a margine
Oltre gli scopi di questa guida, visto che ora avete piazzato il Raspberry, potete anche utilizzarlo per accendere luci o radio/TV tramite dei relè collegati al GPIO, in modo da simulare la presenza di qualcuno nell’abitazione, o ancora riprodurre dei suoni mirati quali il vociare di più persone, l’abbaiare di un cane, o altro… Insomma, piano piano, volendo, potrete anche espandere il sistema… Come spesso accade, l’unico limite, con Raspberry Pi, è la fantasia!