Trasformare la SXPY un apricancello comandabile con un RING inviato da un cellulareData di pubblicazione: 04-04-2007 | Versione Italiana | (No English Version) Parole chiave: - Domotica - GSM - Python - |
In questo articolo vediamo un altro interessante
esempio di impiego della SXPY, andremo a realizzare un dispositivo capace di
pilotare un carico elettrico, come ad esempio un cancello, attraverso un
semplice RING inviato da un normale telefono cellulare.
L'esempio proposto in questo articolo mostra come trasformare la SXPY in una
specie di interruttore attivabile tramite un semplice RING inviato da un comune
cellulare al numero GSM della SIM inserita nel modem Telit montato sulla SXPY.
Questo sistema pu� essere una valida alternativa al classico radiocomando usato
per aprire il cancello elettrico ad esempio di un garage e dell'ufficio
garantendo un livello di sicurezza anche superiore, infatti il sistema permette
l'accesso soltanto ad alcuni numeri GSM autorizzati.
Il livello di sicurezza dell'apparato � quello della rete GSM praticamente
inattaccabile, senza contare che in caso di smarrimento o furto del proprio
cellulare � sufficiente richiedere il blocco della SIM al proprio operatore
telefonico. Oltre alla sicurezza � importante evidenziare l'economicit� infatti
il sistema non risponde mai ai RING di conseguenza non viene accreditato alcun
costo da parte dell'operatore telefonico.
Se invece si vuole impedire l'attivazione o l'accesso ad un utente
precedentemente autorizzato � sufficiente cancellare il suo numero GSM dalla
lista dei numeri abilitati.
Hardware
Il sistema che andremo a realizzare richiede come componenti hardware:
Gli unici collegamenti da effettuare sono l�antenna GSM che va connessa direttamente al modem Telit e l�alimentazione di circa 12V da applicare sul morsetto �PWR IN� sulla SXPY.
Prima di alimentare la SXPY verificare che sia connessa l'antenna GSM al
modem Telit
L'esempio descritto in questo articolo funziona soltanto se la scheda SXPY � alimentata con una tensione esterna e non a batteria.
Software
Lo script Python da caricare nella memoria del modem � molto semplice, dopo aver
popolato un array contenete i numeri GSM autorizzati
GSM_NUMBER={}
#Lista dei numeri GSM autorizzati (omettere il prefisso internazionale +39)
GSM_NUMBER[0]=("3478500000")
GSM_NUMBER[1]=("3389600000")
entra in un loop che verifica se il modem � correttamente registrato alla rete
GSM e fa lampeggiare il led TEST sulla SXPY.
Appena il modem si registra il programma Python invia il comando AT+CLIP=1 per
abilitare il call id sulle chiamate entranti.
#Abilita l'identificazione chiamante
res = MDM.send('AT+CLIP=1\r',0)
res = MDM.receive(20)
res = res.find ('OK')
if (res == -1):
print 'ERROR no CLIP'
sys.exit(0)
Il successivo loop non fa altro che attendere un RING ed effettuare il parser
per estrarre il numero del chiamante.
Quest'ultimo verr� cercato nell'array
precedentemente creato. Se il numero viene trovato, lo script eccita il rel� K1
per un intervallo impostato nella variabile IMPULO dichiarata all'inizio del
sorgente (il valore 10 � pari ad un intervallo di 1sec).
La documentazione su come caricare ed eseguire programmi Python sulla SXPY � disponibile nell'articolo : Guida all'utilizzo della SX-PY
Download
Sorgente: RING_KEY.zip
Segnala questo articolo:
Parole chiave: - Domotica - GSM - Python -
|