「iPod touchでGPSモドキ」カテゴリーアーカイブ

iPod touchでGPS(終)

(iPod touchでホントのGPSを使う方法は→iPod touchでホントのGPS(1)

 iPod touchのマップアプリが周囲にある無線LANアクセスポイントのMACアドレスを利用して自分の位置を特定できる機能(GPSみたいな機能)がある。嗚呼、iPod touchが「電話できないiPhone」にどんどん近づいていく。

 iPhoneもこの「GPSみたいな機能」を積極的に利用しているらしい。GPSって複数の衛星の電波を捉えるまでに結構時間がかかる。skyhook wirelessがカバーしているエリアならそっちで位置特定する方が早いらしい。あとでGPSで補正するって感じなのかな。skyhook wireless社のCEOが「Two-thirds to three-quarters of the time, he says, when the iPhone locates・・・」(http://news.cnet.com/8301-19882_3-10281561-250.htmlの記事)とか言ってるので、iPhoneも3回に2回とか4回に3回くらいの割合でGPSみたいな機能で位置を特定しているらしい。

 「GPSみたいな機能」の利点は「位置特定が早い」「衛星の電波が届かないところでも使える」ってこと。横浜駅の地下通路でも問題なく位置特定できた。

地下街にいても使える
地下街にいても使える

 「GPSみたいな機能」の欠点は「対応エリアが極端に狭い」「無線LANアクセスポイントが移設されると位置情報が狂う」ってこと。無線LANアクセスポイントがskyhook wireless社に登録された時と違う場所に移設されると、とんでもない場所にナビされる。複数の無線LANアクセスポイントがみつかる場所なら1つくらい変な場所があっても補正してくれると思うけど、skyhook wireless社のデータベースに登録されている無線LANアクセスポイントが近くに1つしか見つからない場合は、その情報が全てになる。引っ越しなんかされてた日にはマップアプリはあらぬところを指し示すことになる。

JR保土ヶ谷駅と東戸塚駅の中間地点のはずなんだが、突然遠くに飛ばされた
JR保土ヶ谷駅と東戸塚駅の中間地点のはずなんだが、突然遠くに飛ばされた

 iPhoneみたいにGPS機能がついていて、その補助機能としてなら非常に有効なシステム(すばやい位置特定と地下や屋内での利用)。この機能だけでも23区内ならかなり実用的に使えそう。エリア限定で実用的。まあホントのところ実用的じゃないけど面白い。今のところ自分にとってGPS機能なんて面白けりゃいいっていう程度だからコレで十分楽しませてもらってる。横浜や川崎あたりで意味もなくiPod touchで現在位置を確認してニンマリしている私。ま、ホントにGPS機能が欲しい時は

GPS-CS3K
GPS-CS3K

↑コレ使えばいいし。

 ところでこの「GPSみたいな機能」をより有用なものにするためには何よりもskyhook wireless社のデータベースを充実させることだ。さあみんなも外出中に無線LANアクセスポイントを見つけたらソイツのMACアドレスを調べてskyhook wireless社のデータベースに登録するのだ。

iPod touchでGPS(2)

(iPod touchでホントのGPSを使う方法は→iPod touchでホントのGPS(1)

iPod touchのマップアプリでGPSみたいなことができちゃう理由

 ネットワークに繋がる機器類には必ず「MACアドレス」という番号が振られています。全世界のネットワーク機器には1台1台固有のMACアドレスが割り当てられていて、これを元に機器間のデータの送受信が行われています。似たような番号にIPアドレスってのがありますが、これはネットに接続したときに割り当てられるもので接続するたびにいろんな番号が与えられたりする。これに対してMACアドレスはその機器が製造されたときに決められる番号で基本的には変更されません。パソコンや無線LANの機器に「32:61:3C:4E:B6:05」みたいな番号が書いてあるはず。これがMACアドレス。もちろん無線LANの機器にも必ずMACアドレスが付いてます。

MACアドレス。製造時に決められるので機器に印刷してある

 ところで、パソコンを無線LANに接続するときに自分の周囲にある無線LANアクセスポイントの一覧が表示できます。隣近所に無線LANを使っている家があると何個もアクセスポイントが見つかります。その中から接続したいアクセスポイントを選ぶとWEPキーとかWPAパスワードみたいな暗号通信用の鍵を入力しろとか言われて、それが正しければめでたく無線LAN接続成功となるわけですね。

無線LANアクセスポイントの一覧
無線LANアクセスポイントの一覧

パソコン「私はMACアドレス123のパソコンです!この近くにアクセスポイントはありませんかぁ?」
アクセスポイントA「はーい、123さん、私はMACアドレス456のアクセスポイントです。」
アクセスポイントB「はーい、123さん、私はMACアドレス789のアクセスポイントです。」
パソコン「おっ、私はMACアドレス123のパソコンですが、789さんに接続してもいいですか?」
アクセスポイントB「はいはい789です。123さん、暗号鍵を言ってみ」
パソコン「はーい、123です。えっと、789さん、暗号鍵はABCDEFGですか?」
アクセスポイント「はいはい789です。123さん、暗号鍵が違います。接続は許可しません!」

擬人化するとこんな感じ。近くにいる別の無線機器と混信しないようにお互いにMACアドレスを使って相手を識別しながら会話するらしい。

ということは接続が許可されてない無線LANアクセスポイントでもそれのMACアドレスくらいなら知ることはできる。というかこれがわからないと接続を許可するかどうかの会話すら成立しなくなる。これ重要ね。そして無線LANの電波到達距離はせいぜい10mとか20mといった程度。これも重要ね。

 iPod touchのマップアプリがやっているGPS機能(みたいなもの)の仕掛けは、次のようなもんらしい。まずiPod touchは周囲にある無線LANアクセスポイントのMACアドレスを調べる(さっき書いたように無線LANアクセスポイントのMACアドレス程度ならそこへの接続が許可されているかどうかにかかわらず知ることができる)。そして無線LANアクセスポイントのMACアドレスとその設置場所の情報を集め続けているskyhook wirelessという会社のデータベースにアクセスして、そのMACアドレスの無線LANアクセスポイントが設置されている場所を調べる。もしデータベースにMACアドレスとその設置場所のデータが登録されていれば、自分のいる場所はその周囲数十mの範囲だということがわかる。さらに複数の無線LANアクセスポイントがあれば、それぞれの場所との関係からさらに自分の位置を詳細に絞り込む計算ができる。というわけ。

  • 自分の周囲に無線LANアクセスポイントがあること(できれば複数)。
  • そのアクセスポイントのMACアドレスと場所の情報がskyhook wireless社のデータベースに登録されていること。
  • iPod touchがネットに接続して(skyhook社のデータベースにアクセスできる状態になって)いること。

 この条件が揃えば、iPod touchのマップアプリは自分の位置を特定することができる。なるほど、なるほど。うまいこと考えたもんだ。

 ではskyhook wireless社はどうやって無線LANアクセスポイントのMACアドレスとその位置情報を集めているのか。これが何と地道な作業。skyhook wireless社は車を走らせて車の位置とそのとき受信できた無線LANアクセスポイントのMACアドレスをセットで集め続けているらしい。地味だ、地味すぎる。世界中のあちこちに車を走らせてるらしい。地味だ、地味すぎる。skyhook wireless社が世界中の無線LANアクセスポイントの設置場所情報を収集した成果は同社サイトの「Coverage」(http://www.skyhookwireless.com/howitworks/coverage.php)で見ることができる。日本も東京23区や川崎、横浜、つくば、名古屋、大阪、仙台はかなり細かく調査したらしい。skyhook wireless社の人は移動中もまじめに記録を取り続けたのだろうか、東京-横浜-名古屋-京都-大阪を結ぶ幹線道路沿いもカバーされている。

 もちろんskyhook wireless社ではサイト上で無線LANアクセスポイントのMACアドレスとその位置情報についての情報提供も受け付けている(http://www.skyhookwireless.com/howitworks/submit_ap.php)。自分が見つけた無線LANアクセスポイントのMACアドレスと、その場所を入力して、自分のメールアドレスとあとは画面上にあるイタズラ防止用の文字列を入力すれば情報提供完了。数週間くらいで登録される。登録されれば、そのアクセスポイントの周囲でもiPod touchのGPS(みたいな)機能が使えるようになる。早速我が家の無線LANアクセスポイントのMACアドレスを調べて、skyhook wireless社のサイトに登録してみた。情報提供したときに「情報提供ありがとう」みたいなメールが届くが、登録されたとかされないとかの結果は通知されないみたい。情報提供から1週間ほどして自宅でiPod touchのマップアプリを起動したら、おおっ、ちゃんとオレんちを示してくれたヨ。

iPod touchでGPS(1)

(iPod touchでホントのGPSを使う方法は→iPod touchでホントのGPS(1)

iPod touchとPocket WiFi。この2つを持ち歩けばいつでもどこでもネット通信ができる

 iPod touchとPocket WiFi(D25HW)の組み合わせはホント便利だわ。Pocket WiFiの電源を入れるだけでいつでもどこでもiPod touchがネットに繋がる。こうなるとiPhoneとの違いは音声通話とGPSくらいしかない。おサイフケータイから離れられない私の場合はどっちにしてもICチップ対応携帯を持ち歩かざるをえないから音声通話もこの携帯でやればいい。そうなると「iPod touch + Pocket WiFi」と「iPhone」の違いはGPSだけか?

 GPSか・・・・・あったら面白いけど、ないと困るってほどでもないな。でも、あったら面白いなぁ。でもそれだけのためにiPhoneは高すぎるよなあ。とかグルグル思っていたら、なんとiPod touchにもGPS機能(みたいなもの)があるという情報を入手。さっそく試してみることにした。山手線に乗って目黒駅から恵比寿駅まで移動中のiPod touchのマップアプリの画面が次のとおり(画像をクリックすると大きな画像になります)

目黒駅から恵比寿駅まで電車で移動中のiPod touchのマップアプリ
目黒駅から恵比寿駅まで電車で移動中のiPod touchのマップアプリ

 最後の恵比寿駅に到着したところでちょっと位置がズレたけど、おおむね線路沿いをトレースしてくれた。画面上に表示される円は精度を表しているらしく、大きくなったり小さくなったりしていた。ま、だいたいこの辺だよって感じ。しかし、すごい!これはいったいどうしたことだ?!

つづきは明日。iPad・・・・微妙だなあ