United Statesからアクセスのようです。言語設定をEnglishに切り替えますか?
Switch to English site
Skip to main content

RaspberryPi 2 への Windows10 IoT Core をセットアップ

 

title

MicrosoftがRaspberry Pi 2に接近?!

たしかにRaspberry Piの世界的な人気を手に入れました。とはいえ、まさかあのマイクロソフトがシングルボードコンピュータ用のOSをリリースするなんて、多くの人に驚きを与えたことでしょう。さらにリリースと同時に公開されたムービーで、マイクロソフトのHoloLensとPiベースのロボットの連携に興奮させられた人も多いでしょう。

title

"Windows 10 IoT Core"は、Microsoftの新製品3種のひとつで、インテルMinnowBoard MaxとRaspberry Pi2をターゲットにした組込みむけOSです。(ちなみに他の2商品は、工業デバイス用OSとモバイルデバイス用OSです)。詳細な情報はこちらこちらをご覧ください。

この記事では、まずPi2にWindows 10 IoT Coreをインストールする方法とその際の注意点、そしてGPIOを使ったサンプルプログラムを使用した際の結果などをご紹介します。

Piの構成

title

公式サイトによると、「Windows 10 IoT CoreをPiにインストールするにはWin10が動作しているPCが必要」とされています。しかし、Raspberry Piのフォーラムにて幾人かのユーザーがWindows7や8でもインストールする方法を発見しています。単にDISM(Deployment Image Service and Management)ソフトウェアを更新することでインストールすることができるようになるようです。
手順は以下の通りです。

  • DISMソフトウェアの更新データをダウンロード
  • flash.ffuイメージ(OS)をダウンロードし、SDカードに書き込み
  • DISMを利用してSDカードにOSイメージを書き込み
  • Pi+ bootにSDカードを挿入

この記事ではService Pack1がインストールされたWindows 7 Professionalでインストールしました。

というよりもDISMに必要なWindows10 イメージ全てをダウンロードするよりも、Windows 10 ADKをダウンロードしたほうがいいかもしれません。インストーラーを一度ダウンロードし、単に展開ツールを選択するだけで、完全なWindows 10 ISOよりもはるかに小さい容量で行えます。ダウンロードすると、新しいDISMファイルが配置され、上記フォーラムの投稿と同じように使用することができます。

重要なのはflash.ffuの最新バージョンを使用することです。このリンク先の"Download RTM Release for Raspberry Pi 2"からダウンロードしてください。同封されたMSIファイルをWindows7マシンで実行し、flash.ffuファイルを以下のように使用します。

title

前述のフォーラムの投稿を参照しています。

  • 管理者権限でcmd.exeを実行
  • Diskpartを実行
  • Diskpartで"list disk"を実行
  • SDカードに対応するディスク番号をメモ

title

更新したDISMファイルの場所に移動した後、イメージをSDカードに書き込みます。

C:\Users\USER\Desktop\INSTALLDIR\DISM> C:\Users\USER\Desktop\INSTALLDIR\DISM\dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDrive1 /SkipPlatformCheck

ファイルパスはシステムによって変更する必要があります。

上記コマンドを実行する前に、"PhisicalDriveX"で不正確なドライブ番号を使用していないか確認してください。
SDカードに対応する番号を使用していることを確認しないと、ハードドライブを上書きしてしまう可能性があります。
イメージが正常にSDカードに適用されると、cmd.exeのウィンドウが閉じられます。SDカードをPi2に移動し、HDMIモニターとローカルネットワークに接続してください。

Pi上でWindowsを実行

title

Piの電源を入れるとWindows 10 IoT Coreが起動します。初回起動時、上画像のDefaultAppが画面に表示されるまで数分かかりました。この画面にはIPアドレスやUSBデバイス接続などが表示されます。

ここで、私たちはリモートPi接続に挑戦しようと思います。まずLinuxマシンからSShを利用して通信してみましょう。

title

SSHクライアント(Linuxマシン上の標準ターミナルを使用)とデフォルトのログイン情報を使用してログインし、コマンドプロンプトで"ドライブCがメインOSであること"を宣言します。
ここからはDOS/Windowsのコマンドを使用してファイルを操作することができます。まずデフォルトのユーザー名とパスワードを変更することをおすすめします。
Windowsシステムに精通している人はPowerShellを使用したいと思うかもしれません。その場合はこちらのガイドをご覧ください。

title

Piで実行している時、Windows 10 IoT Coreはwebインターフェースを提供します。ブラウザにIPアドレスを入力した後、ログイン情報を入力することでログインすることができます。一連のツールは、タスクマネージャーと同じように、Piで実行しているプロセスの情報やパフォーマンスグラフ、デバッグなどの情報を提供します。

title

FTP経由でPiに接続し、ファイルシステムを参照することもできます。

title

マイクロソフトのこのページからWindows 10 IoT Coreを始めるためのチュートリアルなどのリソースを見つけることができます

マニュアルの中で私の目を引いたのは、2つの異なるモードでWindows 10 IoT Coreを実行する機能でした。headed(ディスプレイ接続するモードで、ユニバーサルwindowsアプリを実行可能)とheadless(ディスプレイ接続をしないモードで、バックグラウンドアプリのみ実行可能)です。デフォルトではheadedモードになっています。

アプリの展開

title

image source: Microsoft

"AppX Manager"はWebインターフェースに含まれているが、Pi上で動作するアプリケーションをコンパイルする必要があります。
Community Editionを十分に使用するためにVisual Studio 2015が必要となります。

マイクロソフトはこのページでサンプルコードを提供しています。私たちはGPIOピンに接続したLEDを点滅させる「Blinky」のチュートリアルに従いました。

title

"Blinky"のサンプルコードをPiで実行すると、HDMIディスプレイに情報を表示しながら、GPIOに接続されたLEDを点滅させます。チュートリアルではさらにGPIOを活用するための方法やコードが詳細に記されています。

IoTへのステップアップ

title

Image: Flickr user Ayustety

完全ではないとはいえPi2 Windows 10 IoT Core用の開発スキル、ツール、アプリケーションなどの情報をマイクロソフトは提供しています。
Windows 10 IoT CoreをSDカードに焼きつけるためにWindows10を導入する必要はなく、Window7や8でも十分に活躍できるとはいえ、Windows 10は非常に便利です。

title

Image: Flickr user Noah (axon)

マイクロソフトはRaspberry Piだけではなく車載機器など多くのモバイルデバイスなどで動作するバージョンを提供しています。Windowsで蓄えられた知識や技術などをRaspberry Piなどの新しく、画期的なフォーマットで活用することで、より画期的なアイデアが生まれることを願っているのです。