▼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を制御するためのライブラリ。
ダウンロードして解凍し、任意のフォルダに配置。


プログラムの作成


プロジェクトの作成
  1. Visual C#を起動。
  2. メニュー「ファイル→新しいプロジェクト」「Windowsフォームアプリケーション」を選択し、「HelloWorld」という名前でプロジェクトを作成。
  3. ソリューションエクスプローラで「Form1.cs」の名前を「HelloForm.cs」に変更。
  4. メニュー「ファイル→すべてを保存」でプロジェクトを保存。
  5. 「HelloWorld\HelloWorld\bin\Debug」フォルダと「HelloWorld\HelloWorld\bin\Release」フォルダに、Gainer .Netラッパー内の4つのファイルをコピー。
    1. Gainer.dll
    2. AxInterop.ShockwaveFlashObjects.dll
    3. Interop.ShockwaveFlashObjects.dll
    4. GainerFlash.swf
  6. ソリューションエクスプローラの参照設定を右クリックし、参照の追加を選択し、参照からGainer .NetラッパーのGainer.dllを追加。
    1. Gainer.dll
※Gainerクラスをうまく認識しない時は、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を起動しておく必要がある。

  1. GainerとパソコンをUSBケーブルで接続。
  2. 「gsp.exe」をダブルクリックで実行。
  3. 「GANER started」と表示されたら起動成功。
  4. 失敗した時は「setting.txt」を開き、
    1行目にポート番号(2000)、
    2行目にGainerと接続したシリアルポート名(COM4など)
    を記述し再度実行。
    gspの起動しなおし、USBケーブルを挿しなおしでも直ることがある。
  5. Visual C#のメニュー「デバッグ→デバッグ開始」でプログラムを実行。





−戻る−