.Net GadgeteerでIoT
-
Upload
yoshitaka-seo -
Category
Technology
-
view
557 -
download
2
description
Transcript of .Net GadgeteerでIoT
![Page 1: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/1.jpg)
.NET Gadgeteer で IoT
瀬尾佳隆 (@seosoft)Microsoft MVP for Visual C#2014/08/23 技術ひろば.net
![Page 2: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/2.jpg)
自己紹介
瀬尾 佳隆 (せお よしたか)MVP for Visual C# (Jan 2009 – Dec 2014)
組み込みと SharePoint / Office 365 が好きAKB48G とディズニーリゾートと劇団四季も好き
ブログやってますhttp://yseosoft.wordpress.com/
![Page 3: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/3.jpg)
アジェンダ
.NET Gadgeteer 開発
.NET Gadgeteer をネットワークに接続する方法
.NET Gadgeteer をクラウドに接続する方法
Project Siena でクライアント開発
「“IoT” とは何か?」については話しません用語自体には深入りしません(最近、バスワードっぽいし)
![Page 4: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/4.jpg)
今日の機材
![Page 5: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/5.jpg)
今日の機材
メインボード
WiFi
温度・気圧センサー LED ディスプレイ
可変抵抗
ボタン
![Page 6: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/6.jpg)
.NET Gadgeteer 開発
![Page 7: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/7.jpg)
.NET Micro Framework とは
http://www.microsoft.com/ja-jp/dev/embedded/default.aspx
![Page 8: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/8.jpg)
.NET Micro Framework とは
マイクロソフトの超小型機器向けファームウェア
.NET Framework のサブセット
Visual Studio で組込み開発できる
![Page 9: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/9.jpg)
.NET Gadgeteer とは
![Page 10: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/10.jpg)
.NET Gadgeteer とは
モジュールを組み合わせて組込み開発を行うプラットフォーム
Visual Studio でビジュアル開発
モジュールのインスタンス化や初期化コードが自動的に生成される
デバイス 1個あたりのコストは高い少数デバイスのソリューションやプロトタイプで利用するべき
簡単に始められるので、評価や自習には非常に有用
![Page 11: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/11.jpg)
デバイスの入手方法
GHI Electronics 社のサイトへどうぞ日本では デバイスドライバーズ社が代理店
https://www.ghielectronics.com/
http://tinyclr.jp/
残念ながら 6月にいくつかのモジュールが製造中止
通販サイトに出回ったモジュールを買うならお早めに
![Page 12: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/12.jpg)
開発環境の入手方法・構築方法
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 は使えないので注意
対応方法を資料の末尾に
![Page 13: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/13.jpg)
基本的な開発の手順
1. VS で新規プロジェクトを作成
2. メインボードとモジュールをデザイナー画面に配置
3. コーディング
4. デザイナー画面通りにデバイスを結線
5. PC とデバイスを USB 接続
6. アプリケーションの配置とデバッグ
![Page 14: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/14.jpg)
.NET Gadgeteer を
ネットワークに接続する方法
![Page 15: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/15.jpg)
無線 LAN への接続
1. デバイスをオープンしてDHCP 有効化
2. アクセスポイントを探す
3. 接続する
![Page 16: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/16.jpg)
WebServer クラス
センサーデータ公開には WebServer クラスが便利1. リクエスト受信時のイベントハンドラーを定義
2. 応答するアドレスとポートとを指定して Webサーバーを起動
![Page 17: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/17.jpg)
WebServer のレスポンス
1. ContentType を指定
2. Byte[] 型の Body を作る
3. Responder.Respond メソッドを呼び出す
![Page 18: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/18.jpg)
.NET Gadgeteer を
クラウドに接続する方法
![Page 19: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/19.jpg)
Azure Mobile Services の利用
Azure Mobile Services 対応のライブラリhttps://github.com/nickharris/
Microsoft.Azure.Zumo.MicroFramework
ZIPファイルをダウンロード
解凍したプロジェクトを.NET Gadgeteer ソリューションに追加
Gadgeteer プロジェクトで参照設定
![Page 20: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/20.jpg)
MobileServiceClient
![Page 21: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/21.jpg)
AppUrl と AppKey
![Page 22: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/22.jpg)
IMobileServiceEntity
IMobileServiceEntity を実装したクラスを定義
![Page 23: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/23.jpg)
AMS にデータ送信
1. データをまとめる
2. GetTable().Insert()メソッドを呼び出す
![Page 24: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/24.jpg)
デバイスの時刻合わせ
![Page 25: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/25.jpg)
AMS に登録したデータ
![Page 26: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/26.jpg)
Project Siena でクライアント開発
![Page 27: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/27.jpg)
Project Siena
![Page 28: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/28.jpg)
Project Siena
Windows 8 アプリ開発用の Windows 8 アプリ
IT Pro がメインターゲットの開発ツールデベロッパーが “サクッと” お手軽ツールを作るのにも使える
Visual Studio の代替/後継ではない
対応しているデータソースが多いのが特長Azure Mobile Services にも対応
![Page 29: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/29.jpg)
Project Siena のデータソース
![Page 30: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/30.jpg)
Sienaで AMS を利用する際の注意点
zz_config という名前のテーブルが必要Key 列と value 列を追加する(型はどちらも string)
key には “table” という固定値
value には Siena から参照したいテーブル名
![Page 31: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/31.jpg)
zz_config の登録例
![Page 32: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/32.jpg)
Siena でデータソースの追加
![Page 33: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/33.jpg)
Siena のデザイン画面
![Page 34: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/34.jpg)
まとめ
![Page 35: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/35.jpg)
まとめ
.NET Gadgeteer ならば簡単に IoT を始められる
簡単なシステムなら WebServer クラスを使ってセンサーデータを公開できる
Azure Mobile Services を使ってクラウド対応Azure.Zumo.MicroFramework を利用
AMS のクライアントとして Project Siena を覚えておくとよい(かも)
![Page 36: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/36.jpg)
参考情報
![Page 37: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/37.jpg)
ファームアップ時の USBバージョン
メインボードのファームウェアのアップデートではUSB 3.0は使えません
対応方法 1PC の BIOS で一時的に USB 2.0にする
対応方法 2USBハブを中継する
比較的安いハブが簡単に入手可能
アプリ転送やデバッグ時は USB 3.0でも問題なし
![Page 38: .Net GadgeteerでIoT](https://reader035.fdocument.pub/reader035/viewer/2022062514/5587c813d8b42a8c598b4599/html5/thumbnails/38.jpg)
ユニバーサルプレートがあると便利
タミヤのユニバーサルプレートがあると便利(通販が確実)
ホームセンターでネジ、ナット、スペーサーを用意する