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・・・・微妙だなあ

テレビ/電話/ネットを共通回線にしよう(4)

 NTTからフレッツテレビ&ひかり電話の導入について電話があった。

  • 2月1日からサービス開始のエリアなので本当にサービス提供が可能な状態かどうかをまず調査する。
  • 調査には多少時間がかかるので10日後くらいに調査結果の連絡をくれる。
  • ちゃんとサービス提供が可能であることが確認できたら実際に工事日程を決めて契約。

てな話。ということは調査に2週間弱、それから工事日程を決めるから、「テレビ/電話/ネットを共通回線にしよう作戦」が完了するのは2月末ごろになるってことだな。

 こちらとしても工務店にお願いしている宅内の配線再構築に時間がかかるからちょうどいい。

 ところで、電話番号の引き継ぎの件で、ちょっと危なかった。NTTの「ひかり電話」は使っている電話番号をそのまま引き継げるのが特長。だからNTT固定電話の時代からJ:COM PHONEを経ても10年間使い続けている電話番号を今後も使えると思ってた。が、が、電話してきたNTTの人に確認したら「新しく電話番号をとってもらうことになる」とのこと。NTT固定電話からひかり電話への移行なら同じNTTなので同番移行できるけど、J:COM→NTTの同番移行はできないと言う。えーっ! NTTからJ:COMへ変更した時は電話番号の引き継ぎができたのに、J:COMからNTTへ戻すときは引き継ぎできないの? それは勘弁してほしいなあ。

 でもNTT→J:COMの同番移行ができたのにJ:COM→NTTの同番移行ができないはずはないだろ。かつてNTT固定電話からJ:COM PHONEへ切り替えた時は、J:COMの人がNTTの契約解除&番号廃止の日時を確認した上でJ:COMの契約開始&番号生成をNTT解約から数時間のタイムラグで実行できるように調整してくれた。きっとNTTはそんな面倒な手続きなんてやりたくないだけなんだと思った。そこで、電話番号が変わってしまうくらいなら今のJ:COMのままの方がいい・・・みたいにちょっとゴネてみた。そしたら「少々お待ちください」といって「他社からの同番移行ができるシステムじゃないのですが、手動で対応できます。」とのこと。やっぱできるんじゃん。J:COMとNTTの契約取りにかける熱意の差だな、きっと。

 ふー、あやうく電話番号が変わっちゃうところだった。仕事で使っている電話番号が変わると取引先様へのお知らせだけでも大変な作業になっちゃうからなあ。あぶない、あぶない。