Area SX srl - Informatica e Microelettronica
0
Torna a: Home Page Soluzioni Telecontrollo SMS/GSM Connessioni GPRS con la SXPY e modem Telit GM862

Connessioni GPRS con la SXPY e modem Telit GM862

Data di pubblicazione: 22-02-2007 | Versione Italiana  | (No English Version)The English version of this article does not exists
Parole chiave: - GPRS - Python -

In questo articolo vediamo un esempio  su come avviare una connessione GPRS con la SXPY e un modem Telit GM862-PY

Nell'esempio descritto in questo articolo vediamo come, sfruttando la funzione EASY GPRS integrata nei modem prodotti dalla Telit, scrivere un semplice programma Python che instaura un collegamento internet tramite rete GPRS ed effettua una GET HTTP verso un server WEB pubblico.
Vediamo anche come scrivere, lato WEB server, un semplice script in PHP che se richiamato tramite GET HTTP, memorizza  in un file di log lo stato delle variabili passate come argomento e genera in risposta dell'XML che verr a sua volta processato dal programma Python in esecuzione sul  modem.

EasyGPRS in sintesi

La modalit EASY GPRS, implementata solo sui prodotti della Telit, consente di effettuare e gestire connessioni TCP/IP direttamente dal modem  tramite semplici comandi AT. Grazie a questa modalit possibile effettuare connessioni direttamente su rete Internet verso qualsiasi server dotato di IP pubblico senza doversi preoccupare di gestire lo stack PPP e scrivendo pochissime righe di codice.

Questa caratteristica consente di trasformare il binomio SXPY - modem GM862-PY in un terminale remoto in grado di inviare segnalazioni di allarme tramite E-MAIL oppure con delle  GET o POST HTTP  di inserire dati direttamente in un Database SQL tramite una semplice interfaccia WEB realizzata con script ASP o PHP.

Per avviare una connessione GPRS con il modem GM862-PY sufficiente inviare i seguenti comandi AT:

AT+CGDCONT=1,"IP","APN"

Il valore APN varia a seconda dell'operatore telefonico.

AT#SKTSET=0,xxxx,"XXX.XXX.XXX.XXX"

Dove xxxx il numero di porta mentre  XXX.XXX.XXX.XXX l'IP  del server remoto a cui ci si vuole connettere.

AT#SKTOP

Comando per avviare il contesto GPRS.

Hardware e collegamenti elettrici

L'hardware usato in quest'articolo composto da:

  • Una scheda SXPY
  • Un modem GM862-PY
  • Un antenna GSM
  • Una alimentatore a parete 220v -12V

L'unico collegamento elettrico da effettuare consiste nell'applicare una tensione continua o alternata compresa tra 9 e 24V sul morsetto "PWR IN" della SXPY.

 Prima di alimentare la SXPY verificare che sia connessa l'antenna GSM al modem Telit

Sorgente in Python

Il sorgente scritto in Python 1.5.2+ da caricare nella memoria del modem Telit (la documentazione su come caricare ed eseguire programmi Python sulla SXPY disponibile nell'articolo : Guida all'utilizzo della SX-PY) composto da un loop principale che controlla continuamente lo stato dei due ingressi "INP1" e "INP2" / pulsante TEST presenti sulla SXPY. Appena una di questi cambia stato, il programma Python invia al core GSM i comandi AT, precedentemente visti, per attivare il contesto GPRS.  Una volta avviata la connessione GPRS, il programma invia una richiesta GET HTTP verso il server internet puntato dalle variabili riportate di seguito:

SRV_ADDR = "195.130.xxx.xxx"  #Indirizzo del server
SRV_PORT = 80  #Porta su cui in ascolto il server
WEB_PATH = "sxpy.php"  #Script da richiamare

La GET HTTP oltre a richiamare lo script PHP passa a questo anche due variabili IN1 e IN2  che riportano rispettivamente lo stato degli ingressi INP1 e INP2.

Lo script PHP in esecuzione sul server WEB, una volta processata la richiesta GET risponde con una struttura XML come quella visibile di seguito.

 <?xml version="1.0" encoding="ISO-8859-1" ?>
<SXPY>
     <R1>0</R1>
     <R2>0</R2>
</SXPY>

L'XML generato viene analizzato dal programma Python che, a seconda del valore dei TAG <R1> e <R2>, gestisce lo stato dei due rel "K1" e "K2" montati sulla SXPY.

Download Sorgente: SXPY_GPRS.zip

Script PHP

Lo script WEB fornito in questo articolo stato scritto in linguaggio PHP (www.php.net) e fatto girare su un web server Apache  (www.apache.org), naturalmente possibile riscrivere lo script usando il linguaggio di programmazione web che si preferisce e lo si pu far girare su un altro server web ad es: IIS di Microsoft .

Se il proprio server pubblico una macchina con sistema operativo Windows e non si dispone dell'ambiente Apache-PHP, lo si pu installare facilmente  usare il pacchetto easyPHP scaricabile gratuitamente dall''URL: www.easyphp.org.

Analizzando lo script sxpy.php vediamo che prima di pubblicare l'XML riportante lo stato delle linee della SXPY, genera  un file di log "log.txt" contenete data / ora, IP della sessione e stato delle due linee INP1 e IMP2.

Connessione GPRS del 15/2/2007 delle 14:40:00 da IP: 83.225.80.157. Stato ingresso 1: 1 Stato ingresso 2: 0
Connessione GPRS del 15/2/2007 delle 14:44:56 da IP: 83.225.189.200. Stato ingresso 1: 0 Stato ingresso 2: 1
Connessione GPRS del 15/2/2007 delle 14:46:02 da IP: 83.225.172.17. Stato ingresso 1: 0 Stato ingresso 2: 1

Il file di log viene salvato nella stessa directory WEB in cui stato copiato lo script sxpy.php.

Download Sorgente: SCRIPT_PHP.zip

Download

Download Guida utente EASY GPRS: EasyGPRS_UserGuide_r0.pdf


Segnala questo articolo: 



Parole chiave: - GPRS - Python -

Data di pubblicazione: 22-02-2007Hits: 37043
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;BOXSX16;AMM.574;MMCX-FME;SX.FLAT.RS232;LI-ION_900;SXPY_KIT
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 informazioniAntenna con base magnetica per moduli GSM/GPRS 900-1800Mhz
Antenna con base magnetica per moduli GSM/GPRS 900-1800Mhz, cavo coassiale 2.5m, connessione FME/F
  • Impedenza: 50 Ohms
  • Polarizzazione: verticale
  • Guadagno: 2.2 dBi Max
  • VSWR: <1.5:1
  • Cavo: RG174
  • Lunghezza cavo: 2.5mt
  • Temperatura operativa: da -40°C a +85°C


Prodotto compliant RoHs
AMM.574€ 10.00
Per maggiori informazioniPer maggiori informazioni
Per maggiori informazioniContenitore da quadro DIN per SX16B ed SXPY
Contenitore plastico per la scheda SX16B e la scheda SXPY, con montaggio su barra DIN 9 moduli.

Compliance RoHS non necessaria per questo prodotto
BOXSX16€ 15.00
Per maggiori informazioniPer maggiori informazioni
Per maggiori informazioniCavo flat 9 poli con connettore seriale DB9 femmina
Cavo piatto a 9 poli con connettore seriale DB9 femmina adatto per l'utilizzo con le schede prodotte da Area SX.
Composto da un connettore a vaschetta a 10 poli (5+5), una presa DB9 femmina e lungo circa 40 cm.


Prodotto compliant RoHs
SX.FLAT.RS232€ 7.00
Per maggiori informazioniPer maggiori informazioni
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

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