2011年08月10日

Processing on Netbeans でシリアル通信を実装.

先日に引き続き,Processingの実装を進めているわけですが,シリアル通信を実行しようとしたらエラーが発生.


ビルドは通るのに,実行時に失敗.エラーの中身は,以下の通り.

compile:
run:
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path thrown while loading gnu.io.RXTXCommDriver
java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at gnu.io.CommPortIdentifier.(CommPortIdentifier.java:83)
at processing.serial.Serial.list(Unknown Source)
at netbeans_processing_template.Main.setup(Main.java:53)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)
Exception in thread "Animation Thread" java.lang.RuntimeException: Error inside Serial.ports()
at processing.serial.Serial.errorMessage(Unknown Source)
at processing.serial.Serial.list(Unknown Source)
at netbeans_processing_template.Main.setup(Main.java:53)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Thread.java:662)



Serial ライブラリ (serial.jar)は, Netbeansのライブラリに登録していたのですが,他にも登録すべきファイルが有ったのが原因.

例えば,シリアル通信の場合,jar ファイルは以下のフォルダにあります.

processing-1.5.1\libraries\serial\library\.



よく見ると,jar ファイルは2つあり,そのどちらも追加ライブラリとして登録します.


・登録するファイル

serial.jar
RXTXcomm.jar



登録方法は,次の通り.

・1. NetBeans の左側,プロジェクトウィンドウにある,「ライブラリ」上で右クリック,"JAR/フォルダを追加"を選択する.


・2. serial.jar, RXTXcomm.jar をそれぞれ登録する.

この際,自分は絶対パスで登録しました.ライブラリパスへ登録しても良いかと思いますし, 環境の作り方が同じであるならば,相対パスでも良いと思います.


・3. 登録したライブラリは,librxtxSerial.jnilib を参照するようなので,これを手動でNetBeansのライブラリフォルダへコピー.プロジェクト名が,MySerialTest だとしたら,netbeans\MySerialTest の下にコピーします.

このフォルダには,build.xml, manifest.mf, のファイルや,build, nbproject, dist, test, src フォルダが他に存在します.


また,実行環境によって,rxtxSerial.dll(windows環境)か,rxtxSerial.so(Linux環境)もここにコピーします.


これで出来るようになりました.

参考サイト)

・Serial library in Eclipse
http://processing.org/discourse/yabb2/YaBB.pl?num=1170029680

・Gainer向けProcessingコードをNetBeansでコンパイル、実行する。
http://d.hatena.ne.jp/MineAP/20080308/1204964430



posted by maplewine at 21:00| Comment(0) | TrackBack(0) | Computer | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。