GeoLocation con Linux e GPS tracker

Per un nostro cliente, abbiamo dovuto realizzare in poco tempo un sistema di rilevamento a distanza della posizione di tracker mobili.

Un tracker mobile è un piccolo "telefono" smart in miniatura, senza il display e tutto il software di uno smarphone. Dispone infatti di GPS, accelerometro (ovvero misuratore dell'accelerazione istantanea nelle tre direzioni x,y,z), tranceiver GSM/GPRS, microfono, altoparlante, tastierino multifunzione.

Se ne trovano a bizzeffe e per ogni esigenza. Noi abbiamo usato un tracker della Tektronika, abbastanza affidabile e semplice da configurare.

Il tracker è capace di trasmettere a un numero prefissato le coordinate GPS all'interno di un messaggio SMS, a seguito di interrogazione da remoto a alla semplice pressione di un tasto preconfigurato.

Il messaggio SMS contenente le coordinate viene spedito a un modem GSM collegato ad una macchina linux. Sulla macchina linux abbiamo installato il potente programma

gnokii, scritto in C e capace di interfacciarsi alla maggior parte dei modem GSM in commercio. Oltre ad offrire una ricca e documentata libreria API, gnokii ha già integrate molte funzionalità pronte all'uso, quali:

- invio e ricezione di SMS

- monitor del modem

-  interfacciamento a un database MySql.

Il processo "demone" che legge in maniera asincrona i messaggi ricevuti dal modem è gnokii-smsd, che , in genere, viene configurato per mezzo del file /etc/gnokiirc.

I parametri principali sono

port=/dev/ttyUSB0

model=AT

connection=serial

use_locking=no

serial_baudrate=9600

 

Se avete problemi a dialogare con il modem controllate la velocità baudrate e il nome del dispositivo a cui è collegato il modem (potete recuperarlo facendo un dmesg).

Attentzione inoltre che non sempre Linux associa i permessi giusti a tty. Se avete problemi di permessi, dovrete creare un utente gnokii e assegnargli tutti i permessi sul dispositivo tty.

 

Una volta sistemato gnokii-smsd, potete lanciarlo in background. Il programma gnokii-smsd legge le opzioni in /etc/sysconfig/gnokii-smsd (almeno in Fedora). In quel file dovrete inserire nome utente e password per accedere al database mysql oltre al periodo di lettura. Un sempio è riportato di seguito.

SMSD_OPTS="-u <utente_mysql> -p<mysql-passwrod> -d <database> -c localhost -m mysql -b SM  -f /var/log/smsdaemon.log -i 8 "

Il programma controllerà ogni 8 secondi nuovi messaggi nel modem.

 

Per rendere il tutto più usabile, abbiamo creato in CakePhp (1.3) un'interfaccia che permette di:

- gestire operatori e tracker

- rilevare le posizioni iniziate dal tracker

- rilevare le posizioni iniziate dal sistema (funzione tipo "Track On Line Now")

- impostazione di siti target.

 

Modulo di contatto

Per contattaci compila il form in tutte le sue parti.

Japita-se
Via Apollo, 6 
84043 Agropoli SA
 
TEL. 0974.551001
P.Iva: 04854760651
info_at_japita-se.it

Privacy & Cookie Policy
 

Reference

NAVIGANDO SU QUESTO SITO ACCONSENTI ALL'UTILIZZO DEI COOKIE, DESCRITTI NELLA PAGINA Privacy Policy.