Area SX srl - Informatica e Microelettronica
0
Torna a: Home Page Soluzioni Telecontrollo SMS/GSM Realizzare un completo telecontrollo via GSM con la SXPY

Realizzare un completo telecontrollo via GSM con la SXPY

Data di pubblicazione: 20-06-2007 | Versione Italiana  | (No English Version)The English version of this article does not exists
Parole chiave: - Domotica - GSM - Python - SMS -

In questo articolo vediamo come realizzare con la SXPY e un modem Telit GM862-PY un completo sistema di telecontrollo tramite GSM capace di: notificare tramite SMS l'assenza della rete elettrica, le variazioni dello stato di due ingressi e ricevere comandi  tramite RING o SMS per controllare due rel� che possono pilotare carichi a 48V.

La soluzione di telecontrollo proposta in questo articolo  fornita "in scatola di montaggio" sfrutta come hardware il binomio SXPY - Telit GM862-PY.
La prima � una specie di mainboard per modem Telit della serie GM862 equipaggiata con: un circuito di alimentazione a range esteso (9-24V AC/DC), un secondo circuito di alimentazione di backup con batteria a ioni di litio che garantisce al modem un autonomia di circa 1 giorno (non in connessione dati) , due contatti a rel� capaci di controllare carichi a 48V con una corrente massima di 2A e due ingressi optoisolati configurabili  in modalit� "contatto pulito"  o "ingresso in tensione" (max 24V).
Il modem Telit GM862-PY � un core che in pochi centimetri integra un eccellente modem quadriband  ed un interprete Python 1.5.2+ che permette di  sostituisce completamente l'impiego di un microprocessore esterno riducendo drasticamente tempi e costi di progettazione.   

Hardware e collegamenti elettrici

La lista completa dell'hardware necessario per realizzare il sistema di telecontrollo � composta da:

  • Una scheda SXPY
  • Un modem GM862-PY
  • Un' antenna GSM
  • Un alimentatore a parete 220v - 12V
  • Una batteria a ioni di litio 3.7V 900mA (Batteria a ioni di litio da 3.7V 900mA)
  • Una SIM GSM (con codice PIN disattivato)

I collegamenti da effettuare sulla SXPY / modem Telit sono: l�antenna GSM che va connessa direttamente al modem Telit, l�alimentazione di circa 12V (AC/DC) da applicare sul morsetto �PWR IN� sulla SXPY.
Attraverso i due Rel� K1 e K2 presenti sulla SXPY � possibile collegare e controllare carichi come lampadine motori ecc fino ad un massimo di 5A a 250V.
Sui due ingressi INP1 e INP2 possiamo collegare eventuali segnali  a contatto pulito o in tensione (massimo 24VAC/DC)  a seconda della configurazione dei jupers S6 S8 S9 S11.
Il settaggio di questi jumper � documentato nell'howto disponibile al link che segue: Guida all'utilizzo della SX-PY.

Software

Nella sezione download presente in questo articolo viene fornito il programma compilato in Python 1.5.2+  insieme a due file di configurazione da caricare nella memoria del modem.

Il programma Python pu� essere diviso  in sette  blocchi di funzionamento di seguito elencati:

  1. Lettura del file di configurazione domotino.conf
  2. Inizializzazione del modem e attesa della registrazione di questo alla rete GSM
  3. Lettura del file gsm_number.conf
  4. Controllo ricezione RING
  5. Controllo presenza dell'alimentazione principale
  6. Controllo dello stato degli ingressi INP1 e INP2
  7. Controllo ricezione SMS di comando

Il primo blocco provvede a leggere e spacchettare il file di configurazione domotino.conf. Questo file contiene tutti i parametri di funzionamento e settaggi  del programma Python che possono essere modificati liberamente dall'utente.
Dal file di configurazione principale � possibile impostare per esempio: il centro servizi della SIM inserita nel modem, i controlli si vogliono attivare o disattivare; il rel�  da far scattare, in che modo e per quanto tempo  alla ricezione di un RING;  il testo degli SMS che il sistema pu� ricevere e quello degli SMS da inviare al verificarsi di uno specifico evento. Il file domotino.conf va caricato nel modem con la stessa procedura usata per caricare il programma principale; ogni modifica di questo richiede il riavvio del modem.

Il secondo blocco del programma si occupa di inizializzare il modem e attende che questo si sia correttamente registrato alla rete GSM, quest'ultimo stato � indicato dall'accensione fissa del led TEST montato sulla SXPY.

Nel terzo punto del software, viene letto il file di testo gsm_number.conf su cui vanno inseriti riga per riga i numeri GSM degli utenti che possono interagire con il sistema di telecontrollo e i permessi  relativi ai sevizi a cui questi possono accedere.
La sintassi di costruzione del file  gsm_number.conf � la seguente:

[numero GSM]-[ring]-[sms]-[input]-[power]
es:
+393471234567-1-1-3-1
+393477654321-0-1-1-0

Dove:

  • [numero GSM] � il numero GSM dell'utente  (preceduto dal prefisso internazionale  +39 per l'Italia).
  • [ring] � il campo che indica al sistema se accettare RING dal numero GSM indicato ad inizio riga. Pu� avere valore: 0 Non abilitato o 1 Abilitato.
  • [sms] � il campo che indica al sistema se accettare SMS dal numero GSM  indicato ad inizio riga. Pu� avere valore: 0 Non abilitato o 1 Abilitato.
  • [input] � il campo che indica al software di inviare un SMS al numero GSM  indicato ad inizio riga se ci sono variazioni di stato sull'ingresso INP1 e/o INP2.
    Pu� assumere i valori:
    0 Nessuna notifica,
    1 Notifica solo per INP1,
    2 Notifica solo per INP2
    3 Notifica per variazioni sia di INP1 che INP2.
  • [power] � il campo che indica al software di inviare notifiche ti assenza/ripristino alimentazione principale al numero GSM  indicato ad inizio riga .
    Pu� avere il valore:
    0 Notifiche disabilitate
    1 Notifiche abilitate. 

Terminata la parte di inizializzazione e configurazione del sistema, il software entra in un loop continuo in cui viene ciclicamente controllato: se sono stati inviati dei RING, se � presente l'alimentazione principale, se � stato inviato qualche SMS, se � cambiato lo stato delle linee d'ingresso e se ci sono nuovi SMS di notifica da inviare. Ognuno di questi controlli pu� essere abilitato (valore 1) o disabilitato (valore 0) attraverso l'impostazione dei valori:

CHECK_POWER
CHECK_RING
CHECK_SMS
CHECK_INPUT

contenuti nel file domotino.conf.

Il "demone" che si occupa di verificare se sono stati ricevuti dei RING pu� essere configurato, sempre da file domotino.conf, per attivare uno dei due rel� presenti sulla SXPY. Settando il valore RING_RELE_NUMBER a 0, se il sistema riceve un RING da un numero valido attiva il rel� K1; impostando il valore a 1 verr� invece attivato il rel� K2. La modalit� di attivazione del Rel� alla ricezione di un RING pu� essere impostata in modalit� ON/OFF impostando il parametro  RING_RELE_MODE=0 o ad impulso settando il parametro a 1. La durata dell'impulso in quest'ultima modalit� dipende dal valore in secondi settato  sul parametro RING_RELE_ON_TIME (il valore deve essere un intero maggiore di 0).

Se abilitato il servizio CHECK_SMS � possibile inviare al sistema SMS di comando. Le funzioni supportate sono:

Attivazione / Disattivazione rel� K1 e K2
Stato dei rel� K1 e K2
Verifica dello stato delle linne d'ingresso INP1 e INP2

Il numero GSM del mittente dell'SMS deve essere contenuto nel file gsm_number.conf e deve avere il campo settato ad 1. Il testo degli SMS che viene riconosciuto dal sistema pu� essere personalizzato all'interno del file domotino.conf attraverso le variabili:

MSG_RELE1_ON="R1 ON"
MSG_RELE2_ON="R2 ON"
MSG_RELE1_OFF="R1 OFF"
MSG_RELE2_OFF="R2 OFF"
MSG_CHK_RELE1="R1?"
MSG_CHK_RELE2="R2?"
MSG_CHK_INP1="IN1?"
MSG_CHK_INP2="IN2?"

Note: il testo non deve contenere  i caratteri: � � � �

Tranne per gli SMS che impostano lo stato dei due rel� presenti sulla SXPY � possibile configurare il testo dell'SMS di risposta che il sistema invia. Le variabili contenute nel file domotino.conf che permettono quest'ultima personalizzazione sono:

MSG_CHK_RELE1_ON="Rele' 1 attivo"
MSG_CHK_RELE1_OFF="Rele' 1 non attivo"
MSG_CHK_RELE2_ON="Rele' 2 attivo"
MSG_CHK_RELE2_OFF="Rele' 2 non attivo"

MSG_CHK_INP1_ON="Ingresso 1 attivo"
MSG_CHK_INP1_OFF="Ingresso 1 non attivo"
MSG_CHK_INP2_ON="Ingresso 2 attivo"
MSG_CHK_INP2_OFF="Ingresso 2 non attivo"

Il servizio CHECK_POWER controlla ciclicamente se � applicata una tensione di almeno 12V sul morsetto  �PWR IN�. Se questa viene a mancare per due cicli di controllo (circa 5 secondi) il sistema invia un SMS di allarme a tutti gli utenti il cui numero GSM � contenuto nel file gsm_number.config con il campo [power] settato a 1.

 Questo servizio funziona esclusivamente se  � montata sulla SXPY la batteria tampone, in caso contrario il demone va bloccato settando a 0 la variabile  CHECK_POWER contenuta nel file di configurazione principale.

Caricare il software nel modem

La procedura per caricare il software "domotino"sulla memoria del proprio modem Telit GM862-PY � notevolmente semplificata usando il tool SxPythonDownload scaricabile gratuitamente. Una volta scaricato e installato il programma su un PC con sistema operativo Windows 2000/XP/Vista � necessario collegare la scheda SXPY alla porta seriale del PC tramite un cavo seriale a 9 poli dritto.
Nel caso il proprio PC non fosse dotato di porta seriale COM � possibile usare un convertitore USB-Seriale come quello disponibile al link che segue: Convertitore da USB a Seriale RS232
 

Tutte le informazioni su come caricare e gestire gli script Python sui modem Telit sono disponibili negli articoli i cui link sono disponibili di seguito:
Guida all'utilizzo della SX-PY
In questo articolo presentiamo una guida completa di sorgenti di esempio in Python per cominciare a lavorare con la SX-PY, la scheda con interprete Python integrato, GSM/GPRS ed ingressi/uscite per realitzzare i tuoi sistemi di telecontrollo in pochissimo tempo.

Dalla sezione download di quest'articolo possiamo scaricare e successivamente decomprimere sul proprio PC il file telecontrollo_domotino.zip. Al termine della decompressione avremo quattro file di seguito descritti:

  • domotino.pyo programma principale compilato
  • domotino.conf file di configurazione
  • timer.pyo libreria timer
  • gsm_number.conf file contenente la lista dei numeri GSM.

 Tutti  i file sopra elencati, vanno caricati nella memoria del modem e soltanto il file domotino.pyo va reso eseguibile cliccando sul tasto "Attiva" presente nel software SxPythonDownload.

A questo punto tutto � pronto per mettere in campo il nostro sistema di telecontrollo.
Per verificare il corretto funzionamento del sistema o visualizzare eventuali messaggi di errore possiamo collegarci tramite Hyperterminal alla porta seriale di debug presente sulla SXPY.

Conclusioni

Il sistema proposto in questo articolo � un interessante gagget che ci permette di interagire con la nostra abitazione anche a migliaia di km di distanza usando un normale telefono cellulare.
Con questo telecontrollo possiamo aprire un cancello o il nostro garage con un semplice RING; accendere la caldaia tramite l'invio di un SMS, verificare lo stato di  contatti che possiamo collegare all'impianto di anntifurto o essere avvisati se viene a mancare e quando viene ripristinata la corrente elettrica.Quest'ultima funzione � molto interessante in tutte quelle situazioni dove l'assenza prolungata di corrente pu� recare gravi danni.

 Il programma viene fornito in formato sorgente acquistando una SXPY.

Download

Download Domotino_programa.zip

Segnala questo articolo: 



Parole chiave: - Domotica - GSM - Python - SMS -

Data di pubblicazione: 20-06-2007Hits: 32892
I marchi citati sono propriet� dei titolari dei relativi diritti. Le caratteristiche tecniche e i prezzi riportati sono indicativi e soggetti a variazioni senza preavviso. Le foto non hanno valore contrattuale. Nonostante accurate verifiche, il presente documento pu� contenere prezzi o specifiche errati. Area SX si scusa in anticipo e si impegna ad evitare tali imprecisioni.

 Area SX store
In questa sezione puoi ordinare direttamente i prodotti descritti in questo articolo
SXPY;SXPY_KIT;LI-ION_900;KIT_RELE_DIN
Tutti i prezzi indicati sono espressi in Euro con IVA e spese di trasporto escluse. I prezzi si riferiscono al singolo pezzo
DescrizioneCodicePrezzo
Per maggiori informazioniBatteria a ioni di litio da 3.7V 900mA
Batteria a ioni di litio singola cella da 3.7V 900mA
cablata con connettore a tre poli passo 2.54.

Caratteristiche tecniche:
  • Tensione: 3.7V
  • Corrente: 900 mAh
  • Dimensioni: 52x34x5 mm
  • Peso: 23g
  • Valore di auto scarica: circa 1% circa mensile


Prodotto compliant RoHs
LI-ION_900€ 16.00
Per maggiori informazioniPer maggiori informazioni
Per maggiori informazioniRelè di potenza da barra DIN
Il Kit Relè da barra DIN è la soluzione ideale per controllare carichi con potenza massima di 10A e tensioni fino a 400V tramite le schede: SX16, FLEXOUTPUT e SXPY.

Caratteristiche tecniche:
  • Tensione bobina: 12V c.c.
  • Corrente massima sui contatti: 10A
  • Tensione massima sui contatti: 400V c.a.
  • Resistenza bobina: 300ohm
  • Isolamento bobina - contatto: 6000V c.a.
  • Contatto unipolare COMUNE N.A. N.C.
  • Montaggio: DIN rail socket
  • Dimensioni: 354x158x75


Prodotto compliant RoHs
KIT_RELE_DIN€ 25.00
Per maggiori informazioniPer maggiori informazioni

Rivenditori Social Contatti Condizioni
Area SX s.r.l
Via Stefano Longanesi 25
00146 Roma

Tel: +39.06.99.33.02.57
Fax: +39.06.62.20.27.85
P.IVA 06491151004
Condizioni di vendita
Procedura di rientro in garanzia
Condizioni per i rivenditori