13
Silverlight ににににににににににににに にに に

VSUG_LT Silverlight&Arduino

Embed Size (px)

DESCRIPTION

VSUG_LT Silverlight&Arduino

Citation preview

Page 1: VSUG_LT Silverlight&Arduino

Silverlight にマイコンをつないでみよう

蜜葉 優

Page 2: VSUG_LT Silverlight&Arduino

Profile

H.N. :蜜葉 優

本名:泉本 優輝

職種:関西大学総合情報学部 4 回生

Twitter : mitsuba_tan

Blog : 蜜葉の日記

http://d.hatena.ne.jp/c-mitsuba/

Page 3: VSUG_LT Silverlight&Arduino

SL4 の OOB で COM が叩けるようになりました

ね!

Page 4: VSUG_LT Silverlight&Arduino

Windows7 からセンサの API が使えるとか、

センサ・フィジカルが流行ってますね。

Page 5: VSUG_LT Silverlight&Arduino

マイコンを持ってきました

Japanino大人の科学 No27 の付

Page 6: VSUG_LT Silverlight&Arduino

センサー API に対応してないので強引にやってみました。

Page 7: VSUG_LT Silverlight&Arduino

マイコンのコード

単語4つをランダムでシリアル通信で送信するコードを書いています。

void loop() { key = random(4); switch(key%4){ case 0: Serial.println(".net4"); break; case 1: Serial.println("Silverlight"); break; case 2: Serial.println("WPF"); break; case 3: Serial.println("Azure"); break; } key++;}

Page 8: VSUG_LT Silverlight&Arduino

C#

dynamic com; private void button2_Click(object sender, RoutedEventArgs e) { com = AutomationFactory.CreateObject("ActiveXperts.ComPort"); dynamic count = com.GetDeviceCount(); StringBuilder sb = new StringBuilder(); List<dynamic> devices = new List<dynamic>(); for (int i = 1; i <= 9; i++) { devices.Add("COM" + i); } for (int i = 0; i < count; i++) { devices.Add(com.GetDevice(i)); } devicelst.ItemsSource = devices; }

Page 9: VSUG_LT Silverlight&Arduino

Beta 版からの変更点

beta 版からの変更

ComAutomationFactory Class 名前空間: System.Windows.Interop ↓  AutomationFactory Class 名前空間: System.Runtime.InteropServices.Automation

Page 10: VSUG_LT Silverlight&Arduino

マイコンから値取ってくる

private void Storyboard1_Completed(object sender, EventArgs e) { com.Sleep(200); buffer = com.ReadString(); if (buffer == "") { com.Close(); return; }

tb.Dispatcher.BeginInvoke(delegate() { tb.Text += "\r\n" + com.ReadString(); });

Storyboard1.Begin(); }

Page 11: VSUG_LT Silverlight&Arduino

DEMO

Page 12: VSUG_LT Silverlight&Arduino

さいごに

こんな風にセンサー API に対応しなくてもSL で強引にマイコンを扱えます。(めんどいけど。。。

このマイコンにセンサーやスイッチを指せば、センサープログラミングやフィジカルコンピューティングができます

SL は RIA や業務だけじゃなく、メディアアートにも使えそうだね!

Page 13: VSUG_LT Silverlight&Arduino

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