Page:  1   2  ALL
October 23, 2006

GAINERを複数使う:GAINER v.1*4

Written by Katsuhiko Harada | Device , Flash

GAINER moduleの複数使用についてです。

■GAINERを複数使うには



    GAINER_logo

    GAINER v.1










最近耳にするのは、私はセンシングに16個以上のスイッチがほしいんだけど。。。
16個以上のLEDを別々で光らせたいんだよね。。。
(でも、GAINERって、Input/Outputのポート数が16個しかないから、無理だよね。)

そんなことは、ありません。
解決策は、簡単です。GAINERを複数台つかうことで、Input・Outputのポートの数を増やすことができます。GAINER I/O moduleは、USB-to-UARTブリッジの管理にFTDI社製FT232RLを使用しています。複数のGAINER I/O moduleを同一のパーソナル・コンピュータにUSBで接続すると、このFT232RLが仮想COMポートとして別々に認識してくれるため、同時に使用することができます。

■マトリクスLED制御

今回は、その一例としてGAINERを複数使ったFlashによるLEDマトリクス制御をあげます。以前の記事にも書きましたが、GAINERは機能の再構築(リコンフィギャブル)が可能です。簡単に説明すると、入出力ポートの構成を用意されている8種類から選んで使うことができます。今回は、コンフィグレーション7のマトリクスLEDコントロール用入出力を使いました。これは1つのGAINERから8×8=64個のマトリクスをダイナミック点灯制御できます。今回は、マトリクスLEDに映像を反映させることが目的だったので、GAINERを複数使う力技でマトリクスLEDを増やし実際に実現可能なのか、体験として良いのかを検証しました。

作業行程
1.ラピッド・プロトタイピング
最初の行程としては、できるだけ短時間で、できるだけ簡単な方法で実現させる。
この段階では、見た目等は捨ててブレットボードや簡単に扱える部品、センサなどを使用し、本当に実現可能なのかを見極めましょう。
2.実際の部品で回路を組む
次の行程として、最終的に自分が実際に使用する部品で回路をつくる。
最終的にコストに見合うか、現実的に使用できるかはここで見極めます。この段階では、ユニバーサル基盤に部品を配置して実際に動くか試すのも良いでしょう。
3.CADプリント基盤の製作、または外部に発注
この行程では、最終的な大きさや見た目を含んだ回路を製作します。
また、2の段階で製作した回路(動作するモック)を見せて、外部に発注することも可能かもしれません。


1.ラピッド・プロトタイピング
最初にブレッドボード上にて安価で簡単に手に入る部品で試しました。
マトリクスLED自体は、秋月電子で販売している赤色LEDドットマトリクス(8*8)を使用しました。GAINERとマトリクスLEDとの接続回路図は、以下のようになります。これをブレッドボード上に単純に2つ並べました。


    GAINER->MatriLED

    GAINER_MatrixLED_test










次にFlash側では、GAINERとシリアル通信を行うserial_proxyサーバーを2つ立ち上げ、Webカメラからの映像を二値化したものを各GAINERヘ渡すことを行いました(Flashライブラリについては、ココ)。下のような感じで、なんとか映像としてみることが可能だということがわかりました。





2.実際の部品で回路を組む
次に実際に使用する部品で、ユニバーサル基盤上に配置してみました。また、時間が無かっためここでも力技のGAINER4つ使いで試しました。一台のPCにGAINERを4つ繋いでも、問題なく制御できました。しかし、処理時間はGAINER1つの4倍ですので、時間にシビアな処理を行うには、検討が必要かもしれません。


    GAINER*4_MatriLED

    ユニバーサル基盤の裏側




    全体




















3.CADプリント基盤の製作、または外部に発注
上の製作物を用いて、プレゼンテーションです。今後、大きさや機能を含め、どのようにするか検討されます。実は、これちょっとした秘密があります。形になる運びになったら、また報告するかもしれません。


■I/Oモジュールについて

さて、ここまでGAINERの説明をしてきましたが、多くのI/Oポートを使いたい場合などでは、他のI/Oモジュールを使用するのも選択肢のひとつです。行いたいことを実現するのに様々な方法からもっとも良いのも選択するのは重要なことです。最近では、MakeがつくったMakeControllerなどもあります。他にもI/Oモジュールはたくさんあります。これらを比較できるWebサイトとして、sensorWikiがあります。機能ごと表にまとめられているので、自分のしたいことにあったモジュールを選択することをお薦めします。

今回は、製造マニュアルのような感じになってしまいましたが、何か楽しいものができましたら、また書きたいと思っています。よろしく。

(協力:Ichitaro_Masuda)

続きがあります "GAINERを複数使う:GAINER v.1*4"
March 04, 2006

Flash+Max/MSP:Flashserver

Written by noriko matsumoto | Flash , Max+Others

Flash+Maxについて、以前のワークショップのメモ程度にしか書いていなかったので久々にflashserverオブジェクトについてまとめてみました。

flashserverとはMaxパッチとFlashコンテンツ(swf)間でXMLソケット通信を行う
オブジェクトで、数値やメッセージをFlash←→Max間で双方向のやり取りをすることができます。
Flash +Maxの方法としては、FCSを使う。又は、PHPを使うとかいろいろありますが、遠隔地のパソコンを動かすのではなく、ちょっと隣のMacのMaxパッチを手元のマシンのswfで動かすとかいう場合は、特にサーバーたてる必要ないためflashserverがおすすめです。
必要なもの
ーーーーーーーーーーーーーーーーーーーー
flashserver オブジェクト 作者Olaf Matthesさん
http://www.nullmedium.de/dev/flashserver/
Flash5以上
 マクロメディアには30日体験版のFlash8がおいてありますのでひとまずこれで(機能はかわりません)
Maxパッチを走らせるマシンのIPを知る
 今回はネットワーク環境設定でMaxを動かす側を10.0.0.1と手入力しました。
  MaxとFlashを同じマシンで動かすのであればIPアドレスは必要なしです。
 それ以外は、LANでマシンとマシンを直接つないでしまうかAirMacカード搭載であれば
 ネットワークを作成でAirのローカルネットワークを作るなどで対応できます。
Max/MSP
ーーーーーーーーーーーーーーーーーーーー
ダウンロードするバーションですが,1.0が安定しています。原因は調べてないのですが
1.1で動かない場合がありました。

ダウンロードしたら、エクスターナルトがヘルプパッチがありますのでさくさくと、Maxのエクスターナルフォルダとヘルプパッチフォルダにそれぞれ入れてしまいましょう。

サンプルのFlashファイルもあるのですが、かなり親切にたくさんの機能を作ってくれている
ので逆に複雑かも知れません。ので今回はFlashからMaxにメッセージを送る機能のみの基本的なアクションスクリプトで。

flashserver.jpg

[このパッチにFlashからメッセージを送る方法]


Flashserver以下の数字は、Flashとの連携で使用するポート番号です。
(必ずFlashに書くアクションスクリプトで設定するポートとあわせること)
FlashからMaxへメッセージを送るのに必要なアクションスクリプトをFlashに書いていきます。
事前準備:ステージに"bt"というボタンインスタンスを配置しインスタンス名を"bt"にする。
(Flashのはじめのフレームに記述するフレームアクション)
---------------------------------------------------------------------------------
    stop();
      server = "10.0.0.1";
    port = 31337;
    flashtomax = new XMLSocket();
    flashtomax.connect(server, port);
    flashtomax.onConnect = onPDconnect;
    function okuru (symbol, value) {
    okurude = symbol + " " + value + ";"
    flashtomax.send(okurude);
    }
    bt.onPress=function()
    {okuru("vol",2);}

---------------------------------------------------------------------------------
これでMaxパッチを先に開いておいてFlashをプレビュー。でつながります。
swfの"bt"インスタンスをクリックするとMaxウィンドウに2が出ると思います。

[アクションスクリプトの解説]


    server = "10.0.0.1";
    //通信したいMaxの動いているマシンのIP;MaxとFlashが同じマシンで動かす場合は      localhostです
    port = 31337;
    //ポート 番号はかえても問題ないですが既にそのポートを別のアプリケーションが使用している場合もあります。ちなみに255番はiChatが使用してます。
    //そしてこれはMaxパッチのflashserverのポート指定と必ず同じにしてください。
    flashtomax = new XMLSocket();
    //xmlソケットを作る。ここではxmlソケット名「flashtomax 」としました。
    flashtomax.connect(server, port);
    //通信したいマシンとつなげるための命令connectです。
    xmlソケット名.connect(サーバーのIPアドレス,ポート)でxmlソケット通信を開始します。
    //数値やメッセージを送る関数 関数名"okuru"にしました。
    function okuru (value) {
    okurude = value + ";"
    //送るメッセージを作る
    flashtomax.send(okurude);
    //xmlソケットにokurudeを流す命令
    }
    //事前準備:デスクトップにbtというボタンインスタンスを配置しインスタンス名をbtにする。
    //btが押されたときの命令
    bt.onPress=function()
    { okuru(2);
    //関数okuruにvalue =2を引き渡す&okuruを実行
    /*この場合okurudeで2;というメッセージに処理され、そのメッセージがflashtomaxというxmlソケットにのってMaxパッチに引き渡されます。Max上では2のみになってprintされます。
    value + ";"の";"は送るときどうしても必要なようです。ないと送れませんでした。*/
    }

------------------------------------------------------------------------------------------------------------
Flash側がMaxパッチ動いているマシンのIPの指定、送るべきポートの指定、xmlソケットの生成など設定を行いMax側はその指定されたポートをあけて待つだけという流れでFlashから受け取ったメッセージはFlashserverの第一アウトレットから出力されます。
ただしこのFlashserverパッチの起動時の注意ですが
Flashswfで先にxmlソケットを開いた状態から、同じポートのMaxパッチを立ち上げるとポートがぶつかりうまく作動しません。
MaxのprintメッセージにMac Osx errorと出ます。
(Flashの1フレーム目でnew XMLSocket();命令を書いて、loadの状態でxmlをつないでいる場合によく出ます。)
この場合は一度Maxを完全に終了し、swfも落として、Maxから立ち上げるとerrorは解除されます。
Flashのボタンなどにnew XMLSocket()命令をつけている場合は問題は出ないです。

また最近のswfはセキュリティー設定がありますので、上記のスクリプトでswfのみ立ち上げると「潜在的に危険な動作〜」とのメッセージがでます。
http://www.macromedia.com/go/settmgr_locsecy_ja_author
でセキュリティのセッティングを行う必要があります。

また1つのFlashserverオブジェクトをFlashコンテンツの2つで使いたい場合は、片方が既にxmlソケットを結んでいるためそれを解除しないと2つ目のFlashコンテンツは通信ができません。
その場合、必要な動作が終了した場合に次のフレームに飛ばしxmlソケットのクローズド命令xmlソケット名.close();をつけてるなどで対応できます。
(そのかわり、動作前に毎回xmlソケットを通信し直す必要が出てしまうのですが)

基本的にFlashは外のドメインのxmlを読み込まないため、FlashserverコンテンツでswfをWebサーバーにおいて使用や外部同士のネットワークでの使用(自宅のFlashから、別の場所のMaxパッチを動かすとか)はあまりおすすめできませんでした。

という感じでFlashserver
Flash単体ではできない部分が多いのでローカルのネットワークの中では
(HDの画像をアップするとか、同時発音100音を鳴らすとか)い
ろいろ便利ですし、Flashのインターフェースの滑らかさも取り入れられて、楽しいですね。

検証はMacOs10.4 Flash8 Max/MSP 4.5です。
Olaf Matthesさんに感謝。

続きがあります "Flash+Max/MSP:Flashserver"
December 31, 2005

Flash+API

Written by noriko matsumoto | Flash

Flashなコネタです
最近amazonやgoogleがサービスの活用と普及のためにAPIを
公開し、Flashも公開されている各種サービスのAPIと連携するコンテンツが
いろいろとできていますね。
この場合のAPIとは-----------------------------------------------------------------------------------
個々のソフトウェアの開発者がソフトウェアの持つすべての機能をプログラミングするのは困難で無駄が多いため、多くのソフトウェアが共通して利用する機能を「呼び出す」だけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができるその「便利な機能を使わせてもらうための決め事」
----------------------------------------------------------------------------------------

たいていはAjax(javascript)から用いられるものが多く見受けられ、Flashでさくっと活用とは
いかないことが多いのですが、今回はflashでさくっといけるAPIについてです。
+YahooMapAPI
YahooMap(googlemapのようなもの)のAPIをflashから活用できるように
flashエクステンション&Flexを公開。
http://developer.yahoo.net/maps/flash/index.html
Yahoo! Maps MXP (Macromedia? eXtensions Package)
方法
http://developer.yahoo.net/maps/flash/asGettingStarted.html
(yahooIDでのログインが事前に必要です)
get an application ID here.からapplication IDを取得
(これはコンテンツを作る際にコンポーネントで必要になります)
eXtensions をダウンロードしたら、エクステンションマネージャーに追加。

Yahoomapを活用したflaサンプルファイルもここで提供されているので、使いやすかったです。

+google検索API
そして、もう一つ、google検索のAPI(SOAP web services)です。
コンポーネントをマクロメディアが提供してくれてます。
http://www.macromedia.com/devnet/flash/articles/google_search.html
例えばサーチエンジンの結果数でキャラクターが動くflashコンテンツとかできるかな?と思います。

Maxと各種APIについてですが、JavaScriptでいけそうな気もするのですが、
jitter1.5ではswfファイルの読み込みもできるので、YahooMapを用いたflashを読みこみjitterで加工ということや、ほかには、Flashserverオブジェクト(XMLソケット通信)でMaxからflashに地図情報のクエリーを送るといった連携なども考えられるのではないでしょうか。

Maxでgoogle検索サービスを活用するには、既にgoogle(googleAPIを活用)とgoogleIMGというgoogleを活用するエクスターナルオブジェクトがあり、イメージ検索のjpgをつないで動画にしたり結構遊べます。googleオブジェクト (MaxMsp)

上記のマクロメディアのコンポーネントを活用して、サーチワードのログを残すflashを作ってみました。
参考;こんな感じ。連携;flash-googleAPI-mySQL

google1.jpg


ではでは。
冬休み&正月休みですね。よいお年を。

August 23, 2005

FLASH 8ball

Written by Satoshi HORII | Flash

http://www.protozoo.com/?p=179
http://8ball.andre-michelle.com/lab/
次期FLASH 8ball(コードネーム)では、ビットマップの処理ができるようになり、
画像の合成、フィルタをリアルタイムで行えたり、画像解析できたり、サウンドの同時発音数が32音になったり、
えらくパワフルになるようです。

July 22, 2005

Max/Director/Flashとの連携

Written by noriko matsumoto | Flash , Max+Others , Max/MSP+Jitter

OSC(ネットワークのプロトコル)を用いて通信するもの
http://www.cnmat.berkeley.edu/OpenSoundControl/

>DirectorのOSC通信用のエクストラ
http://www.mat.ucsb.edu/%7Eg.kling/OSC/oscar.html
>Flash受信用OSC変換Javaサーバー(flosc)
http://www.benchun.net/flosc/
>MaxのOSCのエクスターナル
"udp"オブジェクト
http://www.cnmat.berkeley.edu/OpenSoundControl/Max/
>FlashとMax/MSP
"flashserver"エクスターナルオブジェクト
http://www.akustische-kunst.org/

あとはxmlを用いて数値をお互いに読み込む方法や
シリアルでの通信などができます。
Director内にFlashのSWFファイルを読み込んで、Maxと通信する方法などがあります。

Page:  1   2  ALL