Ei sitä bluetooth GPS-vastaanotinta tarvitse parittaa tietokoneen bluetooth-adapterin kanssa. Tuossa SOD:n antamassa osoitteessa on kaikki mitä sen toimintaan saamiseen tarvitset. tärkein (ja kovin työ) on saada rfcomm juttelemaan vastaanottimen kanssa.
Aluksi kuitenki asenna apt-getillä tai synapticilla gpsd, GPS daemon, joka toimii gps-vastaanottimesi rajapintana esimerkiksi tuolle gpsdrive-ohjelmalle.
sudo apt-get install gpsd gpsd-clients
Tämän jälkeen katsot hcitoolilla löytääkö bluetooth-adapterisi gps:n ja samalla näet myös mikä on gps:äsi mac-osoite.
shamino@antares:~$ hcitool scan
Scanning ...
11:22:33:44:55:66 BT-GPS-36B87F
kopioi mac-osoite, tarvitset sen rfcommin konfigurointiin ja oikean rfcomm-kanavan selvittämiseen.
Nyt pitäisi sitten saada selville mitä rfcomm-kanavaa gps-vastaanottimesi käyttää. tähän on ohjelma nimeltä sdptool (service discovery protocol)
shamino@antares:~$ sdptool records 11:22:33:44:55:66
Service Name: BT-GPS COM Port
Service RecHandle: 0x10000
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Protocol Descriptor List-osiossa näkyy Channel: 1 ja tämä on siis minun gps-vastaanottimen käyttämä kanava. voit myös käyttää sdptool browse 11:22:33:44:55:66 -komentoa mutta minulla se ei ainakaan tulostanut mitään.
nyt avaa /etc/bluetooth/rfcomm.conf -tiedosto
sudo gedit /etc/bluetooth/rfcomm.conf
poista #-merkit niin että sisältö näyttää jotakuinkin tältä:
#
# RFCOMM configuration file.
#
rfcomm1 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 11:22:33:44:55:66;
# RFCOMM channel for the connection
channel 1;
}
Muokkaa kuitenkin tiedosto niin että devicen jälkeen lukee vastaanottimesi mac-osoite ja channel on sdptoolin kertoma kanava.
tallenna tiedosto ja uudelleenkäynnistä bluetooth-palvelu.
sudo /etc/init.d/bluetooth restart
nyt varmista että gps-vastaanotin päällä ja komenna rfcomm yhdistämään vastaanottimeen.
shamino@antares:~$ sudo rfcomm connect 1
Connected /dev/rfcomm1 to 11:22:33:44:55:66 on channel 1
Press CTRL-C for hangup
tämän jälkeen avaa uusi terminaali ja käynnistä gpsd
gpsd -b /dev/rfcomm1
tuo -b estää gpsd:tä kirjottamasta mitään vastaanottimelle koska ilmeisesti aika monet vastaanottimet ei siitä tykkää ja vetävät itsensä jollain tapaa jumiin.
nyt käynnistä vaikka xgps-ohjelman jolla näet lähettääkö gpsd NMEA-tietoa vastaanottimelta.