WDKのツールでセンサーの動作状態を確認
加速度センサーによる画面の回転などは、簡単に見ることができるが、その他のセンサーが動作しているかどうかを知るにはどうしたらいいだろうか。1つには、Microsoftがデバイスドライバの開発者向けに配布しているWindows Driver Kit(WDK)に含まれている「センサー診断ツール」(sensordiagnostictool.exe)を使うという方法がある。
これは、センサーAPIを使って、システムに存在しているセンサーの状態を表示するためのツールだ。少なくとも、このツールを使えば、センサーのハードウェアやドライバ類がきちんと動作しているかどうかがわかり、数値の表示だけではあるが、センサーの出力情報を見ることもできる。
一部のGPSデバイスは、GPS衛星からの電波がまったく受信できない状態では、位置情報をなにも出力しないことがある。GPSでは、衛星からの電波に、人工衛星の軌道に関する情報がふくまれており、これがないと、位置測定もできないからである。
Windows 8.1の地図アプリ(Bingマップ)を開いて、自分の位置を表示させたときに皇居のあたりにマーカーがあって正しい位置を表示しないような場合、GPSデバイスがまったく電波を受信できていない可能性が考えられる。もちろんデバイスが故障していたり、ドライバのバージョンが古いなどで正しく動作していない可能性もある。こうした状態を見極めるには、このセンサー診断ツールを使うといい。
WDKはここからダウンロードが可能。説明にはVisual Studioが必要と書いてあるが、デバイスドライバの開発を行わず、単にセンサー診断ツールだけを使うなら、Visual Studioは必要ない。
WDKは、「C:\Program Files(x86)\Windows Kits\8.1」にインストールされている。センサー診断ツールは、この下のToolsフォルダ(C:\Program Files(x86)\Windows Kits\8.1\Tools)にある。この下には「x86」、「x64」の2つのフォルダがあり、32bit版(x86)と64bit版(x64)に別れている。実行しているWindowsに合わせてどちらかのフォルダの下にあるsensordiagnostictool.exeを実行する。
診断ツールは、起動すると左側の領域に検出されたセンサーを表示する。ここにセンサー名が表示されない場合、デバイスマネージャなどで該当のセンサーが有効になっているかどうか、ドライバが組み込まれているかどうかを確認する。ここは、センサーAPIフレームワークが発見したセンサーデバイスが表示されるため、ここに表示されないということはそもそもデバイスとしてWindowsに認識されていないか無効になっていることを示す。
左側のツリーリストからセンサー選択すると右側の領域にデバイスの情報やデバイスの出力などが表示される。上段の「State」の部分が緑色になって「Ready」と表示されていれば、センサーは正常に動作している。
たとえば、加速度センサーは「HIDセンサーコレクション:Accelerometer」だが、これを選んで、本体を動かせば、診断ツールの右側中央の「Data」に表示された数値が変化するはずだ。同様に照度センサー(HIDセンサーコレクション:Ambient Light)ならば、センサーを手で覆うなどすれば、Dataが変化する。
原則、センサーは「State」が「Ready」であれば動作している。「State」が「Initalizing」になっているのは、デバイスの初期状態のままで、データが出力されていないことを意味する。一般的には、ドライバのエラーなどが原因だが、GPSの場合、デバイスが正常動作していないか、デバイスがGPS衛星からの電波をまったく受信していないかのどちらかである。この診断ツールでは、この2つの状態を完全には区別できない。なお、GPSデバイスは製品によっては「GNSS」などと表記されることがある。
GPSデバイスの動作を確認するには、地図アプリやセンサーAPIからの情報を表示するアプリなどが別途必要になる。とりあえず、本体を屋外に出し、20~30分以上待っても、Stateが「Initalizing」のままならば、デバイスドライバの問題を疑ったほうがいいだろう。少なくとも、位置測定はできなくとも、弱くても電波を受信できれば、StateはReadyとなる。また、電波が弱すぎるような場合には、InitalizingとReadyを交互に繰り返すことがあるが、一時的にでもReadyになるようならば少なくともデバイスドライバは正常に動作しているはずだ。
次回は、このGPSデバイスの動作やトラブルシューティングに関して、さらに詳しく解説する予定だ。
この連載の記事
-
第458回
PC
Windows上でhostsファイルを活用する -
第457回
PC
IPv6アドレスは先頭を見ればどんな種類かわかる -
第456回
PC
あらためてIPv6基本のキ -
第455回
PC
Windowsで現在どのネットワークアダプタがインターネット接続に使われているかを調べる方法 -
第454回
PC
Windows 11 24H2では「デバイスの暗号化」の条件が変わり、より多くのPCでドライブが暗号化される -
第453回
PC
Windows 11 24H2の配布開始後もすぐにはやってこない Windows UpdateとSafeguard Holds -
第452回
PC
Windows 11 Ver.24H2が登場 Copilot+ PCとそうでないPCで実質Windowsが2つに分かれる -
第451回
PC
新しいWindowsサンドボックスではコマンドラインからの制御が可能に -
第450回
PC
ユニコードで文字数を数える方法 -
第449回
PC
WSLはプレビュー版でGUIでの設定が加わった! リリース2.3.xの新機能を見る -
第448回
PC
PowerShellで面倒なオブジェクトはPSCustomObjectに変換するのが早道 - この連載の一覧へ