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

433 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
433
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. .NET Micro Framework をさわってみて .NET Micro Frameworkキックオフミーティング
  2. 2. Myself 森理 麟(@moririring) 職業:ゲームプログラマ HP : moririringのHP 自称ハッカソンエバンジェリ スト Microsoft MVP for C# 2
  3. 3. My Community VSハッカソン倶楽部 EffectiveC++読書会(終了) ExcptionalC++読書会 社内勉強会勉強会 Unityクリエイターズ Visual Studio勉強会 IT英語勉強会 3
  4. 4. AStart 林田さんから基盤を用意する ので、.NET Micro Frameworkを 使った勉強会をしませんか? とお誘いを受けました。 実は最初、森理は組み込みに は興味がなくてそれほど乗り 気ではありませんでした。 4
  5. 5. Goal 実際に資料をみせてもらいVS 上に基盤が乗っているのを見 て、突如興味がわきました。 そしてCreberusをお借り出来 たので、さわってみました。 基盤をさわったのも初めてで す。で、感想としては… 5
  6. 6. .NET Micro Frameworkを さわった感想 超簡単! 6
  7. 7. Goal 今日の内容の殆どは土井研の ページに書いてあります。 内容は殆どこのページに書い てあることを実践しただけで す。30分かからないぐらいで、 実現出来ると思います。 7
  8. 8. 事前準備 Visual StudioでCreberusを扱う 際は事前準備として以下の2 つをインストールしておく 8
  9. 9. 事前準備 .NET Micro Framework SDK 4.3 (RTM)←2012にも対応! インストールすると「新規作 成」→「プロジェクト」に Micro Framworkが追加される。 実行するとエミュレータが起 動するけれど、使い方はノー チェック。 9
  10. 10. Goal GHI Software Package v4.2 今回の基盤Creberus用のSDK ダウンロードにはユーザー登 録が必要 インストールすると「新規作 成」→「プロジェクト」に Gadgeteerが追加される。 10
  11. 11. Goal Creberusのプロジェクトを起 動すると、ソリューションエ クスプローラーに Program.gadateerというビュー が足されます。実際見てみま しょう! 11
  12. 12. Goal このビューが何と基盤! さらにツールボックスで関連 ボードを追加可能!! 配線のつながりはドラッグア ンドドロップ!!! 基盤に書かれた名前がそのま ま変数名!!!! 12
  13. 13. Goal 実際のプログラム ProgramStartedメソッドで開 始。 Debug.Print(“Hello,world!"); 13
  14. 14. Goal プログラムで言う 「 Hello,world 」は、基盤界の ではLEDを光らすことです。 光らすメソッドは 「 Mainboard.SetDebugLED(tru e); 」 14
  15. 15. void ProgramStarted() { while (true) { Mainboard.SetDebugLED(true); Thread.Sleep(500); Mainboard.SetDebugLED(false); Thread.Sleep(500); } } 15
  16. 16. Goal 次に拡張基盤のLEDを光らせ ます。ドラッグアンドドロッ プでつなぐことができます! 16
  17. 17. void ProgramStarted() { while (true) { for (var i = 1; i <= 6; i++) { led7r.TurnLightOn(i); Thread.Sleep(100); led7r.TurnLightOff(i); } } } 17
  18. 18. Goal 今度はジョイスティックの値 をとってみます。 18
  19. 19. void ProgramStarted() { var myPosition = new Joystick.Position(); while (true) { myPosition = joystick.GetJoystickPosition(); Debug.Print("x=" + myPosition.X + "y=" + myPosition.Y); Thread.Sleep(1000); } } 19
  20. 20. Goal ジョイスティックが押された かはイベントが使えます。 20
  21. 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"); } 21
  22. 22. Goal また次のようにタイマー処理 も可能です。 22
  23. 23. void ProgramStarted() { var timer = new GT.Timer(1000); timer.Tick += timer_Tick; timer.Start(); } void timer_Tick(GT.Timer timer) { Debug.Print("tick"); } 23
  24. 24. Goal 今後は温度と湿度を取ってみ ます。 24
  25. 25. void ProgramStarted() { temperatureHumidity.MeasurementComplete += temperatureHumidity_MeasurementComplete; temperatureHumidity.StartContinuousMeasurements(); } void temperatureHumidity_MeasurementComplete(TemperatureHumid ity sender, double temperature, double relativeHumidity) { Debug.Print("Temperature: " + temperature + " Relative Humidity: " + relativeHumidity); } 25
  26. 26. Goal 最後にLANを使ってhttpアクセ スを試してみます。 これは流石に数行とは行きま せん。 でも、これでWEBを使った表 現も可能なことは分かったと 思います。 可能性は∞! 26
  27. 27. Goal データの書き込みに組み込み 系でよく使われるWEBサイト nxivelyがあります PachubeからCosmになって最 近xivelyになったそうです。 使ってみると確かに手軽です。 27
  28. 28. Thank you for hearing ご清聴ありがとうございまし た 28

×