[[Vorlage(Getestet, jammy, bionic)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Editor: Einen Editor öffnen] [:mit Root-Rechten arbeiten:] }}} [[Inhaltsverzeichnis]] [[Bild(./gpsd_logo.png, align=left)]] [https://gpsd.gitlab.io/gpsd/ gpsd] {en} ist ein Hintergrund-Programm ("[:Dienste: 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: {{{#!vorlage Paketinstallation gpsd, universe }}} Weitere nützliche Tools rund um das Thema GPS werden mit folgendem Paket installiert: {{{#!vorlage Paketinstallation gpsd-clients, universe, z.B. `gpxlogger` oder `xgps` python3-gi-cairo, wird für `xgps` benötigt }}} = Benutzung / Konfiguration = gpsd ist nach der Konfiguration üblicherweise richtig konfiguriert. Die allgemeine Syntax ist: {{{#!vorlage Befehl gpsd [-b] [-n] [-N] [-D n] [-F sockfile] [-P pidfile] [-S port] [-h] device... }}} Die Tabelle zeigt eine Übersicht der möglichen Parameter: ||<-3 tablestyle="width: 95%;" rowclass="titel"> 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|| ||``-F``||Socket-Datei||Angabe der bidirektionalen Softwareschnittstelle|| ||``-P``||PID-Datei||erzeugt eine Prozess-ID-Datei|| ||``-D``||Ganzzahl (Standard 0)||setzt die Menge der Debug-Ausgabe|| ||``-S``||Ganzzahl (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: {{{#!vorlage Befehl gpsd -n -N -D4 /dev/ttyUSB0 }}} oder {{{#!vorlage Befehl 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: {{{#!vorlage Befehl telnet localhost 2947 }}} == aktiver Einsatz == === Kommandozeilenbefehle === Um den Dienst zu starten, reicht ein einfacher Aufruf im Terminal: {{{#!vorlage Befehl 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: [[Vorlage(Bildunterschrift, ./xgps.png, 240, "xgps", right)]] {{{#!vorlage Befehl 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: {{{#!vorlage Befehl gpxlogger > tracklog.gpx }}} Um die Aufzeichnung zu stoppen, beendet man gpxlogger mit [[Vorlage(Tasten, strg+c)]]. {{{#!vorlage Hinweis Nur wenn das im Terminal laufende Programm über [[Vorlage(Tasten, strg+c)]] beendet wird, erfolgt die fehlerfreie Speicherung im GPX-Format! Das entsprechende Terminal-Fenster nicht einfach schließen. }}} === Software (Auswahl) === * [:FoxtrotGPS:] ## * [:GpsDrive:] - freie Navigationssoftware für Linux/UNIX und Mac OS X * [:Archiv/Navit:] - freie Navigationssoftware mit Routenplaner * [https://opencpn.org/OpenCPN/info/downloadopencpn.html OpenCPN] {en} - freie Seenavigationssoftware u.a. für CM93 Karten * [:Viking:] = Unterstützte Hardware = == Chipsätze == Die folgende Auswahl ist nur unvollständig, eine komplette und von den Entwicklern aktuell gehaltene Liste findet sich auf [https://gpsd.gitlab.io/gpsd/hardware.html 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: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 {{{#!vorlage Hinweis Die Entwickler haben dazu folgende Anleitung erstellt: [https://gpsd.gitlab.io/gpsd/bt.html gpsd/Bluetooth]. Im englischen Ubuntu-Wiki gibt es ebenfalls eine kurze Anleitung dazu: [ubuntu:BluetoothGPS:]. }}} = Links = * [https://gpsd.gitlab.io/gpsd/index.html Projektseite] {en} * [:OpenStreetMap:] - Landkarten-Projekt unter einer freien Lizenz * [http://www.navilock.com/ NaviLock] {de} - Hersteller von GPS-Empfängern, der auch Linux-Treiber dazu anbietet #tag: Netzwerk, Hardware, GPS