RaspberryPi: videosorveglianza, mediacenter ed accesso alla webcam dall’esterno (parte 2)

medium quite expensive 2 days

Lista dei componenti HW/SW:

Con questa guida installiamo un mediacenter ed un software per la videosorveglianza per il nostro RB. In questo modo possiamo accedere da qualsiasi browser alla webcam installata all’interno di una LAN.

Prima di procedere con l’installazione del MediaCenter aggiungiamo un repository dal quale scarichiamo il pacchetto XBMC.

apriamo il file meme.list
sudo nano /etc/apt/sources.list.d/mene.list

aggiungiamo la seguente riga di codice
add: deb http://archive.mene.za.net/raspbian wheezy contrib

ed eseguiamo:
sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-key
sudo apt-get update
sudo apt-get install xbmc

tutorial da:
http://michael.gorven.za.net/raspberrypi/xbmc

finita l’installazione procediamo con alcune banali configurazioni:
sudo nano /etc/default/xbmc
cerchiamo il valore ENABLED e settiamolo a 1.
ENABLED=1

Per far eseguire XBMC ad ogni riavvio del Raspberry eseguiamo:
sudo nano /etc/rc.local
aggiungere prima di “exit 0”
sudo xbmc-standalone &

INSTALLAZIONE MOTION
Un’altra funzionalità che vogliamo aggiungere al nostro Raspberry è un semplice controllo degli spazi volumetrici.
Per fare questo ci serviamo di motion, un software per la videosorveglianza, e di una webcam.

Prima di tutto aggiorniamo i nostri repository.

sudo apt-get update
sudo apt-get upgrade

Dopo di che installiamo motion

sudo apt-get install motion

creiamo una directory dei file temporanei ed assegnamole tutti i permessi.
sudo mkdir /tmp/motion
sudo chmod -r 777 /tmp/motion/

Modifichiamo alcuni parametri di configurazione:
-sudo nano etc/default/motion

Sostituire “false” con “yes” in start_motion_deamon
# set to ‘yes’ to enable the motion daemon
start_motion_daemon=yes
Premere ctrl+x per uscire dall’editor nano

Eseguire motion in modalità deamon

sudo systemctl enable motion
reboot

Configurazione dell’invio mail
Per fare in modo che motion alla rilevazione di un movimento invii una mail, allora seguiamo le seguenti istruzioni:

Assegnamo tutti i permessi alla direcotry /var/log
sudo chmod 777 /var/log/

Creiamo il file motionmail.log ed assegnamogli tutti i permessi.
sudo nano /var/log/motionmail.log
sudo chmod 777 /var/log/motionmail.log

Con queste istruzioni farò in modo di eliminare, attraverso un’operazione ciclica,  le immagini ed i video salvati sul filesystem da motion al rilevamento di un movimento.
Impostiamo dei job ciclici sul crontab

-sudo crontab -e (job per utente root)
Inseriamo queste istruzioni alla fine del file.

00 00 * * *     /usr/bin/find /tmp/motion/ -mtime +3 -and -type f -and -name “*.jpg” | xargs /bin/rm -f
00 00 * * *     /usr/bin/find /tmp/motion/ -mtime +3 -and -type f -and -name “*.mpg” | xargs /bin/rm -f
00 00 * * *     /usr/bin/find /tmp/motion/ -mtime +3 -and -type f -and -name “*.swf” | xargs /bin/rm -f
In questo modo forzo l’eliminazione dei file dopo 3 giorni.

Per verificare che i job sono correttamente attivi eseguiamo:
– sudo crontab -l verifica i job attivi per l’utente root

Ora possiamo eseguire motion allo startup del raspberry
sudo nano /etc/rc.local
aggiungere prima di “exit 0”
sudo service motion start &

Postfix
Per poter inviare le email abbiamo bisogno di un servermail da installare sul RB.
Per questo scopo utiliziamo Postfix ed eseguiamo:
sudo apt-get install postfix

Installiamo la configurazione internet con smarthost. Seguiamo questo tutorial.
http://mhawthorne.net/posts/postfix-configuring-gmail-as-relay.html

Nel caso volessimo utilizzare gmail, modifichiamo il file main.cf in questo modo:
sudo nano /etc/postfix/main.cf

Andiamo alla riga:
//relay su gmail
e modificare:
# sets gmail as relay
relayhost = [smtp.gmail.com]:587

dopo di che aggiungere o, se sono già presenti, modificare:

#  use tls
smtp_use_tls=yes

# use sasl when authenticating to foreign SMTP servers
smtp_sasl_auth_enable = yes

# path to password map file
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd

# list of CAs to trust when verifying server certificate
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

# eliminates default security options which are imcompatible with gmail
smtp_sasl_security_options =
//fine relay

Creiamo e modifichiamo il file delle password:
sudo nano /etc/postfix/sasl_passwd

Inseriamo le seguenti righe, salviamo ed usciamo (Ctrl+x)
[smtp.gmail.com]:587  username:password *
sudo postmap /etc/postfix/sasl_passwd
sudo chown postfix sasl_passwd
sudo /etc/init.d/postfix reload

*username:password rappresentano la user e la password della nostra utenza gmail.

Per verificare che tutto funzioni eseguiamo i seguenti script:
sudo apt-get install heirloom-mailx

Testiamo la mail:
echo ‘hi’ | mail -s Test username@gmail.com