Se siete cultori della domotica questo piccolo how-to stuzzicherà certamente il vostro ingegno: oggi realizzeremo un teleallarme domestico capace di rilevare la presenza di estranei ed avvertirci con una telefonata.Tutto quello che ci serve è una webcam compatibile ed asterisk
Per realizzare questo piccolo progetto è necessario soddisfare pochissimi prereqisiti:
- Un PC su cui installare asterisk (Si consiglia l’utilizzo di una distribuzione con un kernel recente in modo da avere meno problemi con il riconoscimento della webcam)
- Una webcam “linux friendly” (lista dei devices attualmente compatibili)
- Un trunk voip o una linea voce con relativa scheda
- Il software Motion
Non spigheremo come compilare Asterisk e configurare un tronco di chiamata, dal momento che si presume abbiate un minimo di competenze per farlo da soli.
Una volta impostato correttamente asterisk passiamo al software motion: il file da editare si trova in /etc/motion/motion.conf
daemon on quiet on width 640 height 480 framerate 25 quality 85 auto_brightness on brightness 0 contrast 0 saturation 0 hue 0 webcam_localhost off webcam_quality 30 webcam_maxrate 6 on_motion_detected /usr/local/bin/cam_event.sh text_right NaVm-NaVT text_left SERVITUX CAM webcam_port 8000 webcam_motion on minimum_motion_frames 9 on_picture_save wput -b -q ftp://user:password@ftp.your-server.com
I parametri più importanti sono
on_motion_detected: lo script da eseguire quando il programma rileva un movimento
on_picture_save: indica dove salvare le immagini (l’ideale sarebbe utilizzare un FTP remoto, in modo da risalire ai colpevoli anche nell’ipotesi in cui vi rubino il pc
)
Questo invece è lo script cam_event.sh che verrà utilizzato dal sistema per far generare ad asterisk la chiamata in caso di rapina o furto:
#!/bin/sh # first, play one audio file on your speakers for i in `seq 1 15` ; do play /usr/local/bin/alarma.wav ; done # making the call cat << EOF > /tmp/alarmevent.call Channel: SIP/Provider/687XXXXXX ->numero da chiamare Callerid: 966160600 MaxRetries: 2 RetryTime: 20 WaitTime: 20 Context: msgallarme Extension: s Priority: 1 EOF chown asterisk:asterisk /tmp/alarmevent.call mv /tmp/alarmevent.call /var/spool/asterisk/outgoing/
A questo punto non ci resta che configurare adeguatamente asterisk per attivare e disattivare il nostro teleallarme domestico.
Ed eccovi parte del extensions.conf
exten => *666,1,Answer exten => *666,n,Wait(1) exten => *666,n,Playback(activated) exten => *666,n,Wait(120) exten => *666,n,System(/usr/local/bin/control_motion.sh start) exten => *666,n,Wait(1) exten => *666,n,Hangup() exten => *777,1,Answer exten => *777,n,Wait(1) exten => *777,n,System(/usr/local/bin/control_motion.sh stop) exten => *777,n,Playback(de-activated) exten => *777,n,Wait(1) exten => *777,n,Hangup() [msgallarme] exten => s,1,Set(LANGUAGE()=IT) exten => s,n,Answer exten => s,n,Wait(2) exten => s,n,Playback(activated) exten => s,n,Wait(1) exten => s,n,Playback(activated) exten => s,n,Wait(1) exten => s,n,Playback(activated) exten => s,n,Wait(1) exten => s,n,Playback(activated) exten => s,n,Wait(1) exten => s,n,Playback(activated) exten => s,n,Wait(1) exten => s,n,Hangup
In questo modo digitando *666 viene attivato il sistema, mentre con *777 l’allarme viene disattivato. Il contesto [msgallarme] è ovviamente quello che viene riprodotto nel caso in cui il sistema rilevi un’intrusione e generi la chiamata d’emergenza.
Mentre questo è lo script per avviare o arrestare il programma motion:
#!/bin/sh case $1 in start) sudo /usr/bin/motion ;; stop) PID=`pidof motion` sudo kill $PID sudo killall cam_event.sh sudo rm -f /var/spool/asterisk/outgoing/alarmevent.call ;; esac
Quanto descritto ovviamente è solo un esempio: potreste utilizzare il sistema per spedire un email o un sms, oppure andare ad espandernee le funzioni collegandoci più devices (su porte parallela/usb o addirittura Ethernet).
Insomma le possibilità sono davvero molte, non vi resta che dar spazio alla fantasia.
FONTE: [Servitux]






Interessante!
Nella casa nuova ho l’impianto domotico, mi avevano proposto anche un modulo gsm per controllo da remoto ma visto il prezzo ci penserò più avanti.
Ho passato il cavo di rete in tutta la casa, a questo punto potrei avere più cam che mi controllano la casa… prima però dovrei capirci qualcosa di asterisk
Commentato da righetto | gennaio 7, 2008, 19:08 |[...] Liberailvoip Creare un semplice sistema allarme utilizzando asterisk come combinatore telefonico Se siete cultori della domotica questo piccolo how-to stuzzicherà certamente il vostro ingegno(…Continua) [...]
Commentato da I link di | over-ip.eu | gennaio 10, 2008, 11:02 |complimenti, una genialata!!
sto familiarizzando con asterisk per lavoro…è davvero potente se si pensa a quello che si può fare…senti ma…hai scritto che si possono mandare delle e-mail…
Come??
Commentato da angela | novembre 28, 2008, 15:56 |