Quantcast
Channel: 実用工房
Viewing all articles
Browse latest Browse all 10

BluetoothからGPS接続

0
0

さて、今回は本命のBluetooth経由でのGPSへの接続です。

とりあえず、何をするにも楽なPC上のLinuxで確認です。まずはBluetoothでの接続ですが、

$ hcitool scan
Scanning ...
        00:11:22:33:44:55       HOLUX_M-241
$ sdptool browse 00:11:22:33:44:55
Browsing 00:11:22:33:44:55 ...
Service Name: SPP Slave
Service RecHandle: 0x10000
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1

とのことなので、/etc/bluetooth/rfcomm.confに

rfcomm0 {
    bind yes;
    device 00:11:22:33:44:55;
    channel 1;
    comment "HOLUX_M-241";
}

と追加、

# /etc/init.d/bluetooth restart

とします。これで/dev/rfcomm0にアクセスするだけで自動的にBluetoothで接続されるようになります。

以上の手順をZaurusでも試したところ、無事GPS接続が出来るようになりました。

また、PCではM-241に保存されたログはMTKBabelで取り込みます。

$ mtkbabel -s 38400 -f gpsdata -t -w -p /dev/rfcomm0

とするとgpsdata.binとgpsdata_{trk,wpt}.gpxのGPX形式のログが出来るので、これをGPSBabelでKML形式に変換します。

$ gpsbabel -i gpx -o kml,units=m gpsdata_trk.gpx gpsdata_trk.kml

なお、USB経由でのログの取り込みはデバイス名を適当に変更すればOKです。

これをGoogle Earthで表示すると、こんな感じにめでたくルートが表示できるようになりました。

とまぁこれで十分と言えば十分なのですが、出先でM-241のログの取り込みや消去、走行ログの確認をZaurusで出来れば重いノートPCを持ち歩かずに済んで大変便利です。ということで、これらのZaurus用のパッケージを作ってみました。

あらかじめ、Linuxザウルス/Perl - Walrus, Visit.さんなどからPerlのダウンロード、インストールをお願い致します。なお、ZaurusでのMTKBabelでのログの取り込みはBluetoothの通信が不安定なのかエラーが頻発しますが、とりあえず動作するようパッチを当ててあるのでデータに問題は無いはずです。

なお、GPSBabelはNMEA形式のログ出力も出来るので、HB1さまのZegaで走行ログを表示できるはずです。私はちょっと確認できませんでしたが…。


Viewing all articles
Browse latest Browse all 10

Latest Images

Trending Articles





Latest Images