net micro frameworkキックオフミーティング

28
.NET Micro Framework をををををを .NET Micro Framework ををををををををををを

Upload: -

Post on 28-May-2015

286 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Net micro frameworkキックオフミーティング

.NET Micro Framework をさわってみて.NET Micro Framework キックオフミーティング

Page 2: Net micro frameworkキックオフミーティング

2

Myself

森理 麟 (@moririring)職業:ゲームプログラマHP : moririringのHP自称ハッカソンエバンジェリストMicrosoft MVP for C#

Page 4: Net micro frameworkキックオフミーティング

4

A Start

林田さんから基盤を用意するので、 .NET Micro Framework を使った勉強会をしませんか?とお誘いを受けました。実は最初、森理は組み込みには興味がなくてそれほど乗り気ではありませんでした。

MatsuiBin
Page 5: Net micro frameworkキックオフミーティング

5

Goal

実際に資料をみせてもらい VS上に基盤が乗っているのを見て、突如興味がわきました。そして Creberus をお借り出来たので、さわってみました。基盤をさわったのも初めてです。で、感想としては…

MatsuiBin
Page 6: Net micro frameworkキックオフミーティング

6

.NET Micro Frameworkをさわった感想

超簡単!

MatsuiBin
Page 7: Net micro frameworkキックオフミーティング

7

Goal

今日の内容の殆どは土井研のページに書いてあります。内容は殆どこのページに書いてあることを実践しただけです。 30 分かからないぐらいで、実現出来ると思います。

MatsuiBin
Page 8: Net micro frameworkキックオフミーティング

8

事前準備

Visual Studio で Creberusを扱う際は事前準備として以下の2つをインストールしておく

MatsuiBin
Page 9: Net micro frameworkキックオフミーティング

9

事前準備

.NET Micro Framework SDK 4.3 (RTM)←2012 にも対応!インストールすると「新規作成」→「プロジェクト」にMicro Framwork が追加される。実行するとエミュレータが起動するけれど、使い方はノーチェック。

MatsuiBin
Page 10: Net micro frameworkキックオフミーティング

10

Goal

GHI Software Package v4.2今回の基盤 Creberus 用のSDKダウンロードにはユーザー登録が必要インストールすると「新規作成」→「プロジェクト」にGadgeteer が追加される。

MatsuiBin
Page 11: Net micro frameworkキックオフミーティング

11

Goal

Creberus のプロジェクトを起動すると、ソリューションエクスプローラーにProgram.gadateer というビューが足されます。実際見てみましょう!

MatsuiBin
Page 12: Net micro frameworkキックオフミーティング

12

Goal

このビューが何と基盤!さらにツールボックスで関連ボードを追加可能!!配線のつながりはドラッグアンドドロップ!!!基盤に書かれた名前がそのまま変数名!!!!

MatsuiBin
Page 13: Net micro frameworkキックオフミーティング

13

Goal

実際のプログラムProgramStarted メソッドで開始。Debug.Print(“Hello,world!");

MatsuiBin
Page 14: Net micro frameworkキックオフミーティング

14

Goal

プログラムで言う「 Hello,world 」は、基盤界のでは LED を光らすことです。光らすメソッドは「 Mainboard.SetDebugLED(true); 」

MatsuiBin
Page 15: Net micro frameworkキックオフミーティング

15

void ProgramStarted()

{

while (true)

{

Mainboard.SetDebugLED(true);

Thread.Sleep(500);

Mainboard.SetDebugLED(false);

Thread.Sleep(500);

}

}

Page 16: Net micro frameworkキックオフミーティング

16

Goal

次に拡張基盤の LED を光らせます。ドラッグアンドドロップでつなぐことができます!

MatsuiBin
Page 17: Net micro frameworkキックオフミーティング

17

void ProgramStarted()

{

while (true)

{

for (var i = 1; i <= 6; i++)

{

led7r.TurnLightOn(i);

Thread.Sleep(100);

led7r.TurnLightOff(i);

}

}

}

Page 18: Net micro frameworkキックオフミーティング

18

Goal

今度はジョイスティックの値をとってみます。

MatsuiBin
Page 19: Net micro frameworkキックオフミーティング

19

void ProgramStarted()

{

var myPosition = new Joystick.Position();

while (true)

{

myPosition = joystick.GetJoystickPosition();

Debug.Print("x=" + myPosition.X + "y=" + myPosition.Y);

Thread.Sleep(1000);

}

}

Page 20: Net micro frameworkキックオフミーティング

20

Goal

ジョイスティックが押されたかはイベントが使えます。

MatsuiBin
Page 21: Net micro frameworkキックオフミーティング

21

int _n;

void ProgramStarted()

{

joystick.JoystickPressed += joystick_JoystickPressed;

joystick.JoystickReleased += joystick_JoystickReleased;

}

void joystick_JoystickPressed(Joystick sender, Joystick.JoystickState state)

{

_n++;

Debug.Print("press " + _n);

}

void joystick_JoystickReleased(Joystick sender, Joystick.JoystickState state)

{

Debug.Print("release");

}

Page 22: Net micro frameworkキックオフミーティング

22

Goal

また次のようにタイマー処理も可能です。

MatsuiBin
Page 23: Net micro frameworkキックオフミーティング

23

void ProgramStarted()

{

var timer = new GT.Timer(1000);

timer.Tick += timer_Tick;

timer.Start();

}

void timer_Tick(GT.Timer timer)

{

Debug.Print("tick");

}

Page 24: Net micro frameworkキックオフミーティング

24

Goal

今後は温度と湿度を取ってみます。

MatsuiBin
Page 25: Net micro frameworkキックオフミーティング

25

void ProgramStarted()

{

temperatureHumidity.MeasurementComplete += temperatureHumidity_MeasurementComplete;

temperatureHumidity.StartContinuousMeasurements();

}

void temperatureHumidity_MeasurementComplete(TemperatureHumidity sender, double temperature, double relativeHumidity)

{

Debug.Print("Temperature: " + temperature + " Relative Humidity: " + relativeHumidity);

}

Page 26: Net micro frameworkキックオフミーティング

26

Goal

最後に LAN を使って http アクセスを試してみます。これは流石に数行とは行きません。でも、これで WEB を使った表現も可能なことは分かったと思います。可能性は∞!

MatsuiBin
Page 27: Net micro frameworkキックオフミーティング

27

Goal

データの書き込みに組み込み系でよく使われる WEB サイトn xivelyがありますPachube から Cosm になって最近 xively になったそうです。使ってみると確かに手軽です。

MatsuiBin
Page 28: Net micro frameworkキックオフミーティング

28

Thank you for hearing

ご清聴ありがとうございました

MatsuiBin