Windows IoT Core にリモートで接続する

世の中?は、dotnetConf で盛り上がっていますが、Windows IoT Core のリモート接続の方法を残しておきます。実は、まだ Inside Preview の状態でしか使えないのだけど、Closed Loop Control, Remote Sensors and Remote UX on RPi3 – Hackster.io のサンプルを見ると既に3月からできていたわけで、つまりは //Build/ 2016 の頃からできました、って話ですね。Build で Windows IoT Core の話があったかな…というのは後で調べます。

Remote Display Experience – Windows IoT

Remote display experience

そんな訳で、3か月遅れで試してます。が、結論から言えば、Windows 10 Inside Preview (現状では Slow Ring)を使うのと、Visual Studio で作成する UWP のバージョンが微妙に低いのと、Windows IoT Core 自身のバージョンが微妙に高いのとの兼ね合いで、画面のリモート接続はできるけど、リモートデバッグができません。つまりは Visual Studio からデプロイできないので、なんか変な感じで食い違っていますが、まあ、夏の正式リリースまでには揃えられるかと。というか、揃わないと困る。

Raspberry Pi 3 に Inside Preview 版を入れる

Windows IoT Core の Inside 版は Get Started – Windows IoT から、Raspberry Pi 3 の NOOBS 版からインストールするか、https://www.microsoft.com/en-us/software-download/windowsiot から直接ダウンロードします。どうやら、現時点で RPi3 対応は Inside Preview 扱いなので(正式リリース版ではない)どちらの方法でも 、14342 が使えます。NOOBS 版のほうは、微妙にサイズが大きくなって SD カードは 16 MB が必要です。

リモート接続を有効にする

ブラウザから http://miniwinpc:8080/ で接続すると「Remote」というメニューが増えています。このチェックを入れると、リモート接続が有効になります。

image

リモートアクセスのアプリを入れる

https://www.microsoft.com/en-us/store/apps/iot-remote-client/9nblggh5mnxz から Windows IoT Remote Client をインストールします。

無事接続できると、こんな風に Raspberry Pi 上のモニタが表示できます。マウスでぽちぽちすることもできるし、タッチパネルがあればタッチ操作ができます。

image

ただし、全画面転送しているらしくて妙に遅かったりします。現時点では解像度を 800×600 に落とすと使えるぐらいのスピードになります。

 

 

 

以下は、リモートデバッグしようと思ってあれこれやった結果です。

 

Windows のほうも Inside Preview 版にする

Windows IoT Core のアプリは UWP なのですが、このターゲットバージョンを揃えないといけません。さっき、14342 を入れたのだから、Windows 10 PC のほうも、14342 か、それ以上にします。現状では Slow Ring にして Windows Update すると自動的に入ります。

業務 PC に入れるのは難なので、Hyper-V 上に Windows 10 の環境を作ってバージョンを揃えています。

Windows 10 SDK を入れる

ホーム ページ – Windows Insider Program に参加して、プレビュー版の Windows 10 SDK をインストールします。実は、ここのバージョンが 14332 なので、PC や Windows IoT Core のバージョン 14342 よりも低いんですよね。たぶん、このおかげで Windows IoT Core に対してリモートデバッグができない状態なのだと思います。

でもって、Windows 10 SDK 14332 を入れた状態で Visual Studio からデプロイしようとすると、

image

2>DEP0800 : 必要なフレームワーク “C:\Program Files (x86)\Microsoft SDKs\Windows Kits\10\ExtensionSDKs\Microsoft.NET.CoreRuntime\1.0\.\AppX\ARM\Microsoft.NET.CoreRuntime.1.0.appx” のインストールに失敗しました。

のようなエラーが発生します。このエラー自体は、StackOverflow でよく見かけるのですが、解決できていません。大抵の回答は、SD カードの焼き直しなんだけど、どうもバージョン違いのような気がする。

アプリのデプロイ自体は、ブラウザから「Apps」→「Install app」で、appx ファイルをアップロードすれば ok です。このあたりはストアアプリと同じなので、デバッグはできませんが、ひとまずアップロードして Windows IoT Core 上で動かすことはできます。

image

そんな訳で、中途半端ですが、ひとまずリモート接続ができるところまで。

カテゴリー: Win IoT パーマリンク