2015年5月3日日曜日

Windows IoT for Raspberry Pi 2 で Lチカ

 今回は Windows IoT ネタです。以前に GalileoでWinIoT を試したことがありましたが、先日、Windows IoT for Raspberry Pi 2 のプレビュー版が公開されたので、早速、試してみることにしました。
 やることは、サンプルプログラムを元にLチカを最も簡単なプログラムでかつ新しいプロジェクトの作成から試してみることです。すぐに出来るだろうと思って調べ始めたところ、とんでもなく面倒でした。書くのも面倒なので・・・全ては書く気にもならないですが、手順の一部を載せておこうと思います。

 まず、Get Start のページで必要環境を確認したところで、心が折れます。開発する側の環境として、 Windows 10 Insider PreviewVisual Studio 2015 RC が必要になります。Visual Studio 2015 RC はいいとして、Windows 10 のプレビュー版をインストールできる端末の余分がないとできないわけです。自分は幸か不幸か仕事柄も最新のOSの動向などは知っておく必要があるので、思い切って現用端末の内の一台をWindows8→Windows10Previewへのアップグレードインストールを行って、環境を用意しました。
 次に Windows IoT for Raspberry Pi 2 Preview をダウンロード してzipファイルを解答すると、microSDに書き込むためのOSイメージとVisual StudioにWinIoTの開発機能を拡張するためのインストーラが展開されます。

 イメージ展開用のmicroSDをWindows10にマウントして、コマンドプロンプトで
   diskpart
   list disk
   exit
としてドライブ番号をリスト表示させて確認します。(例えば、ディスク N だったとします)
 OSイメージ Flash.ffu のあるフォルダに移動して、以下のコマンドを実行します。
   dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDriveN /SkipPlatformCheck
 PhysicalDriveN のNは実際にはディスク番号の数字です。
 これで展開されたmicroSDをRPi2に挿して起動すればOKです。初回起動時は時間がかかるので気長に待ちましょう。うまく起動すれば、先の拡張ツールと一緒にインストールされた検出ツールで minWin というPC名で検出されるはずです。自分はモニタは使っていませんが、モニタを接続しておけば、以下の様な画面が確認できるそうです。



 つぎは、Lチカプログラムです。ここにあるように GPIO5(29ピン)と3.3VをLEDと抵抗で接続します。(下の画像は前述のここのものをそのままコピーさせてもらいました)




 Visual Studio 2015 RC でC#の新しいプロジェクトを作成して、空のWindows Universalアプリ(Blank App(Windows Universal))を選択します。


 プロジェクトへの参照の追加で「Windows IoT Extension SDK」を追加します。


 MainPage.xaml.cs を編集します。まず、using Windows.Devices.Gpio; を追加します。


 Lチカのソースは次のような感じにしました。Arduinoのような単純な待ち時間を取らせる方法がわからなかったので、サンプルプロジェクトを参考にしてタイマでLチカ動作するような方法としました。

 プロジェクトのプロパティのビルドタグでプラットフォームタイプでARMを選択します。


 DebugタブでプラットフォームをARM、Start optionsのTarget device をリモートコンピュータにして、Remote machineにRPi2のPC名(デフォルトだとminWin、下記の画像の例だとWinIoTPiに変えてあります)かまたはIPアドレスを指定、Use authenticationのチェックを外します。


 ビルドの構成がARMになっていることを確認して、ビルド・実行します。


 プロジェクトがビルドされて、リモートコンピュータ(RPi2)にダウンロードされて実行されます。


 なんか、Lチカやるだけで、すごく大掛かりになってしまったんだけど・・・。



0 件のコメント:

コメントを投稿