Download - NET Gadgeteerで組み込み開発の第一歩
![Page 1: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/1.jpg)
.NET Gadgeteer で組み込み開発の第一歩
瀬尾佳隆 (@seosoft) / 技術ひろば.netMicrosoft MVP for Visual C#
Windows女子部 第16回 勉強会2013年6月
![Page 2: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/2.jpg)
自己紹介
瀬尾 佳隆(せお よしたか)
MVP for Visual C# (Jan 2009 – Dec 2013)
実は、組み込みは素人です。すみません
ブログ・・・http://yseosoft.wordpress.com/
Twitter ・・・@seosoft
AKB48 と劇団四季とディズニーリゾートが好き
![Page 3: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/3.jpg)
アジェンダ
組み込み開発の可能性
.NET Gadgeteer のすすめ
.NET Gadgeteer 開発の実際
![Page 4: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/4.jpg)
組み込み開発の可能性
![Page 5: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/5.jpg)
組み込みの市場規模
http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf
組み込み市場
![Page 6: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/6.jpg)
Intelligent Systems ?
http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf
IntelligentSystems
![Page 7: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/7.jpg)
Intelligent Systems !
Source: Microsoft, 2012
http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf
![Page 8: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/8.jpg)
Intelligent Systems
Source: Microsoft, 2012
http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf
この議論は活発組み込みがあってはじめて生態系が完成する!
![Page 9: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/9.jpg)
組み込み開発のすすめ
ならば、組み込みを「かじって」みませんか?
大きな市場=ビジネスチャンス
あらゆるものがクラウドに繋がる時代
人ではなく “場所”に紐付くデバイスが増える
実務で組み込みをやらないとしても知識はプラスになるはず
![Page 10: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/10.jpg)
.NET Gadgeteer のすすめ
組み込み開発のハードルが驚くほど低い
Visual Studio が使えます
インテリセンス
デバッグ機能
C# / VB
.NET で身につけたネットワークとクラウドの知識が役に立ちます
![Page 11: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/11.jpg)
.NET Gadgeteer のすすめ
![Page 12: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/12.jpg)
.NET Micro Framework
MS の組み込み技術の中で最小のファーム
http://www.microsoft.com/ja-jp/dev/embedded/default.aspx
![Page 13: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/13.jpg)
.NET Gadgeteer
Visual Studioのデザイナー画面を使う
組み込みの世界の “Visual Basic的” 発想
直感的な開発
Form にコントロールを置くのと同じ感覚
![Page 14: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/14.jpg)
.NET Gadgeteer が適する場面
プロトタイピング時
開発効率が要求される時
組み込みのノウハウが少ない時
1個~数個程度のデバイスが必要な時
趣味や楽しみとして
![Page 15: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/15.jpg)
.NET Gadgeteer 開発の実際
![Page 16: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/16.jpg)
組み込みの基本的な考え方
※基本的にコンピューターは全て同じですけどね
入力値の取得
値の変化に応じて
出力する
繰り返し
センサーモジュール
ディスプレイ /SD カード /ネットワーク
![Page 17: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/17.jpg)
入力値の取得
モジュール側から変化を教えてくれるか、自分からデータをもらいに行くか
モジュールから変化を教えてくれる
データをもらいに行く
![Page 18: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/18.jpg)
入力値の取得
イベントハンドラ / Thread / Timer を使いこなすのがポイント
モジュールから変化を教えてくれる
データをもらいに行く
イベントハンドラ
Thread.Start とwhile (true)
Timer.Tick
![Page 19: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/19.jpg)
お待たせしました!
そろそろデモを見たい頃ですよね
プログラミングのスタートは “Hello, World”
組み込みのスタートは “L チカ”
LED
![Page 20: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/20.jpg)
初めての組み込み開発
LED
![Page 21: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/21.jpg)
“タイマー” で L チカ
![Page 22: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/22.jpg)
“スレッドでポーリング” で L チカ
![Page 23: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/23.jpg)
“イベントハンドラー” で L チカ
ボタン
![Page 24: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/24.jpg)
センサーデバイスの入力値取得(1)
照度センサー
![Page 25: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/25.jpg)
センサーから値を取得する
センサーデバイスの第一歩
照度センサーを使って“暗くなったらライトを付ける”
ディスプレイ
照度センサー
ボリューム(感度調節)
LED(ライト)
![Page 26: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/26.jpg)
照度センサーの値 / ボリュームの値
![Page 27: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/27.jpg)
センサーデバイスの入力値取得(2)
深度センサー/カメラ
![Page 28: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/28.jpg)
センサーから値を取得する(2)
深度センサーで接近をチェック
誰か(何か)が近づいたらカメラで撮影
深度センサー
CCD カメラ
LCD
![Page 29: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/29.jpg)
深度センサーの値 / カメラ撮影
![Page 30: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/30.jpg)
ネットワーク接続
イーサネット
![Page 31: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/31.jpg)
ネットワーク接続
環境センサーで気温・気圧をチェック
Web サーバーでセンサー値を返す
環境センサー
LED
ディスプレイ
![Page 32: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/32.jpg)
環境センサーの値
![Page 33: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/33.jpg)
Web サーバー
![Page 34: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/34.jpg)
イーサネットモジュールの初期化
![Page 35: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/35.jpg)
まとめ
![Page 36: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/36.jpg)
NETMF / Gadgeteer のすすめ
あらゆるものがクラウドに繋がる時代
スマホより “シンプルな”デバイスが必要
人ではなく “場所” に紐付くデバイスが増える
.NET Micro Framework なら組み込みも簡単
Gadgeteerならもっと簡単
![Page 37: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/37.jpg)
その先を目指すなら
デバイス個数が多ければハード設計も
高いリアルタイム性(1ms 未満程度)が必要ならば C 言語なども検討ハードルは高いです
開発環境も貧弱
ネットワーク/クラウドの知識は必要
![Page 38: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/38.jpg)
参考
![Page 39: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/39.jpg)
開発環境
Visual Studio 2012 or 2010
Express Edition でも OK
SDK / Package
FEZ シリーズの場合
http://www.ghielectronics.com/support/dotnet-micro-framework
![Page 40: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/40.jpg)
デバイスの購入
FEZ シリーズ (.NET Gadgeteer)
http://www.ghielectronics.com/
http://tinyclr.jp/
他にも・・・
The Mountaineer Group
http://www.mountaineer.org/
Love Electronics
http://www.loveelectronics.co.uk/
![Page 41: NET Gadgeteerで組み込み開発の第一歩](https://reader033.vdocuments.pub/reader033/viewer/2022060123/55974f8f1a28abd9018b47e2/html5/thumbnails/41.jpg)
情報源
GHI Electronics Support Page https://www.ghielectronics.com/support/.net-micro-framework SDK, パッケージのダウンロード
NETMF & Gadgeteer Tutorial https://www.ghielectronics.com/docs/37/netmf-and-gadgeteer-
tutorial-index
デバイスと IT の架け橋 (MS 太田さんブログ) http://blogs.msdn.com/b/hirosho/archive/tags/-
net+micro+framework/
技術との戯れ (瀬尾のブログ) http://yseosoft.wordpress.com/pages/netmf/