Serverを自動起動

67 views
Skip to first unread message

endo

unread,
Apr 10, 2009, 3:48:50 AM4/10/09
to funnel-dev-talk-ja
遠藤です。

Processing版のみですが、Serverをあらかじめ起動しなくても
実行時にProcessing側からServerを起動できるようにしました。

この変更により
ライブラリのフォルダ構成は

<sketchBook folder>/libraries/funnel/library/


funnel.jar
funnel_server.jar
javaosc.jar
jvyaml.jar

//以下のものはそれぞれの環境に応じて
libxtxSerial.jnilib (mac)
libxtxSerial.so (linux)
RXTXcomm.jar (win)

//以下のものは使用するものだけ
settings.arduino.txt
settings.fio.txt
settings.gainer.txt
settings.xbee.txt

が必要になります。

GainerやArduinoなどのオブジェクト内から判断して設定ファイルを読みますので
シリアルポートの設定済みのsettings.??.txtを用意しておけば、
違う環境の変えたときに、サーバーの設定を変える必要がなくなります。

WinとMacで確認してみましたが、特に問題なさそうです。
(Macでは終了時にJNI_Onloadの例外が出ますが...)

Shigeru Kobayashi

unread,
Apr 10, 2009, 5:43:04 AM4/10/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

おお、すばらしいですね!

今週末の間に私のところでも動作確認をしつつ、ドキュメントを用意しようと思います。

Processingに関してですは、libraries/funnelにおけば良くなったということもあり、以前よりもシンプルになっていますよね。またドキュメントが更新できたらお知らせしますので、確認をお願いできればと思います。

AS3も、一部ディレクトリ構成などを変更しましたが、ほぼ作業が終わりました。来週半ばくらいまでに009をリリースという感じで進めていければと思います。:)


2009/4/10 endo <SweetA...@gmail.com>:

Shigeru Kobayashi

unread,
Apr 10, 2009, 9:09:42 AM4/10/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

とりあえずMac OS Xだけですが試してみました。別に起動するのと比較するととてもシンプルになっていい感じで使えますね。:)

以下はせっかくなので…というリクエストです。I/Oモジュールを接続しない状態で起動すると、以下のようにエラーが出ます。コマンドラインからサーバ単体を起動すると「エラー:Gainer
I/Oモジュールをオープンできませんでした」の後で終了するのですが、Processing経由で起動した場合には延々と「waiting
server」が表示されるようです。

もし可能であれば、サーバが終了した時点か、適当な時間が経過したところで終了するようになっているといいかなと思いました。

※もしサーバ側での対応も必要でしたらお知らせください。


/Users/mayfair/Library/Processing/preferences.txt
sketchbook.path /Users/mayfair/Documents/Processing
/Users/mayfair/Documents/Processing/libraries/funnel/library/settings.gainer.txt
current directory: /Applications/.
シリアルポートが指定されていないため自動的に取得されたポートを使用します
I/Oモジュールと接続中です…
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
gnu.io.PortInUseException: Unknown Application
gnu.io.PortInUseException: Unknown Application
tried: /dev/tty.Bluetooth-PDA-Sync
tried: /dev/cu.Bluetooth-PDA-Sync
エラー:シリアルポートが見つかりませんでした
エラー:Gainer I/Oモジュールをオープンできませんでした
waiting server
waiting server
waiting server

waiting server
waiting server
waiting server
Experimental: JNI_OnLoad called.


2009/4/10 Shigeru Kobayashi <koto...@gmail.com>:

takanori endo

unread,
Apr 10, 2009, 10:29:51 AM4/10/09
to funnel-de...@googlegroups.com
了解です。

ライブラリのパスをとるのを調べていてpde関係のGUIの操作もできそうなので、
致命的なエラーなどはわかりやすく終了できるような感じにできたらいいと思います。

終了時の例外なんかも調べてみます。

遠藤孝則

2009/04/10 22:09 Shigeru Kobayashi <koto...@gmail.com>:
>
> 遠藤さん
>
> 小林です
>
> とりあえずMac OS Xだけですが試してみました。別に起動するのと比較するととてもシンプルになっていい感じで使えますね。:)
>
> 以下はせっかくなので...というリクエストです。I/Oモジュールを接続しない状態で起動すると、以下のようにエラーが出ます。コマンドラインからサーバ単体を起動すると「エラー:Gainer
> I/Oモジュールをオープンできませんでした」の後で終了するのですが、Processing経由で起動した場合には延々と「waiting
> server」が表示されるようです。
>
> もし可能であれば、サーバが終了した時点か、適当な時間が経過したところで終了するようになっているといいかなと思いました。
>
> ※もしサーバ側での対応も必要でしたらお知らせください。
>
>
> /Users/mayfair/Library/Processing/preferences.txt
> sketchbook.path /Users/mayfair/Documents/Processing
> /Users/mayfair/Documents/Processing/libraries/funnel/library/settings.gainer.txt
> current directory: /Applications/.
> シリアルポートが指定されていないため自動的に取得されたポートを使用します
> I/Oモジュールと接続中です...
> Stable Library
> =========================================
> Native lib Version = RXTX-2.1-7
> Java lib Version = RXTX-2.1-7
> gnu.io.PortInUseException: Unknown Application
> gnu.io.PortInUseException: Unknown Application
> tried: /dev/tty.Bluetooth-PDA-Sync
> tried: /dev/cu.Bluetooth-PDA-Sync
> エラー:シリアルポートが見つかりませんでした
> エラー:Gainer I/Oモジュールをオープンできませんでした
> waiting server
> waiting server
> waiting server
> ...
--
endo takanori

Shigeru Kobayashi

unread,
Apr 10, 2009, 10:43:36 AM4/10/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

よろしくお願いします。

あと、もし可能であれば、Export
Applicationした時にそちらもスタンドアロンで動くようになるとかなり便利かなと思います。試したところ、それらしくファイルはコピーされるのですが、OS
Xでは動きませんでした。

もしこれができると、SignalScope的なツールをスタンドアロンで用意すればFunnelもGainerも関係なく利用できてワークショップなどで重宝するかなと思うのですが...。

五月雨式ですみませんが、もし実現できそうでしたらお願いします。:)


2009/4/10 takanori endo <sweeta...@gmail.com>:

takanori endo

unread,
Apr 11, 2009, 3:23:51 AM4/11/09
to funnel-de...@googlegroups.com
遠藤です。

延々にサーバーの起動を待ってしまう状態を修正しました。
サーバーが起動できなかったらダイアログを出して、終了します。

ExportApplicationの問題は、
Server自動実行の修正の弊害で、ちょっとしばらくなおせそうにないです。

ProcessingはPDEのときもアプリケーションの時も実行時に
必要な外部ライブラリをクラスパスとして追加して実行されているみたいで、
今回のライブラリのパスを取得するときにcore.jarからのメソッドでできれば、
よかったのですがそういうのがなくて、PDEのメソッドを使って、preferences.txt
を読みなおして取得しています。
このため、通常のexport applicationにはpde.jarは必要ないので、
クラスパスが付加されないようになっているけど、funnelのアプリのほうは必要なので
動かないという感じだとおもいます。
たぶんこのあたりの問題だと思いますので、自前でライブラリのパスを取得する
ようにすればいずれできるのではと思います。プラットフォームの問題でちょっと面倒です。

調べていていきづいたのですが、ライブラリのフォルダにexport.txtが必要なようですね。
以前のServer自動実行しない状態で、export.txtを書いてやれば、export applicationできると
おもいます。(まだ試してませんが)


遠藤孝則





2009/04/10 23:43 Shigeru Kobayashi <koto...@gmail.com>:
--
endo takanori

Shigeru Kobayashi

unread,
Apr 11, 2009, 4:59:43 AM4/11/09
to funnel-de...@googlegroups.com
遠藤さん

小林です

> 延々にサーバーの起動を待ってしまう状態を修正しました。
> サーバーが起動できなかったらダイアログを出して、終了します。

こちらの件、ありがとうございました。


> ExportApplicationの問題は、
> Server自動実行の修正の弊害で、ちょっとしばらくなおせそうにないです。

こちらの件、了解です。もし簡単にできそうであれば、ということでしたので、009に関しては現状のままで問題ないと思います。お手数をおかけしました_o_。

・・・

たまたま別件を調べていたついでに、funnel_server.jarをそのまま見せるのではなく、gspのように.exeと.appとしてビルドできました。まだOS
XとWin XPでしか確認していませんので思わぬトラブルがあるかもしれませんが...。

一部のWindows環境で.jarをダブルクリックした時に実行されるのではなく展開されてしまうという問題がありましたので、実験的に.exeと.appも用意してみようかと思います。


2009/4/11 takanori endo <sweeta...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages