RaspberryPi3でWindows10 IoT Coreを動かす(2019/02/13)

**もくじ**
→https://qiita.com/tera1707/items/4fda73d86eded283ec4f

# 概要
xamlの画面作りの勉強をしたいので、Win10 IoTで電子工作しながら画面作成の勉強をしようと思い、その環境を作ったので、以下にやったことをメモ。

## 必要ファイルのダウンロード
現時点でのダウンロードページから、必要ファイルをダウンロード。

IoT Core ダウンロードページ
https://docs.microsoft.com/ja-jp/windows/iot-core/downloads

## Windows 10 IoT Core DashBoard
Windows 10 IoT Core ダッシュボードをまずダウンロード
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/acbda15c-4a46-59ca-e84f-836a90358ac2.png)

## IoT Core本体
ラズパイ向けのIoT Core リリースをダウンロード
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/71b80c2d-853c-b38d-07c3-600d3aaacdf1.png)

## ラズパイに挿すIoT Core入りSDカード作成

まずSDカードをきれいにしたい場合はこちら
→[SDカードをパーティション削除～フォーマットしたときのメモ](https://qiita.com/tera1707/items/a9848cd8680aa1d93c7a)


SDカードが用意できたら、
ダウンロードしたisoをダブルクリックし、中のmsiを実行。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/cf25d0ce-06f8-842d-0869-0ffdef93e3b0.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/61ef0b45-d2b3-630d-de59-4660956dd500.png)

![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/dda8a7cc-6652-656f-a058-51882d88d2b9.png)

C:\Program Files (x86)\Microsoft IoTの下に、「Windows IoT Core Image Helper」と「Windows Iot Core Watcher」が入るので、Helperのほうを実行。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/9bf8d4e9-bdc9-b543-a9bd-b6c097df0b04.png)

下記のような画面がでるので、上の枠でSDカードのドライブを選択。下のBrowse枠で、SDに書き込むためのIoTCoreのイメージ「flash.ffu」を選択。
flash.ffuは下記にある。

ffuの場所
C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/8379454b-4bd5-eff0-f469-3045f5896d40.png)

「FLASH」を押すと、SDへの書き込みが始まる。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/515778d2-5f23-e90d-980f-f16c5f0b8eca.png)
書き込みが終わったら、SDの作成終了。

## IoT Coreを動かす
作成したSDカードをラズパイに入れて、電源を入れる。
その前に、
・マウスをさしておく。
・キーボードをさしておく。
・HDMIモニタをさしておく。
・ネットワークに接続しておく。
　※今回試した時は、DHCPありのルーターに、PCと一緒に接続したので、IPアドレスが自動で振られた。

電源投入後、下記のような画面になる。この後、言語の選択などを行う。
![IMG_5050.JPG](https://qiita-image-store.s3.amazonaws.com/0/352601/35da6103-29a9-9b93-c689-e661f50b3c4f.jpeg)

初期設定が終わると、このような画面になる。
![IMG_5051.JPG](https://qiita-image-store.s3.amazonaws.com/0/352601/4dda2a3b-d4c4-3d46-5ce6-c66097b4c4a1.jpeg)

## 接続する(ブラウザ)
SDをさしたラズパイ3がうまく動作していると、ラズパイ側のtop画面にIPアドレスが出ているので、そのIPを参考に、ブラウザで下記のように接続する。

http://[ラズパイのIPアドレス]:8080
※デフォルトのユーザー名は「administrator」、パスワードは「p@ssw0rd」
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/ff64f1f3-809b-3a40-a663-97a830d7b2b9.png)

## 接続する(ダッシュボード)
ラズパイが起動した状態で先ほどインストールしたダッシュボードを立ち上げると、「自分のデバイス」にラズパイのIPが表示される。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/d3013c26-cee6-a6cd-ecdc-f3650bc85932.png)


## サンプルコードを動かす
サンプルページからコードを持ってきて、動かしてみる。
「Clone or Download」を押して、ダウンロードする。
https://github.com/ms-iot/adafruitsample
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/b727eb36-cf28-d7e5-60af-d930080ad6d2.png)

その中の「Blinky.sln」を開く。
まず、プロジェクト名を右クリックして、プロパティを開く。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/1e2f5dd1-7832-d8bc-cec9-f88ad51b59d5.png)

「デバッグ」を選択し、下記のように設定する。
・ターゲットデバイス：リモートコンピューター
・リモートコンピューター（IP）：ラズパイのIP
・認証モード：ユニバーサル　※VS2015の頃は、これを「なし」にしないとうごかない時期があったらしい
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/12cf0b27-8615-498b-6eaf-e9f420d94a42.png)

緑矢印を押すと、ラズパイにプログラムの配置処理が始まる。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/8a44fef0-f681-3fdc-7cf5-9290a8a45de2.png)
1分くらいかかる。
※初回ビルド時は、不足しているものを色々自動でインストールしてくれているから、時間がかかるっぽい。

これで、画面に配置したプログラムの画面がでれば成功。
(GPIOピンにも出力が行われている)
![IMG_5052.JPG](https://qiita-image-store.s3.amazonaws.com/0/352601/9a6e89a1-7cb0-12dd-f71e-363a5db5679a.jpeg)

# 2021/01/03 追記

VS2019からでは、リモートデバッグはできないらしい。
https://www.codeproject.com/Articles/1945985/App-Development-on-Windows-IoT-using-VS-2019
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/352601/7f4adc65-af2a-d93a-5d95-e12d3e879b9d.png)
※ただ、VS2017で作成したslnだと、VS2019で起動していてもリモートデバッグができるっぽい。
VS2019で新規作成したものがダメということ？(未検証)

#参考
Windows 10 IoTの情報ページ
https://docs.microsoft.com/ja-jp/windows/iot-core/windows-iot

サンプルプロジェクトページ
https://github.com/ms-iot/adafruitsample/blob/master/README.md
※以前はもっといろいろなサンプルがどこかにあったが、今みたらなくなっていた。

# 参考(追記)
ダッシュボードの「サンプルを試す」から、多数のサンプルを取ることができた。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/352601/53f70d0c-0880-67d1-3adf-0a6dd2bb609a.png)