記事

IoTへの挑戦 Raspberry PiでWindows 10 IoT Coreを動かす(7)

■Blinkyプロジェクトの中身を見る

 新しくプロジェクト作ると、最低限プログラムを実行するために必要なファイルとその枠組みが作られます。
 次に示すように、ソリューションエクスプローラでこれらのファイルを確認できます。App.xaml、App.xaml.cs、MainPage.xaml、MainPage.xaml.csが中心になります。
 App.xamlはこのアプリケーション・プログラムで使用するリソースを宣言するファイルです。App.xaml,csはApp.xaml用のコードビハインドファイルで、App.xamlに対する処理のプログラムが記述されています。App.xaml.csには、このアプリケーション・プログラムの開始点があり、最初の起動時であればMainPage.xaml.csを呼び出しユーザが記述したプログラムの開始処理を行い、このApp.xaml.csに戻り開始画面を表示します。

iot01-2b064751.png

 デバッグのステップ動作でプログラムの実行の様子を確認します。

Window.Current.Activate();


の処理を実行すると、MainPage.xamlファイルで定義されたプロググラムの初期画面が表示されます

●マイコードのみ有効にする
 メニューバーのデバッグ>オプションを選択すると、次に示すようにオプションの設定を行うウィンドウが表示されます。デバッグ操作時の全般の設定が選択されています。
 デフォルトでは「マイコードのみを有効にする」にチェックが入っています。
 マイコードのみを有効にしている場合は、App.xaml.cs、MainPage.xaml.csのファイルのコードのトレースは行い、ここから呼び出されるシステム・プログラムはステップ動作を行わず連続で処理され戻ってきます。「マイコードのみを有効にする」のチェックを外すと、システムの用意したプログラムの動作もステップ動作で確認できます。

iot02-aa8512d6.png

●MainPage.xamlで表示画面を設定
 MainPage.xamlで表示画面の設定のための記述が行われ、動作を決めるプログラム・コードはMainPage.xaml.csに記述されます。表示画面の設定は、次に示すようにソリューションエクスプローラのMainPage.xamlをダブルクリックするとデザイナが呼び出され、表示画面の設定が行えるようになります。
 左端の「ツールボックス」をクリックすると、表示画面に設定できる各種のコントロールを選択できるツールボックスのウィンドウが表示されます。
 ここでは「すべてのXAMLコントロール」を表示してあります。通常は「コモンXAMLコントロール」で間に合います。
 白い楕円は、元は円でした。デザイナの編集画面で円を楕円に変形したものです。

iot03b.png

 xamlファイルは、GUIのデザイナで設定するほかにコードを直接編集する方法でもできます。そのためのXAML編集のウィンドウも表示されています。
 ここで設定された表示画面は、次に示すMainPage.xaml.csファイルのclass MainPgeの初期化を行うpublic MainPage()の関数が完了すると表示されます。この後、各種のイベントの発生を待ちます。ここではtimerが500msカウントアップするごとにTimer_Tick()関数が呼び出され、LEDの点滅と表示画面の点滅を繰り返します。

iot04-8adc43f2.png


 次回は、引き続きほかのサンプル・プログラムでラズベリーパイの動作確認を行います。


(2016/3/05 V1.0)

<神崎康宏>

連載メニュー IoTへの挑戦 Raspberry PiでWindows 10 IoT Coreを動かす

(1) 5千円台のマイコン・ボードRaspberry PiでWindows10が動く

(2) Windows 10 IoT Coreのダウンロードとインストール

(3) Windows 10 IoT Core Dashboardが開発基地

(4) 無償で使える開発ツールVisual Studio2017のインストール

(5) Visual StudioでLEDを点灯するサンプル・プログラムを動かす

(6) VisualStudio 2015のデバッガの機能を利用してBlinkyの動きを見る

(7) Blinkyプロジェクトの中身を見る

(8) 押しボタン・スイッチの検出を行うプログラムをテスト

(9) デバッガを使ってPushButtonの処理内容を確認

(10) UIをもたないでバックグラウンドで実行されるプログラム

(11) ボタンとLED点滅の新規プロジェクトの作成