▼Gainerメモ▼
はじめてのGainerプログラミング - C#版 -
アプリケーションのボタンを押すことで、I/OモジュールのLEDが点灯するプログラムを作成する。
開発ツールの準備
Visual C# 2008 Express Edition
C#でWindowsアプリケーションを作成するための統合開発環境。無償で利用可能。
ダウンロードしてインストール。
Gainerソフトウェアライブラリ
Gainerをパソコンから制御するためのライブラリおよびツール郡。
「Flash」「Max/MSP」「Processing」に対応。
C#ラッパーはFlashのライブラリをラップしているので、
「ソフトウェア・ライブラリ」の「Flash」をダウンロードしてインストール。
フォルダ構成は次の通り。C#による開発では「gsp」のみ利用する。
fla gainer ライブラリ examples サンプル workshop サンプル readme.txt 説明ファイル reference_jp.txt リファレンス serial_proxy win gsp本体と設定ファイル mac gsp本体と設定ファイル readme.txt 説明ファイル code gspのソースコード actoinscript3 - ActionScript3用コード
Gainer .Netラッパー
C#やVisual Basicなどの.Netのプログラミング言語からGainerを制御するためのライブラリ。
ダウンロードして解凍し、任意のフォルダに配置。
プログラムの作成
プロジェクトの作成※Gainerクラスをうまく認識しない時は、Gainer.dllを一度削除して再度追加するとよい。
- Visual C#を起動。
- メニュー「ファイル→新しいプロジェクト」「Windowsフォームアプリケーション」を選択し、「HelloWorld」という名前でプロジェクトを作成。
- ソリューションエクスプローラで「Form1.cs」の名前を「HelloForm.cs」に変更。
- メニュー「ファイル→すべてを保存」でプロジェクトを保存。
- 「HelloWorld\HelloWorld\bin\Debug」フォルダと「HelloWorld\HelloWorld\bin\Release」フォルダに、Gainer .Netラッパー内の4つのファイルをコピー。
- Gainer.dll
- AxInterop.ShockwaveFlashObjects.dll
- Interop.ShockwaveFlashObjects.dll
- GainerFlash.swf
- ソリューションエクスプローラの参照設定を右クリックし、参照の追加を選択し、参照からGainer .NetラッパーのGainer.dllを追加。
- Gainer.dll
デザインの編集
Formコンポーネント「HelloForm」
プロパティ (Name) HelloForm Text HelloWorld イベント Load HelloForm_Load()
Buttonコンポーネント「btnLED」
プロパティ (Name) btnLED Enabled false Location 110,120 Text LED イベント MouseDown HelloForm_MouseDown() MouswUp HelloForm_MouseUp()
ソースコードの記述
「HelloForm.cs」を次のように記述する。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace HelloWorld { public partial class HelloForm : Form { private Gainer gio; //コンストラクタ public HelloForm() { InitializeComponent(); } //ロード時の初期化 private void HelloForm_Load(object sender, EventArgs e) { gio=new Gainer("localhost",2000,Gainer.MODE1,true); gio.onReady+=onReady; } //gspとの接続成功時に発生 private void onReady() { btnLED.Enabled=true; btnLED.Enabled=true; } //マウスダウンのイベント処理 private void btnLED_MouseDown(object sender, MouseEventArgs e) { gio.turnOnLED(); } //マウスアップのイベント処理 private void btnLED_MouseUp(object sender, MouseEventArgs e) { gio.turnOffLED(); } } }
実行ファイルの生成
Visual C#のメニュー「ビルド→ソリューションのリビルド」で実行ファイルを生成。
プログラムの実行
プログラムの実行
Flash用のGainerソフトウェアライブラリはFlashが直接シリアル通信できないので、「gsp(serial_proxy)」と呼ばれるプロクシサーバを介して、パソコンからGainerを操作する仕組みになっている。そのため、Gainerを操作するアプリケーションを実行する前に、gspを起動しておく必要がある。
- GainerとパソコンをUSBケーブルで接続。
- 「gsp.exe」をダブルクリックで実行。
- 「GANER started」と表示されたら起動成功。
- 失敗した時は「setting.txt」を開き、
1行目にポート番号(2000)、
2行目にGainerと接続したシリアルポート名(COM4など)
を記述し再度実行。
gspの起動しなおし、USBケーブルを挿しなおしでも直ることがある。- Visual C#のメニュー「デバッグ→デバッグ開始」でプログラムを実行。
−戻る−