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

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

Jul 04, 2015

Download

Technology

Yoshitaka Seo

Windows女子部 第16回 勉強会 (2013年6月19日(水) 開催)
セッション資料
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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/