Smartyで(?)HTMLの表示が遅くなる条件? Adobe AIR(1.0)についての、いくつかの疑問と回答
3月 14

Flashから、シリアル通信をやりたくていろいろ調べてみるが、どうもFlash(AS2.0 , AS3.0) およびadobe AIRは、標準ではシリアル制御(COMポートへのアクセス)機構がない。

現時点では、

Flash(ActionScript) ⇔ ソケット・シリアルProxyアプリ ⇔ シリアルポート

という方法しかないらしい。つまり、FlashからXMLSocketを用いて、プロクシサーバとして起動しているローカルサーバに対し、Socketでリクエストを投げ、そのプロクシサーバアプリがそのデータをシリアルポートに流し込み、レスポンスを返す、という方法しかないらしい。

そこで、具体的にどういうアプリがあり、どういうライブラリがあるのか調べてみた。(調べ出すとなかなか面白い)as2serial.png

以下、図に掲載したアプリ・ファイルへのリンク

■シリアル通信プロクシサーバ

arduino(アルデュイノ?)
フィジカルコンピューティングのための(?)統合環境?開発環境? その中にserproxyが含まれてる。Win/Macの両方に対応(すばらしい!)
通常のWinバイナリなので、実行には特別な環境は不要。動作は設定ファイルから読み込み。
serproxyは、comポートが9個以上あるとうまくいかないという症状があるらしい。要注意。
参考:ArduinoとserproxyとCOM port:ちょこっと:So-net blog
Flash Net Comport Connector – Rapid prototyping tool series
hatayama さん作成によるシリアル・プロクシサーバー。日本語のサイトと、AS2.0,AS3.0のサンプルが付いてるし、設定がGUIで非常にわかりやすい。すばらしい!!ありがとう!
TinkerProxy for Windows
GUIがついてて、シンプルで使いやすげ。
funnel
IPA(情報処理推進機構)未踏ソフトウェア創造事業(2007年第I期)の支援を受けて開発されたフィジカルコンピューティングのためのツールキット。ハード側とサーバと制御ソフトが同梱。AS3.0のサンプルあり。サーバはJavaベースなので、実行にはJavaの環境が必要。単にシリアル通信したいだけの場合には逆にややこしそう。
Serial Server

Javaベースの、コマンドラインから実行するコマンドっぽい(未確認)

個人的には、serproxyが、シンプルで設定が外部ファイルなので、使いやすそう。FNCCもすばらしいが、手動でStart/Stop、ポートの設定をしないといけないのがちょっと不便かな。十分すばらしいアプリだけど。

■通信用ライブラリ

as3glue
Flash/Flex/AIRのアプリケーションとArduinoを通信する為のActionScript 3のライブラリ
Arduino code
Arduino用のAS2.0クラス
Flashduino!
Flash(AS2.0)からarduinoへアクセスするファイルっぽいが、ファイルが壊れていて開けなかったので未確認

XMLSocketを使った汎用クラスは、探せばいくつかありそう。そのままだと使いにくいもんね。

というか、PHPでシリアル通信するPECLとかないんだろうか。Rubyにはシリアル通信の機能があるのになー。

Popularity: 49% [?]

written by ANN

add to hatena hatena.comment (13) add to del.icio.us (6) add to livedoor.clip (4) add to Yahoo!Bookmark (0) Total: 23

Leave a Reply