本記事は Raspberry Pi に Windows 10 IoT Core をセットアップする際の手順を記した備忘録です。
Windows 10 IoT Core をインストールすると、面倒なGUIアプリケーションもVisual Studio Communityを使って簡単に作成することができます。
ユニバーサルWindowsプラットフォーム(UWP)アプリケーションを作成したことのある人なら、Raspberry Piのことを知らなくてもあっという間に高度なGUIアプリを作成できます。
しかしこのOSはRaspberry Pi専用のOSではなく、細かい制御を行おうとしても方法が見つからない場合があります。
私の場合、HDMIからの出力を制御したい事情があったのですが、残念ながら 2018年1月現在に至るまでその機能を実現できていません。
したがって、Windows 10 IoT Core での開発は現在 一時 中断しています。
この備忘録も作業再開に備えたメモ程度の内容となっています。
[物理PC]
モデル | MacBook Pro (Retina, 15-inch, Mid2014) |
OS | macOS Sierra ver 10.12.6 |
メモリ | 16GB |
仮想環境 | VMware Fusion バージョン 8.5.8(5824040) |
[仮想PC]
OS | Windows 10 Pro バージョン:1709 OSビルド:16299.125 |
メモリ | 4GB |
ネットワークアダプタ | [ブリッジされたネットワーキング] 自動検出 |
[Raspberry Pi]
モデル | Raspberry Pi 3 Model B (日本製) |
SDカード | TOSHIBA microSDHC UHS-I Card 32GB Class10 |
キーボード | ELECOM TK-FCM084BK (有線) |
マウス | ELECOM M-XGL10UB Series EX-G (有線) |
電源 | 公式 Raspberry Pi3 アダプタ 5.1V/2.5A |
ディスプレイ | 公式 7'' Touchscreen Display (element14製) - 電源は本体GPIOピン(5V)より供給。 |
(事前検討)Windows 10 環境の用意
Windows 10 IoT デバイスを外部から操作するツールとして「Windows 10 IoT Core Dashboard」というアプリが提供されています。
このアプリはWindows OS上でしか動作しませんが、仮想環境に用意したWindows PCで上でも問題なく実行させることができます。
(事前検討)OSイメージのSDメモリーカードへの書き込み
Macユーザは十分にご存知のはずですが、仮想PCからMac本体のSDメモリーカードを「デバイス」として取り扱うのは非常に困難です。
単なるファイルストレージとしてアクセスするには問題無いのですが、仮想デバイスとしては正常に取り扱うことができない様なのです。
Windows 10 IoT Core Dashboard が提供するOSイメージの「ダウンロードとインストール」機能が常に失敗するため、このままではSDメモリーカードに Windows 10 IoT Core イメージを書き込むことができません。
また、外付けのカードリーダー/ライターも試してみましたが、残念ながら状況は全く変わりません。
よって、この時点で Windows 10 IoT Core Dashboard からOSイメージを書き込むことを諦めました。
(事前検討)NOOBSによるインストール
ここでようやく公式のインストールソフトウェアである「NOOBS」の存在を思い出しました。
複数のOSの中から一つを選び、任意のOSを簡単にインストールできる便利なツールという認識でしたが、インストール可能なOSについては No Check でした。
調べてみたところ、インストール可能なOSの中に「Windowd 10 IoT Core」をあっさりと発見しました。
SDメモリーカードを多少消費しますが、現環境でインストールを実施するには他に手段はなさそうです。
公式サイト(あるいはミラーサイト)から NOOBS をダウンロードして使用することにします。
(準備)有線LANへの接続について
Raspberry Pi3 には無線LANモジュールが組み込まれており、NOOBSによるOSインストールの際にも利用することが可能です。
作業開始前に、使用する無線LANの「SSID」および「暗号化キー(パスワード)」を調べておきます。
(準備)SDメモリーカードについて
下記のサイトを参考にしながら、今回はTOSHIBA製のSDメモリーカードを購入しました。
Raspberry Pi 3で安定して使える相性の無い最適な microSDメモリーカードの種類のまとめ
http://www.neko.ne.jp/~freewing/raspberry_pi/raspberry_pi_3_microsd_card_stable/
容量は大きいほど便利ですが、サイズが大きくなると金額も上がっていきます。
折衷案ということで32GBのメモリを購入しました。
NOOBS のダウンロード
NOOBSはいわゆる「インストーラ」で、様々なOSを簡単な手順でインストールすることができます。
公式サイトのダウンロードページへアクセスし、「NOOBS」の画像をクリックします。
https://www.raspberrypi.org/downloads/
NOOBSページが表示されたら、「NOOBS LITE」側の「Download ZIP」をクリックします。
通常の「NOOBS」にはRaspbian OSのイメージが含まれていますが、今回インストールするのはWindows 10 IoT Coreです。
このイメージを利用する機会はないので、OSイメージを持たない「ネットワークインストール専用」の NOOBS LITE をダウンロードします。
30数MBしかないので、ダウンロードにそれほど時間を要することもないと思います。
ダウンロードしたZIPファイルは事前に解凍しておきます。
SDメモリーカードの初期化(フォーマット)
OSの標準ツールで初期化(フォーマット)すると、SDメモリーカードに最適化されていない状態でフォーマットされてしまい、アクセス性能が低下するようです。
下記サイトからダウンロードした「SD Card Formatter」を使って初期化(フォーマット)します。
SD Card Formatter
https://www.sdcard.org/jp/downloads/formatter_4/
「InstallSD_CardFormatter0500.mpkg」のようなファイル名でダウンロードされるので、ダブルクリックしてインストーラを起動します。
その後はインストーラの指示に従ってインストールを進めます。
インストールしたSD Cars Formatterを起動してSDメモリーカードをPC本体のカードスロットへ差し込むと、次のような画面が表示されます。
フォーマットボタンをクリックして初期化(フォーマット)を実施します。
通常はオプションを変更する必要はありませんが、完全に内容を消去してから使用したいときは上書きフォーマットを選択します。
SDメモリーカードへの書き込み
フォーマットしたSDメモリーカードは、通常のディスクドライブと何ら変わりません。
NOOBS LITEのZIPファイルの解凍によって作成された NOOBS LITEフォルダ(例. NOOBS_lite_v2_4)の内容全てを、SDメモリーカードへそのまま「コピー」してください。
Finderから普通にコピーしても問題ありませんし、コンソールを起動して cpコマンド でコピーしても構いません。
NOOBS の起動と無線LAN環境の設定
SDメモリーカードを Raspberry Pi3 へセットして電源を入れると、NOOBS が起動します。
ネットワークへ接続されていないので、最初は下記の画面が表示されます。
ツールバーの「Wifi networks」をクリックすると、認識している無線LANのSSID一覧が表示されます。
接続先のSSIDを選択後、接続用の暗号化キー文字列を「Password」欄へ入力してから「OK」ボタンをクリックします。
無事に接続できた場合は、インストール可能なOS一覧が表示されます。
その中から「Windows 10 IoT Core」を探し、左端のチェックボックスにチェックを入れてから、ツールバーの「インストール」をクリックします。
Windows 10 IoT Core のインストール
リリース版とプレリリース版のどちらかを選択してから「OK」ボタンをクリックします。
ここでは「リリース版」を選択しています。
利用許諾画面で「YES」ボタンをクリックすると、OSのインストールが始まります。
しばらく待たされますが、インストールが完了すると次の画面が表示されます。
「OK」ボタンをクリックすると、Windows 10 IoT Core の初期起動が始まります。
言語選択画面では「日本語」を選択してから「Next」ボタンをクリックします。
NOOBS 画面で入力した無線LAN設定は引き継がれません。
画面に表示された一覧の中から接続先のSSIDを探し、「接続」ボタンをクリックします。
「ネットワークセキュリティキー」の入力を促されるので、接続先SSIDの暗号化キーを入力してから「次へ」ボタンをクリックします。
音声入力機能に関する質問ですが、当面利用する可能性はないので「Maybe Later」ボタンをクリックします。
思いっきり手が写り込んでいますね(汗)