GPS

Aus wiki.archlinux.de
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Dieser Artikel behandelt das Einrichten von GPS, um die Positionsdaten auf einem Laptop verwenden zu können, sowie das Auslesen von aufgezeichneten Tracks.

Installation

Um mit einem GPS arbeiten zu können, benötigt man mindestens den GPS-Daemon.

# pacman -S gpsd

Die meisten Programme, die ein GPS-Signal auswerten können, erkennen beim Starten selbstständig, dass gpsd läuft und benötigen keine weitere Konfiguration.

USB

Wenn der GPS-Empfänger über einen USB-Anschluss angeschlossen ist, sollte mit folgendem Befehl die Kommunikation gestartet werden können.

# gpsd -nN -D 5 /dev/ttyUSB0

Ausgabe:

gpsd: launching (Version 2.37)
gpsd: listening on port gpsd
gpsd: shmat(0,0,0) succeeded
gpsd: shmat(0,0,0) succeeded
gpsd: shmat(0,0,0) succeeded
gpsd: shmat(0,0,0) succeeded
gpsd: running with effective group ID 0
gpsd: running with effective user ID 0
gpsd: opening GPS data source at '/dev/ttyUSB0'
gpsd: speed 9600, 8N1
gpsd: => GPS: $PASHQ,RID*28\x0d

[...]

gpsd: PrintSERPacket(, 0x33, 0x40, ) = 0x100483fa
gpsd: SendPacket(), writing 6 bytes: 100700fd3001
gpsd: PrintSERPacket(, 0x6, 00, )
gpsd: ACK
gpsd: PrintSERPacket(, 0x6, 00, ) = 00
gpsd: => GPS: 100700fd3001
gpsd: SendPacket(), wrote 6 bytes
gpsd: <= GPS: $GPRMC,164447,V,4706.1340,N,00951.1644,E,0.0000,0.000,110209,
,*35\x0d\x0a$GPGSA,A,1,,,,,,,,,,,,,,,,*32\x0d\x0a$PGRME,13.27,M,16.75,M,21.48,M*23

Bluetooth

Um eine Verbindung mit einem Bluetooth-Gerät aufbauen zu können, muss zuerst ein Bluetooth-Adapter am Computer installiert werden. Siehe auch Bluetooth.

Hierfür werden folgende Pakete benötigt:

# pacman -S bluez-utils bluez-libs dbus

(Da mein Blutooth-Gerät kaputt ist, kann ich die folgenden Befehle aus meinen Shell-Scripten nicht überprüfen. Möglicherweise werden weitere Einstellungen benötigt.)

Laden des bluetooth-Deamons (der dbus-Daemon muss davor gestartet werden!).

# /etc/rc.d/bluetooth start

Dieser kann auch in /etc/rc.conf hinzugefügt werden.

DAEMONS=(... bluetooth ...)

Mac-Adresse des Bluetooth-Gerätes ausfindig machen

# hcitool scan

Gerät mit dem Laptop "paaren" (ein Sicherheitscode muss entweder am Bluetooth-Gerät oder Laptop verifiziert werden)

# bluez-simple-agent hci0 11:11:11:11:11:11

Verfügbare Bluetooth-Dienste anzeigen (die Adresse mit der davor gesuchten Mac-Adresse ersetzen)

# sdptool browse 11:11:11:11:11:11

In der Liste müsste nun ein Service auftauchen, der so ähnlich heißt wie "Bluetooth GPS" (Bei Android Handys kann GPS über Bluetooth mit z.B. diesem App freigeben). Darunter steht ein Channel, der in die Datei /etc/bluetooth/rfcomm.conf aufgenommen (zudem auch noch die Mac-Adresse und eine Gerätebezeichnung) wird

rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 11:11:11:11:11:11;
# RFCOMM channel for the connection
channel 21;
# Description of the connection
comment "Android Wildfire GPS";
}

Verbindung aufbauen:

# rfcomm bind rfcomm0

gpsd testen:

# gpsd -nN -D 5 /dev/rfcomm0

Sobald der GPS-Empfang gut genug ist, kann die Position abgerufen werden mit z.B.

# xgps

GPS-Tracks auslesen

Zum Herunterladen von Tracks, die zuvor mit einem GPS-Gerät aufgezeichnet wurden, dient das Programm gpsbabel.

# pacman -S gpsbabel

Der genaue Befehl hängt vom jeweilig verwendeten Gerät ab.

Garmin

# gpsbabel -t -i garmin -f /dev/ttyUSB0 -o gpx -F track.gpx