Windows デバイス ポータル
Windows デバイス ポータル (WDP) を使用すれば、ローカル ネットワークを利用して、デバイスをリモートで設定、管理できます。 主な機能は「Windows Device Portal の概要」に記載しています
重要
商品化にはメーカーの画像は使用しないでください。 デバイスを商品化する場合は、最適なセキュリティのためにカスタム FFU を使用する必要があります。 こちらをご覧ください。
警告
現在、ARM デバイスでライブカーネル デバッグに失敗する不具合があります。 Microsoft では、この問題の修正に取り組んでいます。
重要
エンドユーザーが最終的な構成を行い、顧客が WDP の証明書を取得して WDP ブラウザーと接続用ブラウザーの両方にそれをインストールする必要があることと、パスワードは WDP で変更されることを開発者が顧客にドキュメントで説明する "特定または限定的なインストール" (工場や小売店など) 向けのオープンな製品デバイスを商用展開を目指して構築している場合、このような限られた商用インスタンスでは WDP を使用できます。 ただし、このシナリオでは、販売する製品のイメージに IOT_TOOLKIT を含めることはできません。代わりに、IOT_WEBBEXTN パッケージを使用して WDP を取り込む必要があります。
共有ドキュメント
WDP は、すべての Windows 10 デバイスで共有する開発者ツールです。 各製品には固有の機能がありますが、中心的な機能は同じです。 主な機能のドキュメントは「Windows Device Portal の概要」で見ることができます。 このドキュメントの残りの部分は、IoT に関連する内容です。
設定
Windows デバイス ポータルを立ち上げる方法は 2 つあります。
1. Windows 10 IoT ダッシュボード
最初に Windows 10 IoT ダッシュボードをダウンロードします。これは、新しいデバイスのセットアップをサポートするツールです。 ダッシュボードを使用して Windows 10 IoT Core のイメージをデバイスにフラッシュしたら、[My devices]\(マイ デバイス\) にデバイスが表示されることを確認してください。
そこで、[Actions]\(アクション\) にある三点リーダー (…) を展開して [Open in Device Portal]\(デバイス ポータルで開く\) をクリックします。 デバイス ポータルの認証ページに移動します。認証情報を事前に変更してある場合を除き、次のデフォルトの資格情報を使用します。
Username: Administrator
Password: p@ssw0rd
2. ブラウザー
ダッシュボードにデバイスが表示されない場合、あるいはダッシュボードを使用せずに済ませたい場合は、デバイスの IP アドレスの後ろに :8080
を付け加えた文字列を入力して、デバイス ポータルを開くこともできます。 正しく実行すると、このような画面が表示されます。
IoT に関連する機能
デバイス設定
IoT Core では、スクリーン キーボードを有効/無効にするチェックボックスが追加されます
注意
このチェックボックスには、チェックが入っている状態から入っていない状態へ瞬時に切り替わる、既知のバグがあります。 クリックした後でページを更新し (F5 キー)、チェックボックスが意図する状態になっていることを確認してください。
アプリケーション
AppX パッケージとバンドルを、デバイスに対しインストール/アンインストールする機能です。
IoT Core には、同時に実行できるフォアグラウンド アプリの数が 1 つであるという特徴があります。 それに合わせて、アプリの一覧にも変更が加えられています。 [STARTUP]\(自動起動\) 列では、既定で起動するバックグラウンド アプリをいくつでも選択できますが、フォアグラウンド アプリは 1 つしか設定できません。
アプリのエクスプローラー
アプリ ファイル エクスプローラーには、アプリからアクセスできるディレクトリが表示されます。
- CameraRoll はすべてのアプリで共有します
- Documents はすべてのアプリで共有します
- LocalAppData の中には、各アプリに固有のフォルダーがあります。 このフォルダーは特定のアプリと同じ名前になり、それ以外のアプリからはアクセスできません。
デバッグ
カーネル ダンプ
システムのクラッシュはすべて自動でログに記録され、Web 管理ツールで見ることができます。 それからカーネルダンプをダウンロードして、何が起こっているのかを調べることができます。
プロセス ダンプ
ライブ カーネル ダンプと似ていますが、ユーザー モードのプロセスに使用します。 ダウンロードをクリックすると、“ミニダンプ” を実行して、そのプロセスの状態の全情報をダウンロードします。 これは、ハングアップしたプロセスのデバッグに適しています。
カーネルのクラッシュの設定
Bluetooth
このページには、すべてのペアリング済み Bluetooth デバイスと、すべての検出可能なデバイスが表示されます。 他の Bluetooth デバイスとペアリングするには、デバイスをペアリング モードにして、使用可能なデバイスの一覧にそれが表示されるのを待ちます。
[Pair]\(ペアリング\) リンクをクリックしてデバイスをペアリングします。 デバイスのペアリングに PIN が必要な場合は、PIN を表示するメッセージボックスが表示されます。 デバイスをペアリングすると、ペアリング済みデバイスの一覧に表示されます。 [Remove]\(削除\) をクリックするとペアリングを解除できます。
一度 [Bluetooth] ページに移動すると、他のデバイスからそのデバイスを見つけられるようになります。 PC、スマートフォンからそれを見つけてペアリングすることもできます。
Bluetooth の詳しい情報は、Blutooth に関する記事をご覧ください。
IoT オンボード
IoT オンボードを行うことで、IoT デバイスの Wi-Fi 接続オプションを設定できます。
Internet Connection Sharing (ICS) Internet Connection Sharing を使用すれば、特定のデバイスのインターネット接続を、Wi-Fi SoftAP によってこのデバイスに接続している他のデバイスと共有できます。 この機能を使用するには、Windows 10 IoT Device でインターネットに接続できる必要があります (有線 LAN による接続など)。 [Connectivity]\(接続\)->[Onboarding]\(オンボード\)->[SoftAP] 設定で [enable]\(有効化\) をクリックし、SSID 名とパスワードを設定します。 次に [Connectivity]\(接続\)->[Internet connection sharing]\(インターネット接続共有\) の [access point adapter]\(アクセス ポイント アダプター\) で [Microsoft Wi-Fi Direct Virtual Adapter #2] を選択し、[shared network adapter]\(共有ネットワーク アダプター\) で、使用している有線イーサネット アダプターを選択します。 最後に [start shared access]\(アクセス共有の開始\) をクリックします。 開始後、Windows 10 IoT デバイスの SoftAP に、別の Wi-Fi 対応デバイスを接続します。 接続を確立した後は、Windows 10 IoT デバイスを経由して、別の Wi-Fi 対応デバイスをインターネットに接続できるようになります。
注意
デバイスに Wi-Fi プロファイルが存在する場合は、ICS が無効になります。 たとえば、Wi-Fi アクセス ポイントに接続して [Create profile (auto re-connect)]\(プロファイルの作成 \(自動再接続\)\) にチェックを入れると、ICS は無効になります。
SoftAP Settings [SoftAP Settings]\(SoftAP の設定\) では、デバイスの SoftAP を有効にするかどうかを設定できます。 また、SoftAP の SSID と WPA2-PSK キーを設定することもできます。これらは、他のデバイスから SoftAP に接続するのに必要です。
AllJoyn Onboarding Settings [AllJoyn Onboarding Settings]\(AllJoyn オンボードの設定\) では、デバイスの AllJoyn Onboarding Producer で、デバイスの Wi-Fi 接続を設定できるようにするかどうかを設定します。 AllJoyn Onboarding Consumer アプリケーションを実行している別のデバイスを Windows 10 IoT SoftAP に接続すると、その AllJoyn Onboarding Consumer アプリケーションを使用して、IoT デバイスの Wi-Fi アダプターを設定できます。 これを有効にすると、AllJoyn Onboarding Producer アプリ (IoTOnboarding) で、認証方法として ECDHE_NULL を使用します。
注意
Windows 10 IoT の 10.0.14393 より古いビルドで AllJoyn Onboarding を使用するには、IotOnboarding サンプルを更新する必要があります。サンプルはこちらでダウンロードできます。
注意
アクセス ポイント アダプターは、Wi-Fi アクセス ポイントとして機能する Wi-Fi アダプターです (通常 192.168.137.1 のような IP アドレスが割り当てられます)。 共有ネットワーク アダプターは、インターネットに接続するアダプターです (イーサネット アダプターなど)。
注意
AllJoyn オンボードを有効にしていると、SoftAP SSID には自動的に “AJ_” というプレフィックスが付き、Wi-Fi アダプターの MAC アドレスが後ろに追加されます。 SoftAP のパスフレーズは、8 - 63 文字の ASCII 文字列である必要があります。
TPM の構成
トラステッド プラットフォーム モジュール (TPM) は、乱数を生成し、暗号化キーを安全に生成し、それらのキーの使用に制約をかける機能を持つ、暗号化コプロセッサです。 また、リモート構成証明やシールド ストレージなどの機能も含んでいます。 TPM および IoT Core のセキュリティの説明は、安全なデバイスの構築 および TPM に関する記事をご覧ください。
重要
以前、Limpet.exe は Windows IoT Core の一部でした。 2018 年 10 月以降は、オープン ソース プロジェクトとして https://github.com/ms-iot/iot-core-azure-dm-client で公開しています。
テストに役立つよう、署名のないビルド済みバージョンの Limpet.exe を公開しています。これは WDP からダウンロードできます。 [TPM Configuration]\(TPM の構成\) タブに移動して [Install Latest]\(最新版のインストール\) をクリックするだけです。
注意
最終的な製品には、このバージョンの Limpet.exe を含めないでください。 その代わりに、オープンソース プロジェクトで提供しているものをビルドしてそれに署名し、これをイメージとともにパッケージ化する必要があります。
Azure クライアントの構成
IoT デバイスは、クラウド サービスを使用してリモートで管理できます。 Azure では、このようなシナリオに対応するための豊富なサービスを提供しています。 Microsoft は、Azure の Device Provisioning Service (DPS) と IoT Hub サービス を Windows プラットフォーム上で補完するためのデバイス管理クライアントを開発しました。このクライアントでは、いくつかの Windows 管理機能の公開も行います。
このクライアントはオープンソース プロジェクトで提供しています。 テストに役立つよう、ビルド済みのバイナリも提供する予定です。 WDP の [Azure Clients]\(Azure クライアント\) タブで、それらのテスト バイナリをインストールして実行できます。
Note
最終的な製品には、このバージョンのツールを含めないでください。 その代わりに、オープンソース プロジェクトで提供しているものをビルドしてそれに署名し、これをイメージとともにパッケージ化する必要があります。
このドキュメントは、オープンソース プロジェクトで一般提供を行う準備ができ次第更新します。
Remote
Windows IoT Remote Server を使用すれば、物理モニターをキーボードに接続しなくても、デバイスの表示内容を見ることができます。
追加情報
デフォルト ポートを変更する
PowerShell を起動してデバイスに接続します。
TakeRegistryOwnership ツールをダウンロードしてビルドし、それをデバイスにコピーします。
次のものを実行して、サービスのレジストリ キーの所有権を取得します
.\TakeRegistryOwnership.exe MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\webmanagement\service
レジストリの設定を変更することで必要なポートを設定します
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\webmanagement\service /v HttpPort /t REG_DWORD /d <your port number>
次のものを実行するか、デバイスを再起動することで、WebManagement サービスを再起動します
net stop webmanagement ; net start webmanagement
HTTPS の使用
HTTPS を使用する場合は、前のセクションの説明に従って最初にレジストリ キーの所有権を取得し、HttpsPort および EncryptionMode レジストリ キーを下に示すとおりに設定し、それから webmanagement サービスを再起動します
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\webmanagement\service /v EncryptionMode /t REG_DWORD /d 0x3 /f
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\webmanagement\service /v HttpsPort /t REG_DWORD /d <your port number> /f
net stop webmanagement ; net start webmanagement
デバイス ポータルに対してカスタム SSL 証明書のプロビジョニングを行う
Windows 10 Creators Update では、HTTPS 通信に使用するカスタム証明書を、デバイス管理者が Windows デバイス ポータルでインストールする手段を追加しました。
詳しくは、Windows デバイス ポータルのドキュメントをご覧ください。
メモリ ダンプをキャプチャするためのクラッシュ ダンプ設定
完全なメモリ ダンプを取得するには、次のことを実行します。
WDP から IoT デバイスに接続します。
[Debug]\(デバッグ\) -> [Debug settings]\(デバッグの設定\) -> [Kernel crash settings]\(カーネルのクラッシュの設定\) -> [Crash dump type]\(クラッシュ ダンプの種類\)。
[Complete memory dump (in use memory)]\(完全なメモリ ダンプ \(使用中のメモリ\)\) を選択します。 設定を適用するためにデバイスを再起動します。
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CrashControl\CrashDumpEnabled
が 0x1 に設定されていることを確認します。HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CrashControl\DumpFileSize
を 0x0 に変更します。このダンプを生成するのに十分な空き領域がデバイス上にあることを確認します。 DumpFile の保存場所はここで変更できます:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CrashControl\DumpFile