AA_gps_vadim-georgiev_123rf_17960576.jpg

© Vadim Georgiev, 123RF

Daten aus einer GPS-Maus erfassen und verarbeiten

Sicher navigieren

GPS-Daten erlauben es Ihnen, Ihre momentane Position exakt zu bestimmen. Open-Source-Tools helfen dabei, die Daten auszuwerten.

Kaum ist es eingeschaltet, findet ein Smartphone seine Position. Dabei stützt es sich im Wesentlichen auf drei Funksysteme: Mobilfunkortung, WLAN-Ortung und GNSS. Im ersten Fall weiß der Anbieter, in welche Funkzelle sich das Handy eingebucht hat; auf Wunsch teilt er das dem Gerät mit. Die Genauigkeit hängt dabei von der Größe der Zelle ab: In der Stadt liegt sie bei wenigen Hundert Metern, auf dem Land bei einigen Kilometern. Bei der WLAN-Ortung scannt das Handy alle WLAN-Netze der Umgebung und sendet deren Kennungen an einen Server. Dieser sieht in seiner Datenbank nach, wo sich die Hotspots befinden. Über die ihm mitgeteilte Stärke der Signale verfeinert er die Daten zur Position und informiert das Handy.

Das dritte Verfahren nutzt Satellitenkonstellationen, neudeutsch Global Navigation Satellite Systems (GNSS), deren bekanntestes GPS ist. Es steht unter der Leitung des US-amerikanischen Verteidigungsministeriums. Manche Geräte empfangen auch Signale des russischen Netzes GLONASS. Das europäische System Galileo befindet sich noch im Aufbau.

Die Navigation via Satellit funktioniert komplementär zu den terrestrischen Verfahren. Die Genauigkeit von 5 bis 20 Metern steht nahezu weltweit bereit. Der Fehler bei terrestrischen Systemen liegt zwischen 10 Metern und unendlich (außerhalb eines Mobilfunknetzes). Dafür arbeiten sie schnell, während eine Ortung über Satellit unter Umständen einige Minuten dauert. Zum Bestimmen der Position in Gebäuden fällt das Signal von Satelliten zu schwach aus.

Diese wenigen Grundlagen verdeutlichen, warum Provider ihre terrestrischen Daten zur Position nur im Tausch gegen GPS-Daten der Nutzer freigeben. Dadurch halten die Betreiber ihre WLAN-Datenbank aktuell, ohne selbst vor Ort nach neuen Hotspots suchen zu müssen. Technisch arbeitet GPS jedoch völlig unabhängig von anderen Systemen. Bei GPS weiß nur der Empfänger, wo er sich befindet – das Koppeln mit der WLAN-Ortung wäre nicht notwendig.

GPS-Empfang

Die meisten GNSS-Systeme ermitteln die Position über Multilateration. Dabei misst der Empfänger die Laufzeiten des Signals vom Satelliten, die umso länger ausfällt, je weiter ein Satellit entfernt ist. Die genaue Position der Satelliten und die Zeit finden sich kodiert in den GPS-Signalen.

Die Intensität des Signals beim Empfänger liegt unter der des thermischen Rauschens. Ein Empfang gelingt nur, weil das Signal einen großen Frequenzbereich von einigen Megahertz belegt und nur wenige Signalmuster ("Pseudo Random Codes") vorkommen, die der Empfänger durchprobieren muss. Die Datenrate beschränkt sich auf 50 Bit/s. Ein Kaltstart eines GPS-Empfängers, bei dem dieser die kompletten GPS-Ephemeriden der GPS-Satelliten einliest, dauert deshalb fast eine Viertelstunde.

Spezielle Mikroprozessoren verrechnen die Daten. Chips für den Consumer-Bereich begnügen sich damit, die verarbeiteten Daten auszugeben, Zwischenergebnisse sind nicht zugänglich. Dafür kosten solche Bausteine nur wenige Euro. Zu den bekannteren Herstellern zählen Qualcomm (Sirfstar-V), Skytraq (Venus 8), Mediatek (MT3329) und U-Blox. Der Kasten "Positionsdaten" zeigt, welche typischen Daten ein solcher Chip im NMEA-Format ausgibt.

Positionsdaten

  • Position, angegeben in geografischer Länge und Breite
  • Höhe über Normalhöhennull
  • Geoidundulation, Korrektursummand für Höhenbestimmung
  • Datum, Uhrzeit
  • Maßzahl für die Qualität der Daten
  • Hinweis, ob Korrektursignale verarbeitet wurden (EGNOS, WAAS)
  • Grobposition der Satelliten, bezogen auf den Standort
  • Stärke der Satellitensignale

Die ersten Daten

Die Ergebnisse für diesen Test liefert eine USB-GPS-Maus mit einem Venus-8-Chip der Firma Skytraq (Abbildung 1). Sie besitzt 167 Kanäle. Zum Vergleich: Die frühen Taschenempfänger galten als fortschrittlich, wenn sie die Daten von 32 Satelliten gleichzeitig verarbeiten konnten. Die Empfindlichkeit gibt der Hersteller mit -190 dB an.

Abbildung 1: Im Gegensatz zu den frühen Empfängern für den privaten Gebrauch weisen die heutigen Modelle in Form einer USB-Maus eine wesentlich größere Empfindlichkeit auf.

Treiber zum Auswerten des Datenstroms aus dem USB-Interface der Maus stehen im Kernel bereit. Um den Datenstrom zu lesen, benötigen Sie den Namen, unter dem das System die GPS-Maus erkannt hat. Diesen finden Sie über die Abfrage mit dmesg in der ersten Zeile von Listing 1 heraus.

Listing 1

$ dmesg -T | grep tty
[12:07:15 2016] usb 1-9: cp210x converter now attached to ttyUSB0
[12:07:16 2016] pps pps0: source "/dev/ttyUSB0" added
[12:08:20 2016] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0

Der Filter grep tty schränkt die Angabe der Treiber auf spezielle Eingabegeräte ein. Hier kommt es auf die letzten Zeilen der Antwort an, in Listing 1 in den Zeilen 2 bis 4 wiedergegeben: Das System erkannte das Einstecken (um 12:07 Uhr) sowie das Abziehen (um 12:08 Uhr) der GPS-Maus, die demnach unter dem Namen /dev/ttyUSB0 aktiv war. Dieser Name dient im Folgenden als Platzhalter; bei anderen Systemen passen Sie ihn entsprechend an.

Im Prinzip sollten die Daten der GPS-Maus nach Eingabe des folgenden Befehls auf der Konsole erscheinen:

$ cat < /dev/ttyUSB0

Drei mögliche Ursachen verhindern in vielen Fällen zunächst die Ausgabe: Lautet die erste Fehlermeldung Permission denied, so fügen Sie das aktuelle Benutzerkonto der Gruppe dialout hinzu. Das erledigen Sie mit folgendem Befehl:

$ sudo adduser Benutzername dialout

Der Befehl groups kontrolliert das Ergebnis. Damit die Änderung wirkt, müssen Sie sich einmal ab- und dann wieder anmelden.

Die Fehlermeldung Device busy deutet darauf hin, dass ein anderer Prozess auf das Gerät zugreift (Listing 2). Um welchen es sich dabei handelt, stellen Sie mithilfe des Befehls lsof fest, über den wir bereits in einer früheren Ausgabe berichtet haben [1]. Im Beispiel aus Listing 2 stört das Programm Gpsd (Zeile 6). Deshalb beenden Sie es mit dem Befehl aus Zeile 7.

Listing 2

$ ps -eo 'tty,pid,comm' | grep "gpsd"
?         3195 gpsd
$ sudo lsof | grep ttyUSB
lsof: WARNING: cannot stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
gpsd   3382    gpsd   9u   CHR   188,0   0t0   544   /dev/ttyUSB0
$ sudo killall gpsd

Die letzte Hürde liegt gelegentlich darin, die richtige Baudrate einzustellen. Die Stty-Abfrage in Listing 3 liefert einen Wert von 115 200 Baud. Für die hier genutzte GPS-Maus liegt der korrekte Wert bei 4800 Baud.

Listing 3

$ stty -F /dev/ttyUSB0
speed 115200 baud; line = 0;
-brkint -imaxbel
$ stty -F /dev/ttyUSB0 ispeed 4800
stty: /dev/ttyUSB0: unable to perform all requested operations

Jetzt sollte es gelingen, die Ausgaben der GPS-Maus abzufragen (Listing 4). Eine NMEA-Datenzeile beginnt mit einem $, gefolgt von typischerweise fünf Buchstaben, welche die folgenden Felder charakterisieren. Die Zeile endet mit einem Asterisk (*) und einem zweistelligen Kontrollcode.

Listing 4

$ cat < /dev/ttyUSB0
$0,0.0,0.0*30
$GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30
$GPRMC,111105.000,V,0000.0000,N,00000.0000,E,000.0,000.0,200316,,,N*75
$GPGGA,111106.000,0000.0000,N,00000.0000,E,0,00,0.0,0.0,M,0.0,M,,0000*6B
[...]

In Listing 4 sind die Daten in Zeile 3 noch unvollständig. Die beiden folgenden Zeilen bestehen aus Leerstellen und Nullen, da außer der Zeit noch keine Daten von Satelliten empfangen wurden. Im Folgenden spielen vor allem die Zeichenketten ein Rolle, die mit $GPGGA beginnen. Hinsichtlich der Bedeutung der anderen Ketten sei auf Quellen im Internet [2] verwiesen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF
Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Neues auf den Heft-DVDs
    Nur mit dem optimalen System und der richtigen Software nutzen Sie das volle Potenzial Ihres Rechners. Mit der Heft-DVD erhalten Sie nicht nur topaktuelle Distributionen, sondern auch die passenden Programme zu den Artikeln.
  • Software
  • Offroad-Navi auf Linux-Basis im Eigenbau
    Ein alter EeePC mit Linux macht als Basis für ein leistungsfähiges Offroad-Navi eine gute Figur. Beim Zusammenstellen der weiteren Komponenten gilt es aber, einiges zu beachten.
  • Satelliten verfolgen mit Gpredict
    Eine Vielzahl unterschiedlichster Satelliten umkreist mittlerweile unseren Planeten. Welche davon Sie wo am nächtlichen Himmel als Lichtpunkt beobachten können, sagt ihnen Gpredict.
  • Breitband-Internetzugang per Satellit
    Auf den ersten Blick scheinen DSL-Flatrates und Breitbandzugänge allgegenwärtig zu sein. Doch die Versorgung ist keineswegs flächendeckend: Gerade in Randbezirken oder abgelegenen Gebieten muss man weiter auf DSL verzichten. Eine Alternative bietet dort die Versorgung via Satellit.
Kommentare

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...