【アーカイブ】LinuxでBluetooth経由によりNokia N95の内蔵GPSをノートPCと共有する方法
このチュートリアルでは、Nokia N95の内蔵GPSをBluetooth経由でLinuxラップトップと共有するために必要な手順を解説します。
はじめにお読みください(アーカイブに関する注意)
本ガイドは2008年に公開されたものであり、記事内で紹介している一部のソフトウェアは現在すでに存在しません。そのため、検索エンジンのデータベースからの削除を依頼済みですが、記録保存(アーカイブ)の目的でこのドキュメントはオンラインに残しています。あらかじめご了承ください。
必要なもの
- 内蔵GPSを搭載したNokia N95(Symbian S60端末)
- Bluetooth対応のLinux PC(本記事はFedora 9で動作確認)
- Symarctic ExtGPS(現在は配布終了)
- gpsdやxgpsなどのGPS関連ユーティリティ
手順1:ExtGPSを入手・インストールする
まず、Symarctic ExtGPSのコピーを入手します。更新情報:このソフトウェアは現在入手できません。当時は個人による非商用利用に限り無料で提供されていました。
手順2:ExtGPSを起動して権限を許可する
ExtGPSをインストールしたら、端末のメニュー→アプリケーション→ExtGPSから起動できます。起動時に、接続アプリケーションの使用許可と測位データの使用許可を求められるので、どちらも「はい」を選択してください。


手順3:GPSの測位(フィックス)を待つ
GPSが有効な信号を受信して測位を確立するまでには、かなり時間がかかることがあります。必ず屋外に出て、空がよく見える場所で作業してください。測位が完了すると、衛星アイコンが赤から緑に変わります。

手順4:スマートフォンをBluetoothで検出可能にする
スマートフォンがBluetooth経由で他の機器から検出できる状態になっていることを確認します。メニュー→ツール→Bluetoothを選択し、本体の表示(可視)状態を有効にします。筆者は「5分間表示可能」に設定しました。



手順5:sdptoolでサービスを検索する
ここから先の手順はコマンドラインで行います。以下はFedora 9のシステムで実行した例です。
[user@radon ~]$ sdptool search SP
Inquiring ...
Searching for SP on aa:bb:cc:dd:ee:ff ...
Service Name: Data Transfer
Service Description: Version
Service RecHandle: 0x1000f
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
Service Name: Symarctic ExtGPS
Service Description: Share phone's built-in GPS module via Bluetooth
Service Provider: Symarctic Solutions
Service RecHandle: 0x10019
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100手順6:rfcommでシリアルポートをバインドする
上記の出力から、スマートフォンのBluetooth MACアドレス(aa:bb:cc:dd:ee:ff)と、ExtGPSがチャンネル5でシリアルポートサービスを公開していることが分かります。次に、これらを結び付けて/dev以下にデバイスエントリを作成します。
[user@radon ~]$ sudo rfcomm bind 1 aa:bb:cc:dd:ee:ff 5rfcomm bindの引数は、左から順に「rfcommデバイス番号」「スマートフォンのBluetooth MACアドレス」「sdptoolで確認したチャンネル番号」です。このコマンドにより、/dev/rfcomm1としてシリアルポートが作成されます。
手順7:NMEAセンテンスを確認する
この時点で、N95から送られてくる生のNMEAセンテンスをコンソールに直接表示できるはずです。
[user@radon ~]$ sudo cat /dev/rfcomm1
$GPGGA,022314.000,4826.67566,N,12322.19605,W,1,07,1.9,13.7,M,-18.3,M,,*52
$GPGLL,4826.67566,N,12322.19605,W,022314.000,A,A*4A
$GPGSA,A,3,30,29,10,21,24,26,15,,,,,,2.9,1.9,2.2*3D
$GPGST,022314.000,8.8,13.0,6.1,65.6,7.1,11.1,14.0*63
$GPGSV,3,1,11,05,09,179,,02,10,072,25,30,28,194,38,29,77,118,42*72
$GPGSV,3,2,11,10,42,059,36,16,24,315,27,21,45,256,43,24,84,024,40*79
$GPGSV,3,3,11,18,14,198,,26,10,114,38,15,09,128,33*49
$GPRMC,022314.000,A,4826.67566,N,12322.19605,W,0.1,159.6,151008,18.1,W,A*3B
$GPVTG,159.6,T,177.7,M,0.1,N,0.3,K,A*2C
^CNMEAセンテンスがコンソールに流れている間、ExtGPS側のBluetoothアイコンが赤から緑に変わるはずです。

手順8:gpsdを起動する
これで接続が確立できたので、もう少し実用的な使い方を試してみましょう。まず、PC上でgpsdを起動します。
[user@radon ~]$ sudo /usr/sbin/gpsd -N /dev/rfcomm1-Nオプションは、gpsdをバックグラウンドモードに移行させないための指定です。筆者はgpsdを常時起動しておくスタイルではないため、この方法を好んでいます。使いたいときだけ起動し、終了するときはCtrl+Cを押すだけでOKです。その他のオプションについては、gpsdのmanページを参照してください。
手順9:xgpsで動作を確認する
続いて、別のターミナルウィンドウを開き、xgpsを実行してみます。
[user@radon ~]$ xgps以下のような画面が表示されるはずです(画像クリックで拡大)。

xgpsで確認できる情報
xgpsには、緯度・経度・高度・速度など、一般的なGPSデータが表示されます。
応用:LinuxでGPSを活用する
Linuxには、GPSデバイスを活用できるアプリケーションが数多くあります。筆者はワードライブ(wardriving)の際に、KismetとGPSDriveの組み合わせを愛用しています。もし需要がありそうであれば、KismetとGPSDriveを使ったワードライブの手順をまとめたチュートリアルも執筆したいと思います。
-
Androidで友人と位置情報を共有する7つの方法【Googleマップ・WhatsAppなど】
GPS技術はここ数十年で大きく進化し、今ではAndroidスマートフォンでも手軽に利用できるようになりました。複数のアプリが正確な現在地を特定でき、中でも最も広く使われているのがGoogleマップです。これらのアプリを使えば、自分の現在地を確認したりナビゲーションしたりするだけでなく、その位置情報を友人と共有することも可能です。位置情報を直接共有することは、自分の正確な居場所を伝えるための非常に便利な手段です。「今どこにいるのか」「家への道順」などを口頭で説明しても、なかなか上手く伝わらないことはよくありますよね。実は、この便利な機能はいつでも指先で使えるのに、その存在を忘れている人が多いので
-
Windows 10 / 11ノートPCでタッチパッドを無効にする方法【設定・デバイスマネージャー・コントロールパネル】
ノートPCのタッチパッドは、多くのユーザーが日々の操作を行うための標準的な入力デバイスです。デスクトップPCから離れてノートPC中心の生活に移行した人なら、使い込むうちに自然とタッチパッドになじんでいくことでしょう。 しかし、タッチパッドには悩みの種も少なくありません。その代表格が、タイピング中にうっかり手や手首が触れてしまい、カーソルが画面上を勝手に飛び回ってしまうトラブルです。この記事では、Windows 10またはWindows 11搭載のノートPCでタッチパッドを簡単に無効化する方法を詳しく解説します。 それでは、具体的な手順を見ていきましょう。 Windows 10でタッチパッドを無