41
.NET Gadgeteer 組み込み開発の第一歩 瀬尾佳隆 (@seosoft) / 技術ひろば.net Microsoft MVP for Visual C# Windows女子部 16勉強会 20136

NET Gadgeteerで組み込み開発の第一歩

Embed Size (px)

DESCRIPTION

Windows女子部 第16回 勉強会 (2013年6月19日(水) 開催) セッション資料

Citation preview

Page 1: NET Gadgeteerで組み込み開発の第一歩

.NET Gadgeteer で組み込み開発の第一歩

瀬尾佳隆 (@seosoft) / 技術ひろば.netMicrosoft MVP for Visual C#

Windows女子部 第16回 勉強会2013年6月

Page 2: NET Gadgeteerで組み込み開発の第一歩

自己紹介

瀬尾 佳隆(せお よしたか)

MVP for Visual C# (Jan 2009 – Dec 2013)

実は、組み込みは素人です。すみません

ブログ・・・http://yseosoft.wordpress.com/

Twitter ・・・@seosoft

AKB48 と劇団四季とディズニーリゾートが好き

Page 3: NET Gadgeteerで組み込み開発の第一歩

アジェンダ

組み込み開発の可能性

.NET Gadgeteer のすすめ

.NET Gadgeteer 開発の実際

Page 4: NET Gadgeteerで組み込み開発の第一歩

組み込み開発の可能性

Page 5: NET Gadgeteerで組み込み開発の第一歩

組み込みの市場規模

http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf

組み込み市場

Page 6: NET Gadgeteerで組み込み開発の第一歩

Intelligent Systems ?

http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf

IntelligentSystems

Page 7: NET Gadgeteerで組み込み開発の第一歩

Intelligent Systems !

Source: Microsoft, 2012

http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf

Page 8: NET Gadgeteerで組み込み開発の第一歩

Intelligent Systems

Source: Microsoft, 2012

http://idc.cycloneinteractive.net/microsoft-intelligent-systems-iview/Final-iView-content_Intelligent_Systems.pdf

この議論は活発組み込みがあってはじめて生態系が完成する!

Page 9: NET Gadgeteerで組み込み開発の第一歩

組み込み開発のすすめ

ならば、組み込みを「かじって」みませんか?

大きな市場=ビジネスチャンス

あらゆるものがクラウドに繋がる時代

人ではなく “場所”に紐付くデバイスが増える

実務で組み込みをやらないとしても知識はプラスになるはず

Page 10: NET Gadgeteerで組み込み開発の第一歩

.NET Gadgeteer のすすめ

組み込み開発のハードルが驚くほど低い

Visual Studio が使えます

インテリセンス

デバッグ機能

C# / VB

.NET で身につけたネットワークとクラウドの知識が役に立ちます

Page 11: NET Gadgeteerで組み込み開発の第一歩

.NET Gadgeteer のすすめ

Page 12: NET Gadgeteerで組み込み開発の第一歩

.NET Micro Framework

MS の組み込み技術の中で最小のファーム

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

Page 13: NET Gadgeteerで組み込み開発の第一歩

.NET Gadgeteer

Visual Studioのデザイナー画面を使う

組み込みの世界の “Visual Basic的” 発想

直感的な開発

Form にコントロールを置くのと同じ感覚

Page 14: NET Gadgeteerで組み込み開発の第一歩

.NET Gadgeteer が適する場面

プロトタイピング時

開発効率が要求される時

組み込みのノウハウが少ない時

1個~数個程度のデバイスが必要な時

趣味や楽しみとして

Page 15: NET Gadgeteerで組み込み開発の第一歩

.NET Gadgeteer 開発の実際

Page 16: NET Gadgeteerで組み込み開発の第一歩

組み込みの基本的な考え方

※基本的にコンピューターは全て同じですけどね

入力値の取得

値の変化に応じて

出力する

繰り返し

センサーモジュール

ディスプレイ /SD カード /ネットワーク

Page 17: NET Gadgeteerで組み込み開発の第一歩

入力値の取得

モジュール側から変化を教えてくれるか、自分からデータをもらいに行くか

モジュールから変化を教えてくれる

データをもらいに行く

Page 18: NET Gadgeteerで組み込み開発の第一歩

入力値の取得

イベントハンドラ / Thread / Timer を使いこなすのがポイント

モジュールから変化を教えてくれる

データをもらいに行く

イベントハンドラ

Thread.Start とwhile (true)

Timer.Tick

Page 19: NET Gadgeteerで組み込み開発の第一歩

お待たせしました!

そろそろデモを見たい頃ですよね

プログラミングのスタートは “Hello, World”

組み込みのスタートは “L チカ”

LED

Page 20: NET Gadgeteerで組み込み開発の第一歩

初めての組み込み開発

LED

Page 21: NET Gadgeteerで組み込み開発の第一歩

“タイマー” で L チカ

Page 22: NET Gadgeteerで組み込み開発の第一歩

“スレッドでポーリング” で L チカ

Page 23: NET Gadgeteerで組み込み開発の第一歩

“イベントハンドラー” で L チカ

ボタン

Page 24: NET Gadgeteerで組み込み開発の第一歩

センサーデバイスの入力値取得(1)

照度センサー

Page 25: NET Gadgeteerで組み込み開発の第一歩

センサーから値を取得する

センサーデバイスの第一歩

照度センサーを使って“暗くなったらライトを付ける”

ディスプレイ

照度センサー

ボリューム(感度調節)

LED(ライト)

Page 26: NET Gadgeteerで組み込み開発の第一歩

照度センサーの値 / ボリュームの値

Page 27: NET Gadgeteerで組み込み開発の第一歩

センサーデバイスの入力値取得(2)

深度センサー/カメラ

Page 28: NET Gadgeteerで組み込み開発の第一歩

センサーから値を取得する(2)

深度センサーで接近をチェック

誰か(何か)が近づいたらカメラで撮影

深度センサー

CCD カメラ

LCD

Page 29: NET Gadgeteerで組み込み開発の第一歩

深度センサーの値 / カメラ撮影

Page 30: NET Gadgeteerで組み込み開発の第一歩

ネットワーク接続

イーサネット

Page 31: NET Gadgeteerで組み込み開発の第一歩

ネットワーク接続

環境センサーで気温・気圧をチェック

Web サーバーでセンサー値を返す

環境センサー

LED

ディスプレイ

Page 32: NET Gadgeteerで組み込み開発の第一歩

環境センサーの値

Page 33: NET Gadgeteerで組み込み開発の第一歩

Web サーバー

Page 34: NET Gadgeteerで組み込み開発の第一歩

イーサネットモジュールの初期化

Page 35: NET Gadgeteerで組み込み開発の第一歩

まとめ

Page 36: NET Gadgeteerで組み込み開発の第一歩

NETMF / Gadgeteer のすすめ

あらゆるものがクラウドに繋がる時代

スマホより “シンプルな”デバイスが必要

人ではなく “場所” に紐付くデバイスが増える

.NET Micro Framework なら組み込みも簡単

Gadgeteerならもっと簡単

Page 37: NET Gadgeteerで組み込み開発の第一歩

その先を目指すなら

デバイス個数が多ければハード設計も

高いリアルタイム性(1ms 未満程度)が必要ならば C 言語なども検討ハードルは高いです

開発環境も貧弱

ネットワーク/クラウドの知識は必要

Page 38: NET Gadgeteerで組み込み開発の第一歩

参考

Page 39: NET Gadgeteerで組み込み開発の第一歩

開発環境

Visual Studio 2012 or 2010

Express Edition でも OK

SDK / Package

FEZ シリーズの場合

http://www.ghielectronics.com/support/dotnet-micro-framework

Page 40: NET Gadgeteerで組み込み開発の第一歩

デバイスの購入

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で組み込み開発の第一歩

情報源

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/