Bluetooth経由でデータのやりとりができそうなので、Linux(Ubuntu)でも試す。
今までBluetooth on Linux関係はどつぼ状態だったので、実用工房さんのブログ「BluetoothからGPS接続」を参考にさせていただきました。
まずは、Bluetooth機器として認識されているか。
$ hcitool scan
Scanning ...
00:1C:7E:3E:48:5B ********
00:1B:41:01:3F:38 ********
00:12:34:00:11:88 HOLUX_M-241
$ sdptool browse 00:12:34:00:11:88
Browsing 00:12:34:00:11:88 ...
Service Name: SPP Slave
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
/etc/bluetooth/rfcomm.confに次のエントリーを追加。
rfcomm0 {
bind yes;
device 00:12:34:00:11:88;
channel 1;
comment "HOLUX_M-241";
}
bluetoothサービスをリスタート
$ sudo /etc/init.d/bluetooth restart
$ cat /dev/rfcomm0
とやってみて、「$GPGGA….」なんたらとデータが流れてくればとりあえず接続は完了。
データの取り込みは定番のgpsbabelを使用。
Ubuntuではパッケージが無いようなので、自力でmake。
こんなシェルスクリプトで
#/bin/sh
fname=`date '+%Y%m%d-%H%M%S'`
gpsbabel -t -i m241 -f /dev/rfcomm0 -o gpx -F ~/gps/$fname.gpx
gpsbabel -i gpx -f ~/gps/$fname.gpx -o kml,lines=1,points=0 -F ~/gps/forGoogle.kml
最後にできた、forGoogle.kmlをGoogle Mapへインポート処理。