single.php

VisualStudioでWindows10 IoT Coreプログラミング

先回、Windows10 IoT CoreをセットアップしたRaspberry Pi Model B+で動作するためのアプリケーションを開発するべく、とりあえず簡単な「Hello World」的アプリの実装をしてみたら、意外に簡単だったので記事にしてみます。

開発環境構築

VisualStudo 2017を使っていますが、このバージョンであれば特に追加するライブラリやサードパーティ製のアプリなどを使うことなく、Windows10 IoT向けのアプリを実装することができました。調べてないですが、無償のCommunity版でもクロスプラットフォーム開発の機能があるので、おそらく実装することが可能です。(詳しくは調べてみてください)

ラズベリーパイとWindows10の設定

実機で動作させるためには、Raspberry PiにWindows10 IoT Coreをセットアップする必要があります。インストール方法は、この記事では書きません。以前の記事をご覧ください。

セットアップが終わったら、LANケーブルを使って、VisualStudioを使うWindowsと同じネットワークに入れておく必要があります。

SDカードやUSBメモリーなどの媒体を経由してプログラムを送り込む方法もありますが、時間がかかることや、抜き先が面倒なのでおススメはしません。無線(Wi-Fi)接続も、途切れたりするので開発時には、ケーブルを使って有線接続の方が良いです。

また、VisualStudioでデバッグする際に表示されますがWindows10側の設定で「開発者向け」の設定をしておく必要があります。

「設定|更新とセキュリティ」カテゴリーにある、「開発者向け」メニューで「開発者モード」を選択しておきます。

Xamarinを使ったクロスプラットフォーム開発

Windows10 IoT Core向けの開発ですが、以前紹介した、AndroidやiOS向けのアプリを開発する「クロスプラットフォーム開発」と同じです。

Windows10 IoT Core向けと言っても、Windowsストア版のアプリと同じなので、Xamarinライブラリを使った、スマホやタブレット向けのアプリを開発する要領でアプリ開発をすることができました。

既にクロスプラットフォーム用のプロジェクトがあれば、少し追加するだけです。具体的には次のような手順になります。

1. クロスプラットフォーム用のプロジェクトを開きます。(ない場合は以前の記事を参考にしてもらって新規作成します)

2. [MainPage.xaml]のデザイン画面を開いた状態で、レイアウトのプルダウンリストから(詳しくは下の画面を参照)[4” IoT Device]を追加します。

3. デバッグする環境のCPUで[ARM](Raspberry Pi 3の場合)を選択して、ビルドターゲットに[Universal Windows Platform]と[リモート コンピューター]を選択します。

4. [ デバック|デバッグの開始]メニューを選択します。

5. 表示された[リモート接続]画面で自動検出されるので、接続先を選択します。(検出されない場合には、IPアドレスなどで手動で構成を行います)

[認証が有効になっていません]と警告が表示される場合がありますが、実行とデバッグは行うことができます。

6. [選択]ボタンをクリックして、ビルドを続行します。しばらく時間がかかりますが、リモート先に展開されるとRaspberry Pi でアプリが実行されます。

7. もちろん、ボタンをクリックすれば、実装したコードも動作します。

Windows10のサブセットなので、当たり前と言えばそれまでですが、同じコードで、Android、iOSとIoTデバイスでもアプリが作れると考えると、少し感動します。

まとめ

高機能なIDE開発ツールVisualStudioを使うと、Windows10 IoT Coreで動作するアプリを簡単に開発することができました。

それも、クロスプラットフォーム(AndroidやiOSなど)開発を行うプロジェクトとしてソースコードを共有できるので、スマホからIoTデバイスまでのアプリ開発を1度に行うことができます。

開発自体もC#やC++などの言語が使えるので、過去の資産を流用して、IoTデバイス向けのアプリ開発を短時間で行うことができました。

Windows10 IoT Core向けのアプリ開発に興味がある方への参考になれば幸いです。

次回は、Raspberry Piに実装されているピンを使ってLEDを制御するアプリ開発についてレビューしていきます。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です