GPS w Ubuntu

Korzystajac z pomocy na internecie znalazlem sposob jak podlaczyc GPS (port seryjny) do laptopa z Ubuntu. Oczywiscie nie byloby w tym nic nadzwyczajnego gdybym ograniczyl sie do podlaczenia wtyczki USB by skopiowac dane zapisane w pamiecie GPS na komputer. Sprwa staje sie o wiele bardziej skaplikowana kiedy chcemy odbierac z GPS dane na “zywo” czyli aktualna pozycje.


Najpierw nalezy zainstalowac niezbedne oprogramowanie.

sudo apt-get install gpsd gpsd-clients gpsbabel

Nastepnie nalezy dowiedziec sie z ktorego portu mozemy odebrac informacje nadawane przez GPS. Do tego posluzymy sie logiem jaki automatycznie generuje system. Komenda

tail -f /var/log/messages

uruchomimy odczytywanie ostatnich zmian w logu. Teraz mozemy podlaczyc wtyczke USB od GPS z naszym komputeram i jezeli wszystko jest OKe i GPS jest wlaczony pojawi sie taki oto text:

Oct 28 02:24:17 U005750 kernel: [104246.244000] usb 2-2: new full speed USB device using uhci_hcd and address 38Oct 28 02:24:18 U005750 kernel: [104246.748000] usb 2-2: configuration #1 chosen from 1 choiceOct 28 02:24:18 U005750 kernel: [104246.760000] cdc_acm 2-2:1.0: ttyACM0: USB ACM device

Z tego mozemy wywnioskowac ze GPS polaczyl sie z komputerem poprzez /dev/ttyACM0
Jezeli tak nie jest mozliwe ze nasz GPS jest jeszcze w trybie “dysku USB” nalezy go oczywiscie przelaczyc w tryb przekazywania danych NMEA. Moze to sie roznie nazywac w zaleznosci od typu GPS. Dla Magellan eXplorist 210 wejdz w Menu > Adv. Features > Communications > NMEA DataComm > V2.1GSA.

Najciekawszy moment kiedy mozemy w koncu odczytac dane z GPS na ekranie naszeg komputera, do tego posluzy komenda:

cat /dev/ttyACM0

z ktorej wychodzi nastepujacy text:

GPGSV,3,2,08,25,37,163,,20,29,107,38,27,22,176,,16,07,066,*76
$GPGSV,3,3,08,126,27,155,,120,28,204,,,,,,,,,*7F
$PMGNST,01.75,2,T,611,08.3,-00385,23*45
$GPGSV,3,1,08,13,83,208,,04,61,249,,23,58,065,36,02,37,302,*71
$GPGSV,3,2,08,25,37,163,,20,29,107,36,27,22,176,,16,07,066,*78
$GPGSV,3,3,08,126,27,155,,120,28,204,,,,,,,,,*7F
$PMGNST,01.75,2,T,611,08.3,-00385,23*45

To znaczy ze nasz komputer rozmawia z GPS’em. Teraz wystarczy uruchomic kolejne programy by wykorzystac informacje otrzymywane z GPS’u.

xgps – to graficzny prosty program umozliwiajacy odczytanie podstawowych informacji z GPS. By z niego kozystac nalezy najpierw uruchomic gpsd (daemon gps) komenda:

gpsd -d -N /dev/ttyACM0

lub

sudo gpsd -N -n -D 2 /dev/ttyACM0

a nastepnie komenda xgps uruchom program.

xgps.png

Innym bardziej rozbudowanym programem jest GPSDrive
gpsdrive.png

Innym ciekawym zastosowaniem programu gpsd jest przekazywanie pozycji z GPS do innuch programw czy urzadzen poprzez siec TCP/IP. Kiedy uruchomimy service gpsd na naszym komputerze automatycznie na porcie 2947 uruchamia sie usluga. Mozna to sprawdzic komenda:

telnet ip_komputera_z_gps 2947

i nacisnij kilka razy R

Interesujace linki:

http://gpsd.berlios.de/ – strona poswiecona GPSD
http://gpsd.mainframe.cx – service GPSD
http://www.gpsvisualizer.com – konvertowanie plikow zapisu informacji z GPS