特集
» 2011年11月08日 11時05分 公開

.NET Micro FrameworkデバイスとWindows Phoneをつなぐ!!特集・.NET Micro Frameworkのネットワーク機能(2/2 ページ)

[太田 寛,@IT MONOist]
前のページへ 1|2       

 次に、.NET Micro Frameworkプロジェクトを作成したときに、自動生成された「Program.cs」の「OnButtonUp」メソッドに、リスト2のコード(太字)を追加します。


「OnButtonUp」メソッド リスト2 「OnButtonUp」メソッド ※太文字は追加部分

 これで、コーディングは終了です。Emulatorを使ってロジックを確認します。

 まず、Windows Phone側のアプリケーションを[F5]キーで実行しておきます。

 次に、.NET Micro Framework側のアプリケーションを、[F5]キーでデバッグ実行し、起動したEmulatorのボタンをどれかクリックすると、「OnButtonUp」がコールされ、「MulticastSocketClient」インスタンス作成とMulticast Groupへの送信が行われ、Windows Phone側のアプリケーションに.NET Micro Framework側から送られたメッセージが表示されます。

Emulatorを使ってロジックを確認 図4 Emulatorを使ってロジックを確認

 例えば、このコードの「client.SendMessage(……)」の直下に、リスト3のようにコード(太字)を追加し、

「client.SendMessage(……)」の直下にタイマーを用意 リスト3 「client.SendMessage(……)」の直下にタイマーを用意 ※太文字は追加部分

「Program」クラスに、リスト4のメソッドを追加します。

「Program」クラスに「TimerUpdate()」を追加 リスト4 「Program」クラスに「TimerUpdate()」を追加

 「GetTemperature()」メソッド内で、.NET Micro Frameworkデバイスに装備された温度センサーデバイスからの情報を取得してやれば、Multicast GroupにJoinしているWindows Phone端末を含む全てのデバイスに温度情報が送信されます。

 ネットワーク通信では、セキュリティに関する注意が欠かせません。温度情報程度であれば特に問題ないかもしれませんが、プライバシーに関わる情報をそのままネットワーク上に流すのは大問題です。最新の「.NET Micro Framework 4.2」には各種暗号化アルゴリズムが用意されているので、データの暗号化処理をいれるのがよいでしょう(参考記事)。




まとめ

 以上、UDP Multicast Groupを用いた、.NET Micro FrameworkデバイスとWindows Phoneとの連携でした。実際のデバイスで試してみたい場合は、以下の表1を参考にしてみてください。

.NET Micro Framework関連デバイス Wi-Fiドングル Windows Phone端末
FEZCobra 
Netduino
XBee Wi-Fi開発キット au IS12T
表1 実際のデバイスで試してみたい場合の環境

 また、.NET Micro Frameworkを搭載した実デバイスへの温度センサーの実装方法やそのロジックは、Webサイト「TinyCLR.jp」で紹介されているのでそちらを参考にしてください。

 表1で紹介しているWi-Fiドングルの提供元である、ディジ インターナショナルは、現在「“今日から使える”アプリコンテスト」を実施中です。本稿で紹介した、.NET Micro FrameworkデバイスとWindows Phoneの連携アプリケーションも応募対象に含まれるので、興味のある方はぜひチャレンジしてみてください。さらに、Windows Phone側のユーザーインタフェースの作り方や各種技術情報は、「開発者情報番組『UX-TV』」で公開されているので参照してみてください。

 今回解説したUDP Multicast Group通信は、Windows Phone以外のさまざまなスマートフォン向けプラットフォームでも実装可能です。他のプラットフォームの実装と比較してみるのも勉強になってよいでしょう。

 最後に、本稿で解説した内容の詳細を筆者のブログでも公開しているので、併せてご覧ください!

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.