Net GadgeteerでIoT

Preview:

DESCRIPTION

「今どきの入出力を考える会(初心者歓迎)~ 技術ひろば.net 2014年8月 」(2014年8月23日開催) セッション資料

Citation preview

.NET Gadgeteer で IoT

瀬尾佳隆 (@seosoft)Microsoft MVP for Visual C#2014/08/23 技術ひろば.net

自己紹介

瀬尾 佳隆 (せお よしたか)MVP for Visual C# (Jan 2009 – Dec 2014)

組み込みと SharePoint / Office 365 が好きAKB48G とディズニーリゾートと劇団四季も好き

ブログやってますhttp://yseosoft.wordpress.com/

アジェンダ

.NET Gadgeteer 開発

.NET Gadgeteer をネットワークに接続する方法

.NET Gadgeteer をクラウドに接続する方法

Project Siena でクライアント開発

「“IoT” とは何か?」については話しません用語自体には深入りしません(最近、バスワードっぽいし)

今日の機材

今日の機材

メインボード

WiFi

温度・気圧センサー LED ディスプレイ

可変抵抗

ボタン

.NET Gadgeteer 開発

.NET Micro Framework とは

http://www.microsoft.com/ja-jp/dev/embedded/default.aspx

.NET Micro Framework とは

マイクロソフトの超小型機器向けファームウェア

.NET Framework のサブセット

Visual Studio で組込み開発できる

.NET Gadgeteer とは

.NET Gadgeteer とは

モジュールを組み合わせて組込み開発を行うプラットフォーム

Visual Studio でビジュアル開発

モジュールのインスタンス化や初期化コードが自動的に生成される

デバイス 1個あたりのコストは高い少数デバイスのソリューションやプロトタイプで利用するべき

簡単に始められるので、評価や自習には非常に有用

デバイスの入手方法

GHI Electronics 社のサイトへどうぞ日本では デバイスドライバーズ社が代理店

https://www.ghielectronics.com/

http://tinyclr.jp/

残念ながら 6月にいくつかのモジュールが製造中止

通販サイトに出回ったモジュールを買うならお早めに

開発環境の入手方法・構築方法

GHI Electronics のサイトで以下をダウンロードhttps://www.ghielectronics.com/support/netmf

Visual Studio 2012 (2013 ではない)VS2013と共存可能

Express Edition 利用可能

NETMF and Gadgeteer Package最新のバージョンは 2014 R2

ダウンロードするには GHI に無償のユーザー登録が必要

ファームのアップデートには USB 3.0 は使えないので注意

対応方法を資料の末尾に

基本的な開発の手順

1. VS で新規プロジェクトを作成

2. メインボードとモジュールをデザイナー画面に配置

3. コーディング

4. デザイナー画面通りにデバイスを結線

5. PC とデバイスを USB 接続

6. アプリケーションの配置とデバッグ

.NET Gadgeteer を

ネットワークに接続する方法

無線 LAN への接続

1. デバイスをオープンしてDHCP 有効化

2. アクセスポイントを探す

3. 接続する

WebServer クラス

センサーデータ公開には WebServer クラスが便利1. リクエスト受信時のイベントハンドラーを定義

2. 応答するアドレスとポートとを指定して Webサーバーを起動

WebServer のレスポンス

1. ContentType を指定

2. Byte[] 型の Body を作る

3. Responder.Respond メソッドを呼び出す

.NET Gadgeteer を

クラウドに接続する方法

Azure Mobile Services の利用

Azure Mobile Services 対応のライブラリhttps://github.com/nickharris/

Microsoft.Azure.Zumo.MicroFramework

ZIPファイルをダウンロード

解凍したプロジェクトを.NET Gadgeteer ソリューションに追加

Gadgeteer プロジェクトで参照設定

MobileServiceClient

AppUrl と AppKey

IMobileServiceEntity

IMobileServiceEntity を実装したクラスを定義

AMS にデータ送信

1. データをまとめる

2. GetTable().Insert()メソッドを呼び出す

デバイスの時刻合わせ

AMS に登録したデータ

Project Siena でクライアント開発

Project Siena

Project Siena

Windows 8 アプリ開発用の Windows 8 アプリ

IT Pro がメインターゲットの開発ツールデベロッパーが “サクッと” お手軽ツールを作るのにも使える

Visual Studio の代替/後継ではない

対応しているデータソースが多いのが特長Azure Mobile Services にも対応

Project Siena のデータソース

Sienaで AMS を利用する際の注意点

zz_config という名前のテーブルが必要Key 列と value 列を追加する(型はどちらも string)

key には “table” という固定値

value には Siena から参照したいテーブル名

zz_config の登録例

Siena でデータソースの追加

Siena のデザイン画面

まとめ

まとめ

.NET Gadgeteer ならば簡単に IoT を始められる

簡単なシステムなら WebServer クラスを使ってセンサーデータを公開できる

Azure Mobile Services を使ってクラウド対応Azure.Zumo.MicroFramework を利用

AMS のクライアントとして Project Siena を覚えておくとよい(かも)

参考情報

ファームアップ時の USBバージョン

メインボードのファームウェアのアップデートではUSB 3.0は使えません

対応方法 1PC の BIOS で一時的に USB 2.0にする

対応方法 2USBハブを中継する

比較的安いハブが簡単に入手可能

アプリ転送やデバッグ時は USB 3.0でも問題なし

ユニバーサルプレートがあると便利

タミヤのユニバーサルプレートがあると便利(通販が確実)

ホームセンターでネジ、ナット、スペーサーを用意する

Recommended