Mac
RaspberryPi
Windows10IoTCore

Raspberry Pi を動かそう(Windows 10 IoT編)

本記事は 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/

image.png

NOOBSページが表示されたら、「NOOBS LITE」側の「Download ZIP」をクリックします。
通常の「NOOBS」にはRaspbian OSのイメージが含まれていますが、今回インストールするのはWindows 10 IoT Coreです。
このイメージを利用する機会はないので、OSイメージを持たない「ネットワークインストール専用」の NOOBS LITE をダウンロードします。
image.png
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本体のカードスロットへ差し込むと、次のような画面が表示されます。
image.png
フォーマットボタンをクリックして初期化(フォーマット)を実施します。
通常はオプションを変更する必要はありませんが、完全に内容を消去してから使用したいときは上書きフォーマットを選択します。

SDメモリーカードへの書き込み

フォーマットしたSDメモリーカードは、通常のディスクドライブと何ら変わりません。
NOOBS LITEのZIPファイルの解凍によって作成された NOOBS LITEフォルダ(例. NOOBS_lite_v2_4)の内容全てを、SDメモリーカードへそのまま「コピー」してください。

image.png

Finderから普通にコピーしても問題ありませんし、コンソールを起動して cpコマンド でコピーしても構いません。

NOOBS の起動と無線LAN環境の設定

SDメモリーカードを Raspberry Pi3 へセットして電源を入れると、NOOBS が起動します。
ネットワークへ接続されていないので、最初は下記の画面が表示されます。
image.png

ツールバーの「Wifi networks」をクリックすると、認識している無線LANのSSID一覧が表示されます。
接続先のSSIDを選択後、接続用の暗号化キー文字列を「Password」欄へ入力してから「OK」ボタンをクリックします。
image.png

無事に接続できた場合は、インストール可能なOS一覧が表示されます。
その中から「Windows 10 IoT Core」を探し、左端のチェックボックスにチェックを入れてから、ツールバーの「インストール」をクリックします。
image.png

Windows 10 IoT Core のインストール

リリース版とプレリリース版のどちらかを選択してから「OK」ボタンをクリックします。
ここでは「リリース版」を選択しています。
image.png

利用許諾画面で「YES」ボタンをクリックすると、OSのインストールが始まります。
image.png

しばらく待たされますが、インストールが完了すると次の画面が表示されます。
「OK」ボタンをクリックすると、Windows 10 IoT Core の初期起動が始まります。
image.png

image.png

言語選択画面では「日本語」を選択してから「Next」ボタンをクリックします。
image.png

NOOBS 画面で入力した無線LAN設定は引き継がれません。
画面に表示された一覧の中から接続先のSSIDを探し、「接続」ボタンをクリックします。
image.png

「ネットワークセキュリティキー」の入力を促されるので、接続先SSIDの暗号化キーを入力してから「次へ」ボタンをクリックします。
image.png

音声入力機能に関する質問ですが、当面利用する可能性はないので「Maybe Later」ボタンをクリックします。
思いっきり手が写り込んでいますね(汗)
image.png

次の確認画面では、そのまま「Get It」ボタンをクリックします。
image.png

無事に起動すると次の画面が表示されます。
image.png