Trasmettere le coordinate GPS via GPRS con un modem Telit
Data di pubblicazione: 20-08-2009 | Applicazione | | Versione Italiana | (No English Version) Parole chiave: - GPRS - GPS - Localizzazione -
Il progetto proposto in questo articolo mostra come realizzare con un EZ863-GPS un trasmettitore GPS che
ad intervalli regolari trasmette le coordinate ad un WEB server tramite una connessione internet su rete GPRS.
(schema)
Il funzionamento del sistema proposto e raffigurato nello schema sopra riportato può
essere riassunto in 3 semplici fasi:
Fase 1: Il modulo EZ863-GPS con l'apposito programma in python riceve costantemente le coordinate dal satellite,
e verifica se l'apparato su cui è installato ha superato la velocità (in nodi) di guardia configurata.
Fase 2: Appena viene superato la soglia di velocità impostata, il modulo EZ863-GPS attiva il contesto GPRS
per collegarsi ad internet e trasmettere tramite una semplice POST HTTP
le coordiante GPS ad un WEB server
su cui è stato precedentemente caricato un apposito script in PHP.
Fase 3: Per visualizzare l'ultima posizione GPS registrata relativa all'apparato su cui è installato il modulo
EZ863-GPS, è sufficiente connettersi ad internet tramite un PC e digitare sul browser l'indirizzo URL del nostro WEB
server.
Requisiti hardware
Per realizzare il sistema proposto è necessario disporre di:
Un modulo EZ863-GPS equipaggiato di antenna GSM e GPS (Kit di sviluppo EZ863 GPS) o un modem Telit con GPS ed interprete
Python
Una SIM GSM con il codice PIN disabilitato ed abilitata al traffico GPRS.
Un server WEB (con interprete PHP) connesso su IP pubblico (questo servizio può essere acquistato su Aruba,
Tol o altri provider simili)
Software python per Telit
Il software da caricare nella memoria del modem Telit contenuto nell'engine EZ863-GPS è composto da tre file:
il programma compilato in Python 1.5.2 e due file di configurazione .
Il primo file di configurazione system.conf contiene i parametri fondamentali per il funzionamento del programma come:
#CENTRO SERVIZI
SERVICE_CENTER="+393359607000"
#
#Parametri per la connessione GPRS
GPRS_APN="ibox.tim.it"
GPRS_UID=""
GPRS_PWD=""
#
#Identificativo DEVICE 15 caratteri max
ID_DEVICE="000000000000001"
#
#Velocità di soglia trasmissione(in miglia, dato intero)
SPEED=3
#
#Hardware su cui gira il programma
#0 SXPY
#1 EZ863
#2 EZ10
HARDWARE=0
Il terzo file server.conf contiene i parametri necessari al programma Python per raggiungere il WEB server per l'invio del POST HTTP.
Di seguito è riportato un esempio:
#Indirizzo IP del web server
SRV_IP="213.203.130.203"
#Porta TCP su cui ascolta il web server
SRV_PORT=8080
#Path del web server (senza indirizzo) che contiene gli script PHP
SRV_URL="/localizzatore/index.php"
#Password da trasmettere nella QUERY POST
SRV_PWD="12345"
Caricare il software nella memoria del modem Telit
La procedura per caricare il software python sulla memoria del modem Telit contenuto nel modulo EZ863-GPS
notevolmente semplificata usando il tool SxPythonDownload scaricabile gratuitamente nella sezione download.
Una volta installato il programma SxPythonDownload su un
PC con sistema operativo Windows 2000/XP/Vista è necessario collegare l'EZ863-GPS 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 Seriale USB
Tutte le informazioni su come caricare e gestire gli script Python nei modem Telit
sono disponibili negli articoli linkati di seguito: Guida all'utilizzo della SX-PY
Dalla sezione download di quest'articolo possiamo scaricare e successivamente
decomprimere su un PC il file TrasmettitoreGPS-GPRS.zip. Al termine della
decompressione avremo tre file di seguito descritti:
GPS_GPRS.pyo programma principale compilato
system.conf file di configurazione generale
server.conf file di configurazione server web remoto
Tutti i file sopra elencati, vanno caricati nella memoria del modem e soltanto
il file GPS_GPRS.pyo va reso eseguibile cliccando sul tasto "Attiva"
presente nel software SxPythonDownload.
Come descritto all'inizio di questo articolo, al superamento di una precisa soglia di velocità, il modulo EZ863-GPS,
dopo aver arrivato il contesto GPRS, ad intervalli regolari effettua delle richieste HTTP di tipo POST verso un WEB server
pubblico (per pubblico intendiamo dotato di indirizzo IP raggiungibile su internet).
Ad ogni richiesta POST HTTP il modulo EZ863-GPS trasmette al Web server
tre variabili: PW, ID, PR
La variabile PW contiene la password configurata nel file system.conf caricato nel modem
La variabile ID contiene l'identificativo (ID) configurata nel file system.conf caricato nel modem.
Se questo campo non viene impostato, il modem trasmette il codice IMEI del modem.
La variabile PR contiene 11 elementi separati dal carattere "," (simile al costrutto NMEA).
Partendo dal primo elemento:
- latitudine,
- latitudine direzione,
- longitudine,
- longitudine direzione,
- altitudine,
- velocità (in nodi),
- cursore (0-360),
- data,
- ora (formato UTC),
- satelliti,
- fix
Esempio:
4152.2095,N,01228.0818,E,9.0,0.0,130.37,030809,084523.999,07,1
Gli script PHP proposti in questo articolo (contenuti nel file Trasmettitore_GPS_GPRS_SCRIPT_PHP.zip disponibile nella sezione Download) ha una duplice funzione:
ricevere, parsare e salvare in un DB SQLite le trasmissioni effettuare dal modulo EZ863-GPS;
Visualizzate su cartografia Google Maps l'ultima posizione ricevuta.
Per il corretto funzionamento dello script è necessario disporre di un WEB server con:
indirizzo IP pubblico e interprete PHP 5.0 o superiore.
Se non si vuole o non si può configurare in casa un proprio server web è possibile acquistare dello
spazio web da provider come: Aruba, Tol o altri.
Prima di caricare gli script PHP nella document root del nostro WEB server,
è necessario ottenere gratuitamente da Google una API KEY.
Questa chiave è fondamentale per effettuare la visualizzazione
delle coordinate GPS su cartografia google.
Per ottenere una API KEY è necessario disporre di un account Gmail (http://mail.google.com)
e una volta loggati aprire il seguente link:
inserire l'indirizzo WEB del proprio server, accettare le condizioni di contratto e cliccare sul tasto
"Generate API KEY".
Dopo qualche istante viene visualizzata una pagina WEB che riporta la nostra nuova API KEY,
che appare come una stringa simile alla seguente:
Per testare il corretto funzionamento degli script PHP è sufficiente richiamare da un qualsiasi PC
connesso ad internet
il seguente link:
http://proprio server WEB/
per vedere dopo pochi istanti apparire la pagina WEB con visualizzata l'ultima posizione GPS salvata nel DB.
Lo script PHP proposto in questo articolo è puramente dimostrativo e può essere modificato e/o ampliato a piacimento
per realizzare sistemi di visualizzazione cartografica molto più complessi.
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
Tutti i prezzi indicati sono espressi in Euro con IVA e spese di trasporto escluse. I prezzi si riferiscono al singolo pezzo
Descrizione
Codice
Prezzo
Scheda di telecontrollo GSM/GPRS con interprete Python Scheda per la realizzazione di sistemi di telecontrollo, sorveglianza ed automazione con remotizzazione via SMS/GSM/GPRS.
Caratteristiche di base:
Alimentazione filtrata a range esteso 9-15V CC/CA
Connettore per batteria di backup (non compresa) con circuito di ricarica
Seriale RS232
Seriale RS232 per il debug degli script
2 linee di ingresso optoisolate configurabili
2 uscite a rele (48V/2A)
3 expanders
1 connettore per modulo seriale/radiofrequenza ER400TRS
Dimensioni: 155x86mm
Modem GM862-PY e modulo ER400TRS non compresi.
Può ospitare anche il modem GM862-GPS con ricevitore GPS integrato
Telit GM862 GSM/GPRS/GPS Quad Band completo di piastrino S1 Modem GSM/GPRS/GPS OEM Telit GM862-GPS quad band (850Mhz, 900Mhz, 1800Mhz e 1900Mhz) per applicazioni M2M completo di contropiastra adattatore di passo a 2.54mm.
Integra un ricevitore GPS con tecnologia SiRFstarIII™ da 20 canali.
Supporta tutti i comandi standard AT più un supplementare set di comandi per la gestione dello stack TCP/IP, fondamentale per lo sviluppo di applicazioni che prevedono il trasferimento dati in GPRS.
EZ10 Modem GSM/GPRS/GPS con interprete Python L'EZ10-GPS è la soluzione ideale a tutte le problematiche di connettività wireless e tracciamento flotte. In un robusto case di metallo, con connettori utilizzabili in ambiente automotive, trovano posto un modem quad-band (850/900/1800/1900MHz), un ricevitore GPS basato su SiRFIII a 20 Canali ed un interprete Python per poter realizzare a bordo i propri applicativi.
La dotazione del modem è completata da un cavo precablato per il connettore di ingresso/uscita.
Standard GSM 850/900/1800/1900 MHz
Potenza Classe 4 (2W) 850/900MHz, Classe 1 (1W ) 1800/1900MHz
Alimentazione: 5-32 V DC
Consumi, power off: 26uA, stand-by: 8 mA, GPRS (max): 700 mA
Kit di sviluppo SXPY con modem GPS L'ambiente di sviluppo SXPY GPS KIT è la soluzione ideale e meno costosa per cominciare a programmare i modem della TELIT GM862 con interprete Python e ricevitore GPS integrato.
Nel kit sono compresi tutti gli strumenti hardware e software per creare un proprio sistema di localizzazione GPS.
Il Kit SXPY GPS è composto da:
Kit di sviluppo EZ863 GPS L'ambiente di sviluppo EZ863 GPS KIT è la soluzione ideale e meno costosa per cominciare a programmare i modem della TELIT GE863 con interprete Python e ricevitore GPS integrato.
Nel kit sono compresi tutti gli strumenti hardware e software per creare un proprio sistema di localizzazione GPS.
Il Kit EZ863 GPS è composto da:
Un modulo EZ863-GPS
Una antenna GPS attiva con attacco SMA/M
Una antenna GSM/GPRS con attacco SMA/M
Un alimentatore 110-220V AC 50/60 Hz - 12V CC 1.25A
Antenna Shark per GPS/Glonass e GSM/GPRS/WIFI con doppio attacco SMA/F Antenna a pinna unica per GPS/Glonass e GSM/GPRS/WIFI, con doppio cavo coassiale da 3mt di lunghezza e connessione SMA maschio.
Caratteristiche tecniche:
Batteria a ioni di litio da 3.7V 960mA Batteria a ioni di litio singola cella da 3.7V 960mA
cablata con connettore a tre poli passo 2mm (PHR-3P).
Caratteristiche tecniche: