研究室の工房(勉強会)向けメモ。

どうもFlashとかArduinoとか、インタフェースのプロトタイピングをちゃっちゃっと作れるのに特化した環境ばっかり整えてる気がするので、C#とかJavaとかC++みたいなOSに近いレベルの開発も研究室内に広めた方がいい気がする。

PSoCやMoxaやProcessingとかが、FlashやArduinoの勉強の次はこれだぜってのもわかるけど、インタフェース技術ばっかり増えてそいつらを連動させられないと意味がないのでVisual C# 2005 Express Edition使って、「糊」のように色んなデバイスとデータ形式とサービスをFlashやArduinoにくっつけたり、「司令塔」のようにそれらの実行手順や連動の条件を記述する方法を後生に残したい。

・C#(糊と司令塔として使いこなせるようにする)

ひとつひとつ重要な機能を解説すると同時に、そこそこ面白いアプリが動いて楽しいねとなるようにする。

とにかく何にでも接続できるようにする。

1.SerialPortクラスを使ってArduinoと連動させよう

  Formへのアイテムの追加、VisualStudioでのEvent登録

2.マウスとキーボードを乗っ取ろう(SendKeysとMouseクラスの使い方)

  たいていのアプリを自動操縦できるようになる。GoogleMapとか

3.AxShockwaveFlashクラスを使ってFlashと連動させよう

  ActiveX Objectの登録と呼び出し方、System.Collections.*の扱い方

4.GPSを使おう

  このblogにある GpsConnector.cs をダウンロードしてきて自分のプロジェクトに取り込む

5.GoogleEarth COM APIで地球を回してみよう

  COMの登録と呼び出し方、GPSと連動

6.Flickr.NETとWebClientでFlickrAPIを使ってみよう

  COMの登録と呼び出し方、HTTPでのアクセス、できればWSDLとかの話も

7.FileSystemWatcher、Timer、BackgroundWorker、ThreadとDelegateの使い方

  マルチスレッドのイベント処理をさばく方法について

8.キーボードイベントを受け取ろう

  hotkey, 低レベルキーボードフックでhack

9.ManagedDirectXでジョイスティックを使う

  ジョイスティックは分解すると楽しい

10.Win32APIを.NET環境から呼び出してみよう(DllInport、WndProc、WindowMessage、MarshalAs)

  スキャナの制御、SkypeのコントロールなどWindowsの事なら何でもできる

その他:

Phidget.NET(RFIDリーダーなど)、テキサスのRFIDリーダ、WindowsMediaPlayerを使う

目標は、合宿でよく4,5人のチームに分かれて新しい技術を開拓してまとめて発表するというのをやるんだけど、そこで文書でまとめるだけじゃなくてラッパークラスを書いて提供するぐらいにみんながなる程度。