対象読者
IoTに興味があり、C#と電子工作の基本的な知識がある方を対象とします。C#や電子工作のごく初歩的な説明は割愛していますので、「C#ではじめるラズパイIoTプログラミング」の記事なども併せて参照してください。
はじめに
連載第2回の今回は、.NET nanoFrameworkを用いた基本のIoTプログラムについて解説します。
.NET nanoFrameworkを用いたIoTプログラミングをはじめよう
前回で.NET nanoFrameworkを利用できる準備ができましたので、今回からはプログラムの作成を行っていきましょう。
新規プロジェクト
Visual Studioに、.NET nanoFrameworkの拡張機能をインストールすると、次のようにプロジェクトテンプレートが3つ追加されます。
![Freenove ESP32-WROVER](http://cz-cdn.shoeisha.jp/static/images/article/18836/18836_1.png)
この連載では、「Blank Application(.NET nanoFramework)」 を利用することにします。Visual Studioを起動して、[新しいプロジェクトの作成]を選び、「Blank Application(.NET nanoFramework)」を選択します。nanoで検索すると選びやすいです。
プロジェクト名を適宜つけて(ここでは、NFSample1)、作成ボタンをクリックします。すると、Blankの名前のとおりProgram.csだけの、シンプルなプロジェクトが作成されます。
![新規プロジェクト作成後](http://cz-cdn.shoeisha.jp/static/images/article/18836/18836_2.png)
PCに、ESP32開発ボードを接続していれば、Device Explorerウィンドウにデバイス名が表示されるはずです。ここでは、ESP32-WROVERを接続しています。
まずは、このままF5キーを押して(またはメニューから、デバッグの開始を選択して)みましょう。動作的には、メッセージをデバッグ出力するだけで、表面上の変化はありません。コードの最後、Thread.Sleep(Timeout.Infinite)
は、無期限の待機で、プログラムが終了しないようにするためのものです。
デバッグメッセージだけとはいえ、これは、生成されたアセンブリが実際のデバイス上に書き込まれ、それがデバッグできる、ということを示しているのです。
![Hello from nanoFramework!の表示](http://cz-cdn.shoeisha.jp/static/images/article/18836/18836_3.png)
Visual Studio 17.7.6のnanoFramework拡張機能のアイコン
Visual Studioをバージョン17.7.6に更新したところ、nanoFramework拡張機能のツールアイコンが表示されなくなってしまいました。以前のバージョンでも発生したことがあり、そのときは、コマンドラインから、「devenv /updateConfiguration」を実行して再起動すれば復活していました。アイコンは非表示でも、ツールチップ表示はされるので、機能的には問題ないのですが、少し不便なので、今後改善されることを期待します。