もくじ
→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 ダッシュボードをまずダウンロード
IoT Core本体
ラズパイに挿すIoT Core入りSDカード作成
まずSDカードをきれいにしたい場合はこちら
→SDカードをパーティション削除~フォーマットしたときのメモ
SDカードが用意できたら、
ダウンロードしたisoをダブルクリックし、中のmsiを実行。
C:\Program Files (x86)\Microsoft IoTの下に、「Windows IoT Core Image Helper」と「Windows Iot Core Watcher」が入るので、Helperのほうを実行。
下記のような画面がでるので、上の枠でSDカードのドライブを選択。下のBrowse枠で、SDに書き込むためのIoTCoreのイメージ「flash.ffu」を選択。
flash.ffuは下記にある。
ffuの場所
C:\Program Files (x86)\Microsoft IoT\FFU\RaspberryPi2
「FLASH」を押すと、SDへの書き込みが始まる。
書き込みが終わったら、SDの作成終了。
IoT Coreを動かす
作成したSDカードをラズパイに入れて、電源を入れる。
その前に、
・マウスをさしておく。
・キーボードをさしておく。
・HDMIモニタをさしておく。
・ネットワークに接続しておく。
※今回試した時は、DHCPありのルーターに、PCと一緒に接続したので、IPアドレスが自動で振られた。
電源投入後、下記のような画面になる。この後、言語の選択などを行う。
接続する(ブラウザ)
SDをさしたラズパイ3がうまく動作していると、ラズパイ側のtop画面にIPアドレスが出ているので、そのIPを参考に、ブラウザで下記のように接続する。
http://[ラズパイのIPアドレス]:8080
※デフォルトのユーザー名は「administrator」、パスワードは「p@ssw0rd」
接続する(ダッシュボード)
ラズパイが起動した状態で先ほどインストールしたダッシュボードを立ち上げると、「自分のデバイス」にラズパイのIPが表示される。
サンプルコードを動かす
サンプルページからコードを持ってきて、動かしてみる。
「Clone or Download」を押して、ダウンロードする。
https://github.com/ms-iot/adafruitsample
その中の「Blinky.sln」を開く。
まず、プロジェクト名を右クリックして、プロパティを開く。
「デバッグ」を選択し、下記のように設定する。
・ターゲットデバイス:リモートコンピューター
・リモートコンピューター(IP):ラズパイのIP
・認証モード:ユニバーサル ※VS2015の頃は、これを「なし」にしないとうごかない時期があったらしい
緑矢印を押すと、ラズパイにプログラムの配置処理が始まる。
1分くらいかかる。
※初回ビルド時は、不足しているものを色々自動でインストールしてくれているから、時間がかかるっぽい。
これで、画面に配置したプログラムの画面がでれば成功。
(GPIOピンにも出力が行われている)
2021/01/03 追記
VS2019からでは、リモートデバッグはできないらしい。
https://www.codeproject.com/Articles/1945985/App-Development-on-Windows-IoT-using-VS-2019
※ただ、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
※以前はもっといろいろなサンプルがどこかにあったが、今みたらなくなっていた。