ubuntuusers.de

gpsd

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

./gpsd_logo.png gpsd 🇬🇧 ist ein Hintergrund-Programm ("Daemon"), welches die Daten von einem oder mehreren GPS-Empfängern ausliest, die per USB, Bluetooth oder serieller Schnittstelle an den Computer angeschlossen sind. Die erfassten Daten (geografische Position, Richtung, Geschwindigkeit) können von Client-Applikationen genutzt werden. Neben dem eigentlichen Dienst stellen die Entwickler zusätzliche Hilfswerkzeuge zur Diagnose bereit. gpsd kann auch mehrere GPS Anwendungen gleichzeitig bedienen oder über das Netzwerk zur Verfügung stellen.

Installation

Um gpsd nutzen zu können, muss das folgende Paket installiert werden:

  • gpsd (universe )

Paketliste zum Kopieren:

sudo apt-get install gpsd 

Oder mit apturl installieren, Link: apt://gpsd

Weitere nützliche Tools rund um das Thema GPS werden mit folgendem Paket installiert:

  • gpsd-clients (universe, z.B. gpxlogger oder xgps)

  • python-gi-cairo (wird für xgps benötigt)

Paketliste zum Kopieren:

sudo apt-get install gpsd-clients python-gi-cairo 

Oder mit apturl installieren, Link: apt://gpsd-clients,python-gi-cairo

Benutzung / Konfiguration

gpsd ist nach der Konfiguration üblicherweise richtig konfiguriert. Die allgemeine Syntax ist:

gpsd [-b] [-n] [-N] [-D n] [-F sockfile] [-P pidfile] [-S port] [-h] device... 

Die Tabelle zeigt eine Übersicht der möglichen Parameter:

Befehlsparameter
Parameter Zusatz Beschreibung
-b stellt eine Nur-Lesen Verbindung zum Bluetooth-GPS-Gerät her
-n versendet die Positionsdaten und wartet nicht auf eine Anwendung
-N wird kein Hintergrunddienst
-FSocket-DateiAngabe der bidirektionalen Softwareschnittstelle
-PPID-Dateierzeugt eine Prozess-ID-Datei
-DGanzzahl (Standard 0)setzt die Menge der Debug-Ausgabe
-SGanzzahl (Standard 2947)definiert den Port für den Dienst
-h Hilfe
-V Versionsanzeige

Testen / Debug

Zum Testen startet man gpsd im Debug-Modus. Für eine GPS-Maus am USB-Anschluss sieht der Befehl so aus:

gpsd -n -N -D4 /dev/ttyUSB0  

oder

gpsd -n -N -D4 /dev/ttyACM0 

Ist die GPS-Maus an einer seriellen Schnittstelle angeschlossen, ist der Befehl entsprechend abzuändern.

Mit dem telnet-Befehl kann man den GPS-Empfänger über gpsd ansprechen, wobei 2947 der Standardport ist und mit angegeben werden muss:

telnet localhost 2947 

aktiver Einsatz

Kommandozeilenbefehle

Um den Dienst zu starten, reicht ein einfacher Aufruf im Terminal:

gpsd /dev/ttyUSB0  

Können Positionsdaten ermittelt werden, so werden diese über gpsd anderen Anwendungen zur Verfügung gestellt. Somit greifen die aktuellen Navigationsprogramme nicht mehr direkt auf die Hardware, sondern auf den Dienst zurück.

Um zu überprüfen, ob auch Daten übertragen werden, kann man über ein zweites Terminal die grafische Unterstützung starten:

./xgps.png
xgps

xgps 

Möchte man seinen zurückgelegten Weg aufzeichnen, kann man gpxlogger benutzen. gpxlogger läuft in einem weiteren Terminal und schreibt dort fortlaufend die Postionsdaten im GPX-Format auf die Standardausgabe. Um die Strecke zu speichern, muss man die Ausgabe in eine Datei (hier tracklog.gpx) umlenken:

gpxlogger > tracklog.gpx 

Um die Aufzeichnung zu stoppen, beendet man gpxlogger mit Strg + C .

Hinweis:

Nur wenn das im Terminal laufende Programm über Strg + C beendet wird, erfolgt die fehlerfreie Speicherung im GPX-Format! Das entsprechende Terminal-Fenster nicht einfach schließen.

Software (Auswahl)

Unterstützte Hardware

Chipsätze

Die folgende Auswahl ist nur unvollständig, eine komplette und von den Entwicklern aktuell gehaltene Liste findet sich auf gpsd/Harware.

  • Generic NMEA

  • Ashtech

  • San Jose Navigation FV18

  • Furuno Electric GH-79L4

  • Garmin Serial

  • Delorme TripMate

  • Delorme EarthMate (pre-2003, Zodiac chipset)

  • Zodiac binary

  • Navcom binary

  • uBlox UBX

  • Garmin USB binary

  • Garmin Serial binary

  • SiRF binary

  • Trimble TSIP

  • EverMore binary

  • iTalk binary

  • RTCM104

  • Garmin Simple Text

GPS-Empfänger

  • NaviLock NL-202U

  • NaviLock NL-302U (läuft sofort unter /dev/ttyUSB0)

  • NaviLock NL-402U (starten mit gpsd -b /dev/ttyACM0)

  • NaviLock NL-409TE (läuft sofort unter /dev/ttyUSB0)

  • NaviLock NL-454US (sofort mit gpsd /dev/ttyUSB0)

  • NaviLock NL-602U (läuft sofort unter /dev/ttyACM0)

  • Holux GM210 USB (Modul pl2303)

  • iGPS-M Pro USB (wird als CP2101 erkannt, Modul cp2101, läuft sofort mit /dev/ttyUSB0)

  • QSTARZ BT-Q818

  • TomTom wireless GPS MkII

  • No-Name Produkt mit Sirf III Chipsatz (läuft sofort mit /dev/ttyUSB0)

  • GlobalSat BU-353 (läuft sofort mit /dev/ttyUSB0)

  • Garmin eTrex Legend® HCx (Modul garmin_gps, /dev/ttyUSB0)

  • Garmin GPSMap 60CSx (Modul garmin_gps, /dev/ttyUSB0)

  • Mainnav-GPS (über Bluetooth)

  • Fortuna Clip-On (über Bluetooth)

Problembehebung

GPS-Mäuse mit Bluetooth

Beim Versuch, gpsd mit Bluetooth-Mäusen zu betreiben, sind folgende Probleme aufgetreten:

  • Das Gerät (device) /dev/rfcomm0 wurde nicht automatisch angelegt

  • Der gpsd war nicht auf die Benutzung der Schnittstelle /dev/rfcomm0 eingestellt

  • Der gpsd Dienst startet mit ungenügenden Rechten und kann nicht auf die Schnittstelle /dev/rfcomm0 zugreifen

Hinweis:

Die Entwickler haben dazu folgende Anleitung erstellt: gpsd/Bluetooth.

Im englischen Ubuntu-Wiki gibt es ebenfalls eine kurze Anleitung dazu: BluetoothGPS.

  • Projektseite 🇬🇧

  • OpenStreetMap - Landkarten-Projekt unter einer freien Lizenz

  • NaviLock 🇩🇪 - Hersteller von GPS-Empfängern, der auch Linux-Treiber dazu anbietet

Diese Revision wurde am 13. Januar 2020 19:54 von Bärtiger erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Netzwerk, Hardware, GPS