GainerはProcessing,Flash(AS2),MAX/MSPで制御することができる。非公式にはRuby,Perl,C#/VBなどからも制御できるので、お好みの言語を使えばいいだろう。
私は個人的な好みからProcessingを選択した。しかしどういうことか、Processing用ライブラリにはMODE7(8 x 8ドットマトリクスLED制御)のコードが書かれていない。せっかく秋月で4つも買ってきたのに、使えないとは納得が行かない。
調べてみると同じような納得行かなさを感じていた先達がいて、しかももうライブラリに手を入れて対応作業を完了していた。オープンソースって素晴らしい!と感激するところだが、使うためにはGainerライブラリだけじゃなくて、Processing本体もビルドしなくちゃならない(当然だが)。
リンクを紹介して終了してもいいのだが、いくつかハマれるポイントがあったので手順を記載しておく。
【2009-03-08】追記:
結論から言うと、動いた。本家のチュートリアルを真面目に読まなかったのが原因なのでお恥ずかしい限りである。
●GAINER.cc | Tutorial / Processingで使う
http://gainer.cc/Tutorial/HowToUseGainerWithProcessing?p=4
自分でbuildしたProcessingの場合は/path/to/project_dir/processing/build/windows/work/以下にlib/keywords.txtとlibraries/*をコピーする。
【2009-03-06】追記:
この記事は昨日公開したものだが、一晩経って試してみたら動作しないことが判明した。一度記事を非公開にしていろいろ試してみたが、現状では「この記事の通りbuildしたProcessingで、この記事の通りにbuildしたgainer.jarは動かない」という状況である。
build済みバイナリで構築したProcessing環境に、この記事の通りにbuildしたgainer.jarを設置することで(MODE7も含めて)動作することまでは確認したので、とりあえずこの状態で再度公開しておく。原因が判明したら追記していく予定である。
なお、build済みバイナリでProcessing環境を構築する方法については、以下のエントリで簡単に紹介している。
●Kwappa開発室: ProcessingでHello,Worldを表示する
http://kwappa.txt-nifty.com/blog/2009/01/processinghello.html
●Kwappa開発室: GainerとProcessingの動作テストをする
http://kwappa.txt-nifty.com/blog/2009/01/gainerprocessin.html
(追記ここまで)
- Cygwinのインストール
…いきなりこれだ。だが避けて通れないしたいして難しくもないので、手早く済ませてしまおう。やってることはほぼこの通りなので参照されたい。環境変数を書き換えてPATHの設定をする、とかわかるよね?
パッケージ選択時、以下のものを追加する必要がある。 - devel/subversion
- devel/make
- devel/gcc-mingw-core
- devel/gcc-mingw-g++
- devel/jikes
- archive/unzip
- archive/zip
- perl/perl
- Quicktime 7のインストール
…iTunesがあればインストール済みだろう。なければこちらから取得してインストール。 - Processingのソースコードを取得してビルド
…Cygwinのセットアップが終わったらコンソールを開き、svnを使ってソースコードを取得する。
$ cd /path/to/project_dir/
$ svn co svn://processing.org/trunk/processing -r 5320
$ cd processing/build/windows/
$ ./make.sh
…私はGainer miniなのでこちらから。アーカイブを展開し、libraries/gainer以下を/path/to/project_dir/processingにコピーしておく。
…こちらからmake-gainer.shを取得、buid/windows/に設置。./make-gainer.shを実行してうまくいけば次へ。
「jikesが見つからないよ」というエラーが出るようなら(たぶん出る)、make-gainer.shの10行目を修正する。以下例として…
$which jikes
/usr/bin/jikes
↓
JIKES=/usr/bin/jikes
次回はMODE7対応コードを追記してビルドし、ドットマトリクスLEDの動作確認をしてみたい。
●GAINER.cc | Main / ホーム
http://gainer.cc/
●製品トップ | Gainer mini
http://www.gainer-mini.jp/
●Cygwin Information and Installation
http://cygwin.com/
●Cygwin 環境の構築:Cygwin Setupによるインストール
http://sohda.net/cygwin/setup.html
●Build >> Develop Processing
http://dev.processing.org/build/
●bird.dip.jp: Built with Processing
http://bird.dip.jp/mt/archives/2008/04/03/2122.html
●bird.dip.jp: GAINER 用 Processing ライブラリ
http://bird.dip.jp/mt/archives/2008/04/04/2154.html
トラックバックいただきました bird.dip.jp の masato です。不親切な記事ですみません。
Gainer の MODE-7 関連については Gainer のフォーラム http://gainer.cc/forum/index.php?topic=280.0 にも記事があり、私のところよりも新しい対応ライブラリも紹介されています。
私が試した当時はオリジナルの Gainer ライブラリのコードでシリアル制御周りに不安定な部分があって今ひとつでしたが、その後の版では改善されている筈です。
>masatoさん
コメントありがとうございます。
サイトの記事もいろいろ参考にさせていただいています。
さて今回の件ですが、追記をご覧いただくとお分かりの通り、
大変初歩的な理由でした…。お恥ずかしい限りです。
アドバイスありがとうございました。
これからも楽しいエントリお願いします!