無線LAN位置情報活用の検討2

ビジネス推進本部 第1応用技術部
NIソリューション開発チーム
宇都宮 光之

前回コラムでは、Cisco社製集中制御型無線LANシステムにおける位置測位概要、Prime Infrastructure(以下、PI)による可視化、Mobility Services Engine(以下、MSE) APIからの位置情報取得について述べました。今回は位置情報の取得について着目し、MSE APIで取得する位置情報を掘り下げてご紹介します。

連載インデックス

位置情報装置であるMSEは、REST APIを備えており、HTTP通信を行うツールやプログラムから所定のURIにアクセスすることで、MSEが保持する無線LANクライアントの位置情報やフロア情報等を取得できます。本コラムでは、MSEがトラッキング(追跡)中の無線LANクライアントの位置情報をAPIで取得する例と取得できる情報についてご紹介します。

トラッキング中デバイスの位置情報取得API

トラッキング中のデバイスの位置情報は、Real Time Location というAPIカテゴリの Get Location URI をHTTP GETメソッドでアクセスすることで取得できます。URIは次の通りです。(API一覧は本コラム最後の参考資料をご参照ください)
無題103

ここで、<clients|rogueaps|rogueclients|interferers|tags> は、位置情報を出力したいデバイスの種別を選択します。

               表1. デバイス種別
無題104

URI最後の $id はオプションになり、「MACアドレス、IPアドレス、ユーザ名(IEEE802.1X認証を利用している場合のユーザ名など)」を指定することが可能です。指定した場合、一致するデバイスのみにフィルタリングして位置情報を得ることができます。指定のない場合は全デバイスの位置情報が出力されます。

APIアクセスにはHTTP Basic認証が必要になります。HTTP Basic認証で使用するアカウントは、事前にPIを使いMSEに登録しておきます。また、HTTPリクエストのAcceptヘッダを設定することで、位置情報が含まれているHTTPレスポンスのデータフォーマットを指定することが可能です。

        表2. HTTP Acceptヘッダとデータフォーマット
無題105

API位置情報取得例

図1に、HTTP通信ツールとしてLinux上でcurlコマンドを用いてAPIアクセスを行い、位置情報を取得した例を示します。レスポンスデータフォーマットはJSON形式とし、$idにMACアドレス 84:38:35:4a:xx:yy を指定して該当MACアドレスを持つ端末のみにフィルタリングして位置情報を取得しています。取得した位置情報の詳細は表3の通りです。

無題106
無題117
       図1. MSE Real Time Location API位置情報取得例

          表3. 取得した位置情報について
無題109
※(*)はPIで設定する情報
※クライアントの接続状況により、取得できる情報が増減することがあります

クエリー条件を指定する

$idの指定以外に、URIにクエリー条件を加えることで位置情報取得対象デバイスをフィルタリングすることも可能です。クエリー条件を上手く活用すると、必要なデバイスの位置情報を効率よく収集できます。クエリー条件として記述可能なものは次の通りです。
・ mapHierarchy
・ currentlyTracked
・ locatedAfterTime
・ locatedBeforeTime
・ sortBy
・ page
・ pageSize
・ dot11Status
・ associatedApMac
・ ssId

<使用例1>
”mapHierarchyString” に ”Tokyo” という文字列を含む無線LANクライアントの位置情報を取得したい場合、次のようなURIにアクセスします。
無題110

<使用例2>
SSID “netone-wireless” に接続中の無線LANクライアントの位置情報を取得したい場合、次のようなURIにアクセスします。
無題111

MSE APIで取得する位置情報のご紹介は以上です。

まとめ

本コラムでご紹介した通り、MSEのAPIを利用すると外部から容易に位置情報を取得できます。目的の情報を入手しやすくするための実用的なフィルタリング機能も備えています。APIと聞くと敬遠されてしまわれる方も多いかと思われますが、MSE APIの利用は決して敷居の高いものではありません。無線LAN位置情報の活用にあたり、MSEを含むCisco社製集中制御型無線LANシステムは位置情報を得るインフラとして大変有用であると言えます。次回はAPIで取得する位置情報と外部システムの連携例について述べたいと思います。

参考資料

MSEには本コラムでご紹介したReal Time Location API以外にも様々なAPIが備わっています。詳細は次のリファレンスガイドをご参照ください。

・Cisco Mobility Services Engine Programming Guides (PDF)
http://www.cisco.com/c/en/us/support/wireless/mobility-services-engine/products-programming-reference-guides-list.html

・API Reference Manual (Web)
https://developer.cisco.com/site/cmx-mobility-services/documents/api-reference-manual/

※本コラムはMSEソフトウェアバージョン8.0での動作検証結果をもとに執筆しています。バージョンが異なる場合、API仕様が異なることがありますのでご注意ください。

執筆者プロフィール

宇都宮 光之
ネットワンシステムズ株式会社 ビジネス推進本部 第1応用技術部 NIソリューション開発チーム所属
2005年ネットワンシステムズ株式会社入社
無線LANの製品担当SEを経て、現在はネットワーク機器やその管理製品が持つAPIを活用したソリューション、アプリケーションの企画、開発業務に従事
・情報処理技術者資格「応用情報技術者」
・情報処理技術者資格「セキュリティスペシャリスト」
・MCPCモバイルシステム技術検定1級
・第一級陸上特殊無線技士
・第1回 シスコ テクノロジー論文コンテスト 最優秀賞

イベント/レポート

pagetop