Armadilloフォーラム

Armadillo-840 で RXTXComm が使用できますか?

miyauchi

2016年3月15日 18時09分

Armadillo-840 でJavaの環境でシリアルを使用する必要があります。

そこで、RXTXComm を使用したいのですが、可能でしょうか。

ちなみに、Armadillo-460で使用した人がいます。
http://d.hatena.ne.jp/hidepon_mory/20120221/1329820387

ただ Debian lenny となっています。
通常の環境で使いたいのですが。

または、別にJavaでシリアルが使用できる方法があれば教えてください。

コメント

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

miyauchi

2016年3月17日 9時22分

> 後藤です。
>
> > 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

2016年3月17日 10時33分

> > 後藤です。
> >
> > > 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

2016年3月24日 18時36分

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

2016年3月24日 19時33分

> 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

2016年3月24日 19時39分

ありがとうございます。
また、解決しました。

 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 を使用して動作させていました。