11
モノ創りの科学 演習:空間プログラミング 環境情報学部 高汐 一紀 PlaceEngine http://www.placeengine.com/ 無線 LAN 端末と AP 間の電波強度から現在位置を 推定する GPS 等の特別な機器がなくても位置を検出

PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

モノ創りの科学

演習:空間プログラミング

環境情報学部 高汐 一紀

PlaceEngine

http://www.placeengine.com/ 無線 LAN 端末と AP 間の電波強度から現在位置を 推定する GPS 等の特別な機器がなくても位置を検出

Page 2: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

Wi-Fiの普及

2012年は10億台へ

http://itpro.nikkeibp.co.jp/article/Research/20081007/316309/

Whatʼs PlaceEngine? 近傍の無線 電波を利用して位置を推定する基盤技術およびサービス

クライアントソフト

- Windows XP/VISTA - Windows Mobile - MacOS

- PCにダウンロード(無償) 周囲のWi-Fi情報を電測

http://www.placeengine.com 2006年7月オープン

135.6789E, 35.1234N 東京都品川区東五反田

周囲の無線LAN電波を センサーのように感知

http://www.placeengine.com

Page 3: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

PlaceEngineサービスの特徴

地下街・屋内に強い! ‒ フロア推定可能

一般的に GPS より高速(Wi-Fiスキャンは通常1秒以内で終了) GPS 機能補完(両立可能) Wi-Fi 機器であれば新たなハード不要,ソフトのみで対応 ユーザからの「位置を教える」フィードバック機能 ‒ 対応エリアの自己増殖可能

地図ソフト/サービス非依存 公開版クライアントを無償配布 ‒ Windows XP/VISTA, Windows Mobile, Macintosh 版

API公開 ‒ http://www.placeengine.com/doc

PlaceEngine サーバー版

PlaceEngineサーバー

A

B

C

{“緯度・経度”,”住所名”,”フロア名など付加情報”}

MAC RSSI

A XXXXXXXX

B YYYYYYYY

C ZZZZZZZZZ

電測情報

http://www.placeengine.com

Page 4: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

携帯電話の基地局測位や測位方法..

基地局測位: 複数の周辺の基地局との間の電波の状況を測定し、ユーザの位置を求める一般的な技術 ‒ TOA (Time of Arrival) ‒ TDOA (Time Difference of

Arrival) ‒ AOA (Angle of Arrival) ‒ 電解強度

ポイント: ‒ 基地局の位置が予め分かって

いる!!

http://www.hitachi.co.jp/Sp/TJ/2001/hrnjan01/hrn0111j.htm

(C) Hitachi, Ltd. 2001. All rights reserved.

Wi-Fiのアクセスポイントの場合は…

Wi-Fiは都会に密集している でもどこにあるか分からない 無くなるかも …引っ越すかも…

http://www.placeengine.com

Page 5: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

2段階の推定

まずアクセスポイントの推定位置を計算 その後,ユーザの位置を特定

PlaceEngine に溜まる情報は進化し続ける

http://www.placeengine.com

PlaceEngine の条件

Wi-Fi の電波が電測可能 電波の情報が PlaceEngine サーバに予め登録されていること

電波の情報の収集は?

Page 6: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

2種類の PlaceEngine

PlaceEngine

PlaceEngine DB

)

DB ( )

DB

http://www.placeengine.com

動作の概要 専用の PlaceEngine クライアント・ソフトをダウンロードしてインストール クライアント・ソフトは,近傍の Wi-Fi アクセス・ポイントから流れる電波を観測し,Wi-Fi 電測情報 (MAC アドレス,電界強度などの情報)として取得 クライアント・ソフトは,Wi-Fi 電測情報を PlaceEngine サーバーに送信 PlaceEngine サーバーは,受け取った Wi-Fi 電測情報と,あらかじめサーバーに蓄えられている Wi-Fi 電測情報のデータベースとから,位置情報(緯度経度や住所情報など)を推定し,クライアント・ソフトに返す

クライアント・ソフトは,PlaceEngine MAP サイト のような web ページとも 連携して動作

訪れたユーザが web サイト上の「現在地を取得」ボタン を押すと,web上に現在位置のマップが表示され,関連する位置指向サービスを,現在位置を基準にして利用することが可能になる.(ex. 周辺のレストラン情報や交通情報などの地域情報に関するサイトなど)

Page 7: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

PlaceEngine のインストール

1. PlaceEngine の web ページからクライアント・ソフトを入手

‒ http://www.placeengine.com/show/install ‒ Windows,Windows Mobile,MacOS で利用可能

2. インストーラからインストール ‒ MacOS の場合は,dmg ファイルを展開し,中身をアプリ

ケーション・フォルダにドラッグ

PlaceEngine の使用方法

1. スタートメニューから PlaceEngine を起動 (Macはアプリケーションフォルダから起動)

2. 「現在地を取得」ボタンをクリックすると現在位置が取得できる

3. 「地図」ボタンをクリックすると,Webブラウザに現在位置の地図が表示される

Page 8: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

PlaceEngine クライアント API

http://localhost:5448 WiFi電測情報

WiFi電測情報

サーバからの返答

連携サイト

http://localhost:5448

WiFi電測情報

サーバからの返答

WiFi電測情報

ローカルアプリ

http://www.placeengine.com/doc

PlaceEngine API ローカル・アプリケーション・プログラミング PlaceEngine をローカル・アプリケーションから直接利用する機能(Java)

全体の流れ ‒ ローカル・アプリケーションを利用する際にも電測用に PlaceEngine クライアントを起動 ‒ PlaceEngine クライアントとは HTTP プロトコルで通信 ‒ 位置情報取得の流れ

PlaceEngine クライアント(http://localhost:5448)から電測情報を取得 PlaceEngine サーバー(http://www.placeengine.com)に送信して位置情報取得

アプリケーションキーの取得 ‒ PlaceEngine クライアントおよび PlaceEngine サーバーを利用するために,アプリケー

ション・キーが必要 ‒ PlaceEngine 連携サイト用アプリケーション・キー取得ページで,アプリケーション・

キーを取得する http://www.placeengine.com/appk

‒ URLの欄にはローカル・アプリケーションの実行イメージ名を入力 abcd.exe であれば ʻabcdʼ Java プログラムの場合,ʻjavaʼ Eclipse を使う場合,ʻjavawʼ

Page 9: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

準備

PlaceEngine クライアントをインストールしておく アプリケーションキーを取得する http://www.placeengine.com/appk 準備完了!

PlaceEngine API

自分の書いたプログラムから PlaceEngine を扱うためのインタフェース ‒ HTTP による通信で PlaceEngine とデータをやり取

りする PlaceEngine API によるプログラミングの流れ ‒ ローカルの PlaceEngine クライアントから電測情報

を取得する ‒ www.placeengine.com から位置情報を取得する

Page 10: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

今回のプログラム

SFC-SFS からサンプル・プログラム(USS08.zip)をダウンロード 今回は PlaceEngine.java の PlaceEngine クラスが位置情報を取得する ⇒ HTTP 通信を自分で書く必要はない

PlaceEngine クラスの使い方

PlaceEngine placeEngine = new PlaceEngine (“アプリケーションキー”); //PlaceEngineオブジェクトを作る

placeEngine.update(); //PlaceEngineオブジェクトのデータを更新 double latitude = placeEngine.getLatitude(); //現在の緯度を取得 double longitude = placeEngine.getLongitude(); //現在の経度を取得 String addr = placeEngine.getAddress(); //現在のアドレスを取得 String floor = placeEngine.getFloor(); //現在のフロアを取得

サンプル・プログラム

現在位置の表示 jp/ac/keio/uss/location/place_engine/test/PlaceEngineTest.java

コンパイル % javac -encoding UTF-8

jp/ac/keio/sfc/uss/location/place_engine/PlaceEngine.java jp/ac/keio/sfc/uss/location/place_engine/test/PlaceEngineTest.java(*1行で入力)

実行 % java jp/ac/keio/sfc/uss/location/place_engine/test/PlaceEngineTest

(*1行で入力)

Page 11: PlaceEngine - Keio Universitykaz/fab/fabrication_09_PlaceEngine.pdf · 在位置のマップが表示され,関連する位 置指向サービスを,現在位置を基準にし

演習課題

ユビキタスサービス論の授業時間にε棟 1F にいないとアラートを出すプログラム ε棟の位置情報,USS 講義情報 ‒ 最小緯度:35.3878 ‒ 最大緯度:35.3881 ‒ 最小経度:139.4264 ‒ 最大経度:139.4266 ‒ フロア:1 ‒ 講義曜日:TUESDAY ‒ 講義時間:14:45 ~ 16:15

課題レポート

今日の課題 完成させた課題プログラムに関してレポートをアップしてください.スクリーンダンプ,ファイルの所在(http://www.sfc.keio.ac.jp/~xxx/yyy 等)は必ず明記すること.工夫した点はキチンとアッピール!!

提出方法・場所 SFC-SFS からファイルを提出(word,pdf,etc.)

提出期限 11月24日(火)12:00 まで