vsug_lt silverlight&arduino

Post on 28-May-2015

713 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

VSUG_LT Silverlight&Arduino

TRANSCRIPT

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

蜜葉 優

Profile

H.N. :蜜葉 優

本名:泉本 優輝

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

Twitter : mitsuba_tan

Blog : 蜜葉の日記

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

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

ね!

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

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

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

Japanino大人の科学 No27 の付

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

マイコンのコード

単語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++;}

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; }

Beta 版からの変更点

beta 版からの変更

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

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

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(); }

DEMO

さいごに

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

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

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

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

top related