Upload
yoshitaka-seo
View
558
Download
2
Embed Size (px)
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でも問題なし
ユニバーサルプレートがあると便利
タミヤのユニバーサルプレートがあると便利(通販が確実)
ホームセンターでネジ、ナット、スペーサーを用意する