GPS-Maus JENTRO BT-GPS-8U unter Linux

Aus BraLUG-Wiki

Wechseln zu: Navigation, Suche

GPS-Maus JENTRO BT-GPS-8U

Inhaltsverzeichnis

Warum das Ding?

Eine nächste Hardware-Bestellung stand an und auf www.mikrocontroller.net entwickelte sich eine interessante Diskussion zu einem Sonderangebot bei Reichelt. Da auf meiner Projektliste (ganz unten) ein GPS-Logger steht, dachte ich, einfach mal bestellen, hinlegen, irgendwann zerlegen und das GPS-Modul in dem Ding in meine (noch zu entwerfende) Mikrocontroller-Schaltung einbauen.

Bevor nun aber der Lötkolben gezückt wird, muss man natürlich erstmal versuchen, die GPS-Maus unter Linux anzusprechen, ... um zu schauen, ob das Teil überhaupt funktioniert. Angeliefert wird das Gerät mit "toller" Windows-Software, die dann letztendlich kostenpflichtige Dienste in Anspruch nimmt, um ein Navigationssytsem auf einem Handy oder PDA zur Verfügung zu stellen. Die CD ist im "Rundordner" gelandet, denn man kann das Teil auch mit Linux-Boardmitteln zum Leben erwecken.

Anmerkung: ich bin jetzt nicht der GPS-OSM-usw.-Experte! Deshalb wird jetzt hier keine Abhandlung zu irgendwelchen GPS-Protokollen etc. zu erwarten sein. Vielleicht kommt das ja noch irgendwann.

Hardware

ein ausführlicher Bericht...

Ansprechen unter Linux

Bluetooth

Die vorliegende GPS-Maus kann nur Bluetooth, also ist dies auch das Mittel der Wahl, um eine Kommunikation ziwschen PC und Gerät zu realisieren. In einem der letzten Vortragsprogramme hatten wir ja einen Vortrag zu diesem Thema gehabt, an den ich mich noch gut erinnern konnte. Auf der Wiki-Seite Linux und Bluetooth sind einige grundsätzliche Linuxbefehle und Bemerkungen zu finden, welche mir auch geholfen haben.

Grundvoraussetzung für weitere Experimente mit der GPS-Maus via Bluetooth ist das Herausfinden der Geräteadresse. Der PC muss dazu natürlich auch "bluetooth-fähig" sein.... Mit folgenden Befehl erhält man die Hardwareadresse der Maus:

# hcitool inq
Inquiring ...
        00:0D:B5:82:C0:A6       clock offset: 0x05f9    class: ...

rfcomm

Nächster Schritt ist die Emulation einer seriellen Schnittstelle via Bluetooth vom Linux-PC zum Gerät. Dazu dient das Tool rfcomm. Uns interessiert in dem Zusammenhang aber nur die connect-Option des rfcomm-Befehls:

# rfcomm connect /dev/rfc0mm0 00:0D:B5:82:C0:A6 1
Connected /dev/rfcomm0 to 00:0D:B5:82:C0:A6 on channel 1
Press CTRL-C for hangup

Für weiterführende Informationen kann z.B. die Manpage zu rfcomm herangezogen werden.


Ist man soweit gekommen, sieht es schon mal ganz gut aus, die GPS-Maus wurde via Bluetooth erkannt und kann über /dev/rfcomm angesprochen werden! Z.B. mit dem cat-Befehl kann man die Schnittstelle auslesen, um zu sehen, was da so ankommt:

# cat /dev/rfcomm0 
$GPGGA,202323.000,5225.5781,N,01230.4682,E,1,08,1.0,34.2,M,45.7,M,,0000*67
$GPRMC,202323.000,A,5225.5781,N,01230.4682,E,0.14,73.06,061009,0,,A*66
$GPGGA,202324.000,5225.5781,N,01230.4682,E,1,08,1.0,34.2,M,45.7,M,,0000*60
$GPRMC,202324.000,A,5225.5781,N,01230.4682,E,0.08,65.70,061009,0,,A*6A
$GPGGA,202325.000,5225.5781,N,01230.4682,E,1,08,1.0,34.3,M,45.7,M,,0000*60
$GPRMC,202325.000,A,5225.5781,N,01230.4682,E,0.13,74.06,061009,0,,A*60
$GPGGA,202326.000,5225.5781,N,01230.4682,E,1,08,1.0,34.4,M,45.7,M,,0000*64
$GPRMC,202326.000,A,5225.5781,N,01230.4682,E,0.08,52.80,061009,0,,A*63
$GPGGA,202327.000,5225.5781,N,01230.4683,E,1,08,1.0,34.5,M,45.7,M,,0000*65
$GPRMC,202327.000,A,5225.5781,N,01230.4683,E,0.14,75.63,061009,0,,A*66
$GPGGA,202328.000,5225.5781,N,01230.4683,E,1,08,1.0,34.6,M,45.7,M,,0000*69
$GPRMC,202328.000,A,5225.5781,N,01230.4683,E,0.19,72.02,061009,0,,A*64
$GPGGA,202329.000,5225.5781,N,01230.4683,E,1,08,1.0,34.7,M,45.7,M,,0000*69
$GPRMC,202329.000,A,5225.5781,N,01230.4683,E,0.07,46.11,061009,0,,A*6F

Die GPS-Daten sind natürlich nur dann mit sinnvollen Werten belegt, wenn die GPS-Maus auch ein paar Satelliten "sieht".

gpsd

Der Daemon gpsd ist ein Dienst, der empfangene GPS-Daten verarbeiten und via TCP/IP über Port 2947 (Defaultwert) im Netzwerk zur Verfügung stellen kann. Als Input-Device kann z.B. die Schnittstelle /dev/rfcomm0 (siehe vorheriges Kapitel) verwendet werden:

# gpsd -b /dev/rfcomm0

Das Parameter -b stellt eine Nur-Lese-Verbindung zum Input-Device /dev/rfcomm0 her. An verschiedenen Stellen im Internet habe ich gelesen, dass eine Schreib-Lese-Verbindung zur JENTRO-GPS-Maus zu Problemen führen könnte. Mit einer Nur-Lese-Verbindung ist es allerdings auch nicht möglich die GPS-Maus umzukonfigurieren.

Weitere Parameter sind aus der Manpage von gpsd zu entnehmen.

gpsd-Clients

Installation...

  • xgps
  • cgps
  • gpspipe
  • ...
'Persönliche Werkzeuge