第2回 Windows IoT開発環境をセットアップする:Windows 10 IoT Coreで始めるIoT入門(3/3 ページ)
IoT版Windowsをインストールした機器に「何か」をやらせるには、そのためのアプリを開発して機器にインストールする必要がある。無償のWindows版GUIツールでIoTアプリを開発する方法とは?
プログラムができたら、次は実際にRaspberry Piへ送り込んで、Raspberry Pi上で実行させてみよう。
まずVisual Studio 2015のツールバーでソリューションのプラットフォームを「x86」から「ARM」に変更する。Raspberry Pi 2 Model BはARMプロセッサで動作しているためだ。
ARMアーキテクチャに切り替える
Raspberry Pi用のバイナリを作成するには、ARMアーキテクチャに切り替える。
(1)これをクリックしてソリューションプラットフォームをドロップダウンさせる。デフォルトではx86(もしくはx64)が選択されているはず。
(2)「ARM」を選択する。
次は接続先を「リモートコンピューター」に切り替える。
接続先デバイスの切り替え
アーキテクチャをARMにすると、接続先が「Device」になっているはずなので、これを「リモートコンピューター」に切り替える。
(1)接続先のデバイスを変更するには、この下向きの三角をクリックする。
(2)「リモートコンピューター」を選択する。
「リモートコンピューター」を選択すると、次のような接続先の指定ダイアログが表示されるので、接続先情報を入力して[選択]をクリックする。
接続先の指定
接続先のWindows 10 IoT Coreシステムを指定する。
(1)接続先情報。IPアドレスでもコンピューター名(デフォルトは「minwinpc」)でもよい。
(2)認証モードは「なし」にする。
(3)これをクリックして選択する。
(4)Windows 10 IoT Coreのコンピューター名が自動的に列挙されている場合は、これをクリックして選択してもよい。
接続先の指定のダイアログが閉じたら、「リモートコンピューター」と表示されている緑色の三角(「デバッグの開始」ボタン)をクリックする。
するとARM向けにアプリがビルドされ、Raspberry Piへコピー(配置)された後、実行が開始される。その進捗状況はVisual Studio 2015の「出力」−「ビルド」ウィンドウに順次表示される。
ビルドログと完全パッケージ名
[デバッグの開始]ボタンをクリックするとビルドの進捗状況が出力ウィンドウに表示される。
(1)出力ウィンドウにログが出力される。
(2)「ビルド」を選択すると、ビルドと配置の状況を確認できる。
(3)ここに表示されている「完全パッケージ名」がプロセス名として表示される。
アプリの実行と管理
実際の実行中のRaspberry Piの画面を次に示す。Windows 10 IoT Core上ではウィンドウサイズは変更できず、常に全画面表示になる。ボタンの応答や表示などはローカルのWindows 10上で動作している場合と同じである。またVisual Studio 2015上から実行を終了させることもできる。
実行中のWindows 10 IoT Coreのプロセスの状態は、前回解説したようにWebブラウザー経由で確認できる(「http://<IPアドレス>:8080/」でアクセス可能だ。デフォルトのユーザー名は「Administrator」、パスワードは「p@ssw0rd」)。
アプリ実行中のプロセスの状態
Visual Studioから起動したアプリが実行されている。
(1)Webブラウザー経由でWindows 10 IoT Coreに接続している。これ以外にも、PowerShellやSSHなどでも接続して管理できる。
(2)「Apps」メニューを選択する。
(3)先ほどデプロイ(配置)されたアプリ。ビルドログの完全パッケージ名で識別する。
(4)実行中のアプリ。
(5)これをクリックすると強制終了できる。
(6)これをクリックするとアンインストールできる。
(7)これをクリックすると実行を開始できる。
(8)起動時に実行するデフォルトアプリに設定するにはこれをクリックする。
先ほどのビルドのログにあった完全パッケージ名(この例では「5421b502-〜」)がプロセス名として表示されている。
今回はVisual Studio 2015を使って、Windows 10 IoT Core向けのアプリを作成して実行する方法を紹介した。Windows 10 IoT Core向けのアプリは、基本的には通常のx86/x64 PC向けのユニバーサルWindowsアプリと同じなので、Windowsのプログラミングに慣れていればそう難しくないだろう。
次回は、さまざまなデバイスを接続してデータを読み書きしたり、制御する方法を解説する。
Copyright© Digital Advantage Corp. All Rights Reserved.