miyauchi
2016年3月15日 18時09分
Armadillo-840 でJavaの環境でシリアルを使用する必要があります。
そこで、RXTXComm を使用したいのですが、可能でしょうか。
ちなみに、Armadillo-460で使用した人がいます。
http://d.hatena.ne.jp/hidepon_mory/20120221/1329820387
ただ Debian lenny となっています。
通常の環境で使いたいのですが。
または、別にJavaでシリアルが使用できる方法があれば教えてください。
コメント
miyauchi
> 後藤です。
>
> > Armadillo-840 でJavaの環境でシリアルを使用する必要があります。
> >
> > そこで、RXTXComm を使用したいのですが、可能でしょうか。
> >
> > ちなみに、Armadillo-460で使用した人がいます。
> > http://d.hatena.ne.jp/hidepon_mory/20120221/1329820387
> >
> > ただ Debian lenny となっています。
> > 通常の環境で使いたいのですが。
> >
> > または、別にJavaでシリアルが使用できる方法があれば教えてください。
> >
> RXTXComm ではないですが、Armadillo-840 で PureJavaComm を使用してシリアル通信したことがあります。
>
> https://github.com/nyholku/purejavacomm/wiki
> http://www.sparetimelabs.com/purejavacomm/purejavacomm.php
>
> PureJavaComm は JNA に依存しているのですが Debian GNU/Linux のものが流用できます。
>
> https://packages.debian.org/wheezy/libjna-java
>
情報ありがとうございます。
文面からすると、実例があるように思われます。
その部分だけでもソースコードを公開していただけませんでしょうか。
goto.yuichiro
> > 後藤です。
> >
> > > Armadillo-840 でJavaの環境でシリアルを使用する必要があります。
> > >
> > > そこで、RXTXComm を使用したいのですが、可能でしょうか。
> > >
> > > ちなみに、Armadillo-460で使用した人がいます。
> > > http://d.hatena.ne.jp/hidepon_mory/20120221/1329820387
> > >
> > > ただ Debian lenny となっています。
> > > 通常の環境で使いたいのですが。
> > >
> > > または、別にJavaでシリアルが使用できる方法があれば教えてください。
> > >
> > RXTXComm ではないですが、Armadillo-840 で PureJavaComm を使用してシリアル通信したことがあります。
> >
> > https://github.com/nyholku/purejavacomm/wiki
> > http://www.sparetimelabs.com/purejavacomm/purejavacomm.php
> >
> > PureJavaComm は JNA に依存しているのですが Debian GNU/Linux のものが流用できます。
> >
> > https://packages.debian.org/wheezy/libjna-java
> >
>
> 情報ありがとうございます。
> 文面からすると、実例があるように思われます。
> その部分だけでもソースコードを公開していただけませんでしょうか。
>
>
サンプルプログラムを添付します。
尚、PureJavaComm のインストール方法やサンプルプログラムの解説は致しかねますのでご了承ください。
ファイル | ファイルの説明 |
---|---|
RS232CSndRcv.java_.txt |
miyauchi
PureJavaCommをインストールして組み込んでいますが、うまく動かなくて困っています。
サンプルでいただいたソースをそのまま動作させようとしています。
最初のCommPort識別子を取得でエラーになっているようでしたので、次のように表示するようにしました。
// CommPort識別子を取得
comID = CommPortIdentifier.getPortIdentifier(PORT_NAME);
System.out.println("PORT_NAME:["+PORT_NAME+"]/r/n");
System.out.println("comID:["+comID+"]/r/n");
// SerialPortオブジェクトを取得
SerialPort port = (SerialPort) comID.open(APP_NAME, OPEN_TIMEOUT);
System.out.println("APP_NAME:["+APP_NAME+"]/r/n");
System.out.println("port:["+port+"]/r/n");
その結果が次の通りです。
[root@armadillo840-0 (ttySC2) /sd/home/ikesu/MyProgram.JAVA/RS232CSndRcv/dist]# java -jar RS232CSndRcv.jar
PORT_NAME:[/dev/ttySC8]/r/n
comID:[null]/r/n
java.lang.NullPointerException
at rs232csndrcv.RS232CSndRcv.main(RS232CSndRcv.java:45)
/dev/ttySC8 は有効にしてあります。
また /dev/ttySC2 にしても結果が同じでした。
おそらく使用している PureJavaComm.jar 違うのだと思っています。
教えていただいたサンプルソフトに使用していた PureJavaComm.jar があればいただけませんでしょうか。
> > > 後藤です。
> > >
> > > > Armadillo-840 でJavaの環境でシリアルを使用する必要があります。
> > > >
> > > > そこで、RXTXComm を使用したいのですが、可能でしょうか。
> > > >
> > > > ちなみに、Armadillo-460で使用した人がいます。
> > > > http://d.hatena.ne.jp/hidepon_mory/20120221/1329820387
> > > >
> > > > ただ Debian lenny となっています。
> > > > 通常の環境で使いたいのですが。
> > > >
> > > > または、別にJavaでシリアルが使用できる方法があれば教えてください。
> > > >
> > > RXTXComm ではないですが、Armadillo-840 で PureJavaComm を使用してシリアル通信したことがあります。
> > >
> > > https://github.com/nyholku/purejavacomm/wiki
> > > http://www.sparetimelabs.com/purejavacomm/purejavacomm.php
> > >
> > > PureJavaComm は JNA に依存しているのですが Debian GNU/Linux のものが流用できます。
> > >
> > > https://packages.debian.org/wheezy/libjna-java
> > >
> >
> > 情報ありがとうございます。
> > 文面からすると、実例があるように思われます。
> > その部分だけでもソースコードを公開していただけませんでしょうか。
> >
> >
> サンプルプログラムを添付します。
>
> 尚、PureJavaComm のインストール方法やサンプルプログラムの解説は致しかねますのでご了承ください。
goto.yuichiro
> PureJavaCommをインストールして組み込んでいますが、うまく動かなくて困っています。
>
> サンプルでいただいたソースをそのまま動作させようとしています。
> 最初のCommPort識別子を取得でエラーになっているようでしたので、次のように表示するようにしました。
>
> // CommPort識別子を取得
> comID = CommPortIdentifier.getPortIdentifier(PORT_NAME);
> System.out.println("PORT_NAME:["+PORT_NAME+"]/r/n");
> System.out.println("comID:["+comID+"]/r/n");
>
> // SerialPortオブジェクトを取得
> SerialPort port = (SerialPort) comID.open(APP_NAME, OPEN_TIMEOUT);
> System.out.println("APP_NAME:["+APP_NAME+"]/r/n");
> System.out.println("port:["+port+"]/r/n");
>
> その結果が次の通りです。
>
> [root@armadillo840-0 (ttySC2) /sd/home/ikesu/MyProgram.JAVA/RS232CSndRcv/dist]# java -jar RS232CSndRcv.jar
> PORT_NAME:[/dev/ttySC8]/r/n
> comID:[null]/r/n
> java.lang.NullPointerException
> at rs232csndrcv.RS232CSndRcv.main(RS232CSndRcv.java:45)
>
>
> /dev/ttySC8 は有効にしてあります。
> また /dev/ttySC2 にしても結果が同じでした。
>
> おそらく使用している PureJavaComm.jar 違うのだと思っています。
> 教えていただいたサンプルソフトに使用していた PureJavaComm.jar があればいただけませんでしょうか。
サンプルプログラムは、purejavacomm-0.0.22.jar を使用して動作させていました。
ファイル | ファイルの説明 |
---|---|
purejavacomm-0.0.22.jar_.zip |
miyauchi
ありがとうございます。
また、解決しました。
purejavacomm も古いバージョンを(zip圧縮された)使用していたことと、JNAも最新版を使っていないことでした。
purejavacomm-1.0.0.jar と JNA は次のページから最新版をダウンロードすることで、解決しました。
https://github.com/java-native-access/jna/tree/master/dist
ありがとうございました。
> > PureJavaCommをインストールして組み込んでいますが、うまく動かなくて困っています。
> >
> > サンプルでいただいたソースをそのまま動作させようとしています。
> > 最初のCommPort識別子を取得でエラーになっているようでしたので、次のように表示するようにしました。
> >
> > // CommPort識別子を取得
> > comID = CommPortIdentifier.getPortIdentifier(PORT_NAME);
> > System.out.println("PORT_NAME:["+PORT_NAME+"]/r/n");
> > System.out.println("comID:["+comID+"]/r/n");
> >
> > // SerialPortオブジェクトを取得
> > SerialPort port = (SerialPort) comID.open(APP_NAME, OPEN_TIMEOUT);
> > System.out.println("APP_NAME:["+APP_NAME+"]/r/n");
> > System.out.println("port:["+port+"]/r/n");
> >
> > その結果が次の通りです。
> >
> > [root@armadillo840-0 (ttySC2) /sd/home/ikesu/MyProgram.JAVA/RS232CSndRcv/dist]# java -jar RS232CSndRcv.jar
> > PORT_NAME:[/dev/ttySC8]/r/n
> > comID:[null]/r/n
> > java.lang.NullPointerException
> > at rs232csndrcv.RS232CSndRcv.main(RS232CSndRcv.java:45)
> >
> >
> > /dev/ttySC8 は有効にしてあります。
> > また /dev/ttySC2 にしても結果が同じでした。
> >
> > おそらく使用している PureJavaComm.jar 違うのだと思っています。
> > 教えていただいたサンプルソフトに使用していた PureJavaComm.jar があればいただけませんでしょうか。
>
> サンプルプログラムは、purejavacomm-0.0.22.jar を使用して動作させていました。
goto.yuichiro
2016年3月17日 7時55分
後藤です。
> Armadillo-840 でJavaの環境でシリアルを使用する必要があります。
>
> そこで、RXTXComm を使用したいのですが、可能でしょうか。
>
> ちなみに、Armadillo-460で使用した人がいます。
> http://d.hatena.ne.jp/hidepon_mory/20120221/1329820387
>
> ただ Debian lenny となっています。
> 通常の環境で使いたいのですが。
>
> または、別にJavaでシリアルが使用できる方法があれば教えてください。
>
RXTXComm ではないですが、Armadillo-840 で PureJavaComm を使用してシリアル通信したことがあります。
https://github.com/nyholku/purejavacomm/wiki
http://www.sparetimelabs.com/purejavacomm/purejavacomm.php
PureJavaComm は JNA に依存しているのですが Debian GNU/Linux のものが流用できます。
https://packages.debian.org/wheezy/libjna-java