// Stai leggendo ...

Asterisk

How-To: Creare un semplice sistema allarme utilizzando asterisk come combinatore telefonico

casa81.jpgSe 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]

Commenti

commenti


I commenti all'articolo

3 commenti for “How-To: Creare un semplice sistema allarme utilizzando asterisk come combinatore telefonico”

  1. 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 |
  2. [...] 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 |
  3. 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 |

Lascia un commento

Devi essere autenticato per lasciare un commento.