3月 14
Flashから、シリアル通信をやりたくていろいろ調べてみるが、どうもFlash(AS2.0 , AS3.0) およびadobe AIRは、標準ではシリアル制御(COMポートへのアクセス)機構がない。
現時点では、
Flash(ActionScript) ⇔ ソケット・シリアルProxyアプリ ⇔ シリアルポート
という方法しかないらしい。つまり、FlashからXMLSocketを用いて、プロクシサーバとして起動しているローカルサーバに対し、Socketでリクエストを投げ、そのプロクシサーバアプリがそのデータをシリアルポートに流し込み、レスポンスを返す、という方法しかないらしい。
そこで、具体的にどういうアプリがあり、どういうライブラリがあるのか調べてみた。(調べ出すとなかなか面白い)
以下、図に掲載したアプリ・ファイルへのリンク
■シリアル通信プロクシサーバ
- 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% [?]




