Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
モノ創りの科学
演習:空間プログラミング
環境情報学部 高汐 一紀
PlaceEngine
http://www.placeengine.com/ 無線 LAN 端末と AP 間の電波強度から現在位置を 推定する GPS 等の特別な機器がなくても位置を検出
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
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
携帯電話の基地局測位や測位方法..
基地局測位: 複数の周辺の基地局との間の電波の状況を測定し、ユーザの位置を求める一般的な技術 ‒ 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
2段階の推定
まずアクセスポイントの推定位置を計算 その後,ユーザの位置を特定
PlaceEngine に溜まる情報は進化し続ける
http://www.placeengine.com
PlaceEngine の条件
Wi-Fi の電波が電測可能 電波の情報が PlaceEngine サーバに予め登録されていること
電波の情報の収集は?
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. 周辺のレストラン情報や交通情報などの地域情報に関するサイトなど)
PlaceEngine のインストール
1. PlaceEngine の web ページからクライアント・ソフトを入手
‒ http://www.placeengine.com/show/install ‒ Windows,Windows Mobile,MacOS で利用可能
2. インストーラからインストール ‒ MacOS の場合は,dmg ファイルを展開し,中身をアプリ
ケーション・フォルダにドラッグ
PlaceEngine の使用方法
1. スタートメニューから PlaceEngine を起動 (Macはアプリケーションフォルダから起動)
2. 「現在地を取得」ボタンをクリックすると現在位置が取得できる
3. 「地図」ボタンをクリックすると,Webブラウザに現在位置の地図が表示される
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ʼ
準備
PlaceEngine クライアントをインストールしておく アプリケーションキーを取得する http://www.placeengine.com/appk 準備完了!
PlaceEngine API
自分の書いたプログラムから PlaceEngine を扱うためのインタフェース ‒ HTTP による通信で PlaceEngine とデータをやり取
りする PlaceEngine API によるプログラミングの流れ ‒ ローカルの PlaceEngine クライアントから電測情報
を取得する ‒ www.placeengine.com から位置情報を取得する
今回のプログラム
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行で入力)
演習課題
ユビキタスサービス論の授業時間にε棟 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 まで