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

Aus BraLUG-Wiki

(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Warum das Ding?)
(gpsd-Clients)
 
(18 dazwischenliegende Versionen von einem Benutzer werden nicht angezeigt)
Zeile 7: Zeile 7:
 
Eine nächste Hardware-Bestellung stand an und auf [http://www.mikrocontroller.net www.mikrocontroller.net] entwickelte sich eine interessante [http://www.mikrocontroller.net/topic/148598 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.
 
Eine nächste Hardware-Bestellung stand an und auf [http://www.mikrocontroller.net www.mikrocontroller.net] entwickelte sich eine interessante [http://www.mikrocontroller.net/topic/148598 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, dachte ich mir, dass man erstmal die GPS-Maus unter Linux ansprechen sollte, ... um mal 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.
+
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.
+
''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=
 
=Hardware=
 +
Die gelieferte Hardware ist recht kompakt und schnucklig. Die ungefähren Abmessungen in mm lauten 90x45x10. Als Bedienelement ist nur ein Ein-/Aus-Taster vorhanden. Der Status des Gerätes wird mit 3 LEDs angezeigt (Akku-Laden, Satellitenempfang, Bluetooth-Verbindung). Der Akku ist mit im Gehäuse integriert und lässt sich nicht wechseln. Das Aufladen erfolgt über eine Mini-USB-Buche, die aber keine USB-Schnittstelle zur Verfügung stellt.
 +
 +
Mitgeliefert wird eine kleine Magnethalterung und ein Ladekabel, welches man in den Zigarettenanzünder des Autos stecken kann.
 +
 +
Intern werkelt ein SiRFstarIII-Chipsatz, der recht empfindlich ist und z.B. auch bei mir im Haus genügend Satelliten empfängt. Die Maus schaltet sich nach einer gewissen Zeit ohne aktive Bluetooth-Verbindung automatisch ab. Der Akku reicht eine ganze Weile (lt. Manual ca. 9h, was auch ungefähr bei einem Dauertest hin kam).
 +
 +
Weil es ein paar kleine Merkwürdigkeiten beim Umkonfigurierung und Zurücksetzen des Chipssatzes gibt, verweise ich mal auf diesen kleinen [http://forum.pocketnavigation.de/thread.php?threadid=1054636 Bericht]. Die dort beschriebene "Reset-Prozedur" musste ich auch schon einmal anwenden und funktioniert...
  
 
=Ansprechen unter Linux=
 
=Ansprechen unter Linux=
  
 
==Bluetooth==
 
==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:
 +
 +
<pre>
 +
# hcitool inq
 +
Inquiring ...
 +
        00:0D:B5:82:C0:A6      clock offset: 0x05f9    class: ...
 +
</pre>
  
 
==rfcomm==
 
==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:
 +
<pre>
 +
# 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
 +
</pre>
 +
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:
 +
<pre>
 +
# 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
 +
</pre>
 +
Die GPS-Daten sind natürlich nur dann mit sinnvollen Werten belegt, wenn die GPS-Maus auch ein paar Satelliten "sieht".
  
 
==gpsd==
 
==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:
 +
<pre>
 +
# gpsd -b /dev/rfcomm0
 +
</pre>
 +
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==
 
==gpsd-Clients==
 +
 +
Es existieren diverse Programme, die auf gpsd aufsetzen. Hier eine kleine Auswahl:
 +
 +
*xgps; ein einfaches X-Programm zur Darstellung der GPS-Daten; für die Kontrolle, ob GPS-Maus und gpsd funktioniert, recht nützlich
 +
*cgps; analog xgps, nur für Terminal
 +
*[http://www.gpsdrive.de/ gpsdrive]; eine komlexe Navigationsanwendung, welche zur Darstellung auch OSM-Kartenmaterial verwendet
 +
*[http://www.navit-project.org/ navit]; ein weiteres Navigationssystem, welches ebenfalls auf OSM-Kartenmaterial aufsetzt; auf diversen Hardwareplattformen lauffähig
 +
*[http://www.kismetwireless.net/ kismet]; keine Ahnung, wozu das Programm gut ist...;-)

Aktuelle Version vom 8. Oktober 2009, 07:47 Uhr

GPS-Maus JENTRO BT-GPS-8U

Inhaltsverzeichnis

[Bearbeiten] 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.

[Bearbeiten] Hardware

Die gelieferte Hardware ist recht kompakt und schnucklig. Die ungefähren Abmessungen in mm lauten 90x45x10. Als Bedienelement ist nur ein Ein-/Aus-Taster vorhanden. Der Status des Gerätes wird mit 3 LEDs angezeigt (Akku-Laden, Satellitenempfang, Bluetooth-Verbindung). Der Akku ist mit im Gehäuse integriert und lässt sich nicht wechseln. Das Aufladen erfolgt über eine Mini-USB-Buche, die aber keine USB-Schnittstelle zur Verfügung stellt.

Mitgeliefert wird eine kleine Magnethalterung und ein Ladekabel, welches man in den Zigarettenanzünder des Autos stecken kann.

Intern werkelt ein SiRFstarIII-Chipsatz, der recht empfindlich ist und z.B. auch bei mir im Haus genügend Satelliten empfängt. Die Maus schaltet sich nach einer gewissen Zeit ohne aktive Bluetooth-Verbindung automatisch ab. Der Akku reicht eine ganze Weile (lt. Manual ca. 9h, was auch ungefähr bei einem Dauertest hin kam).

Weil es ein paar kleine Merkwürdigkeiten beim Umkonfigurierung und Zurücksetzen des Chipssatzes gibt, verweise ich mal auf diesen kleinen Bericht. Die dort beschriebene "Reset-Prozedur" musste ich auch schon einmal anwenden und funktioniert...

[Bearbeiten] Ansprechen unter Linux

[Bearbeiten] 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: ...

[Bearbeiten] 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".

[Bearbeiten] 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.

[Bearbeiten] gpsd-Clients

Es existieren diverse Programme, die auf gpsd aufsetzen. Hier eine kleine Auswahl:

  • xgps; ein einfaches X-Programm zur Darstellung der GPS-Daten; für die Kontrolle, ob GPS-Maus und gpsd funktioniert, recht nützlich
  • cgps; analog xgps, nur für Terminal
  • gpsdrive; eine komlexe Navigationsanwendung, welche zur Darstellung auch OSM-Kartenmaterial verwendet
  • navit; ein weiteres Navigationssystem, welches ebenfalls auf OSM-Kartenmaterial aufsetzt; auf diversen Hardwareplattformen lauffähig
  • kismet; keine Ahnung, wozu das Programm gut ist...;-)
'Persönliche Werkzeuge