このページの本文へ

前へ 1 2 次へ

Windows Info 第14回

Windows 8で利用できる各種センサーをテストする

2014年02月04日 12時00分更新

文● 塩田紳二

  • この記事をはてなブックマークに追加
  • 本文印刷

WDKに含まれているSensorDiagnosticTool(センサー診断ツール)。左側には検出されているセンサーが表示され、右側には選択されたセンサーの情報が表示される

 Windows 8を搭載したタブレットやノートPCには、「センサー」が搭載されているものがある。実はWindows 7でセンサーへの基本的な対応が行なわれているのだが、本格的な対応はWindows 8.0からである。特にタブレットには、本体の向きを検出して画面を自動回転させる機能が必要なため、加速度センサー(重力センサーともいう)が搭載されていることが多い。

 画面の回転や照度センサーによる画面の制御は、ユーザーが直接見ることができるため、動作していることがわかるのだが、それ以外のセンサーについては、対応したアプリケーションでもないと、センサー状態を知ることができず、動作しているのかどうかは簡単にはわからない。

 また、位置センサーとして「GPS」を搭載しているマシンもあるのだが、GPSは、人工衛星からの電波を受信して動作するため、正常動作させるために必要な条件が複雑で、たとえば、屋内で地図アプリなどを動かしても正しい位置情報を得られないことがある。携帯電話などは、GPSだけではなく、携帯電話の基地局の情報なども利用しているため、どこでも位置測定が可能でこれを「感度」の差だと勘違いする人も多い。しかし、同じGPSといっても、仕組みが違うため、同じように比較することはできない。

 そういうわけでセンサーに関しては、見えない部分もあり誤解が少なくない。そこで今回は、センサーについて解説することにしよう。

センサーAPIフレームワーク経由で
アプリがセンサーにアクセスする

 Windows 7以降、センサーAPIを使って、アプリケーションが簡単にセンサー情報を利用することができるようになった。センサーは一般的には、USBなどで接続されるデバイスで、Windows 7以前は、特殊なデバイスとして、その情報の利用にはデバイスに対応した専用のアプリケーションが必要だった。

 従来の方式でもセンサーを利用することはできたのだが、アプリケーションがデバイスドライバと直接やりとりすることになるため、1つのデバイスを利用できるのは同時に1つのプログラムだけになってしまっていた。また、センサーによっては、加速度センサーのようにWindowsが監視して画面を回転させるなどの処理を起動する場合もある。このようなとき、他のアプリケーションがセンサー情報を得られないというのでは使い勝手があまり良くない。

 しかし、Windows 7では、こうしたセンサーデバイスは、Windowsが管理を行ない、センサーAPIフレームワークが間に入って、複数のアプリケーションからの問い合わせにこたえるような形式になった。

 また、デバイスドライバ経由で直接制御する場合、制御方法はデバイスによってさまざまであるため、それに対応したアプリケーションしか利用することができなかったが、センサーAPIフレームワークが間に入ることで、アプリケーションは、一定のAPIを利用すれば、センサー情報を得ることが可能になった。逆に、センサーデバイスのメーカーもセンサーAPIフレームワークに合わせたデバイスドライバを作れば良く、基本的な雛形をベースに開発ができ、以前のようにゼロから開発する必要がなくなった。

 ちなみにWindows 8では、GPSによる位置情報の取得に加え、他のセンサーの情報や無線LANアクセスポイントによる位置測定などを加えた「ロケーションAPI」が追加されている。ロケーションAPIは、センサーAPIをさらに抽象化し、現在位置を提供するAPIだ。Windows 8/8.1の地図アプリなどでは、このロケーションAPIを利用して現在地を得ている。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン