[Armadillo:08521] Re: CANをJAVAで

Hiroaki OHSAWA email@hidden
2013年 1月 16日 (水) 13:35:43 JST


大澤です。

ArmadilloシリーズのうちCANインターフェースを持っているものは
Armadillo-400シリーズだけですので、Armadillo-400シリーズを前提に
回答します。

Armadillo-400シリーズ用のCANドライバは、SocketCANという仕組みで
実装されています。SocketCANでは、通常の(LANなどの)ネットワーク
インターフェースと同じように、socketを使って通信ができるように
なっています(*1)。
しかし、SocketCANに特有の初期化処理があり、またTCP/IP通信では無い
ため、Java APIのjava.net.Socketクラスを使用することはできません。

そのため、JavaからSocketCANを使いたい場合は、socket通信を行う
ライブラリをC言語で実装して、それをJNIで呼び出すなどの、中間層の
実装が必要になってきます。

そういった機能を提供しているフリーなライブラリを探してみましたが、
見付ける事ができませんでした。代替案として、socketcand(*2)という、
SocketCANを通常のネットワークインターフェースに変換してくれる
(UDPとTCPで通信できるようにする)実装があるようです。
Kayac(*3)というJavaアプリケーションが、socketcand使ってSocketCANを
使用した通信を実現しているので、参考になるかもしれません。

========
(*1)「Armadillo実践開発ガイド 第3部 2.5. CAN」
(http://manual.atmark-techno.com/armadillo-guide/armadillo-guide-3_ja-
2.1.0/ch02.html#sec_customize_of_can)

(*2) https://github.com/dschanoeh/socketcand
(*3) http://kayak.2codeornot2code.org/


(2013年01月15日 14:29), 渡辺茂昭 wrote:
> 
> 送信日時:2013/01/15(火) 14:27:27
> 
> モースト渡辺です。お世話になります。
> 
>  初めて参加しました。よろしくお願いします。
>  
>  さて、表記の質問です。JAVAエンジンでCANを扱いたいのですが、それは可能
> なのでしょうか?可能とすると、JAVAからはCANはどのようにみえるのでしょう
> か?
> 
>  よろしくお願いします。
>  
> =====================================================================
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 


-- 
Hiroaki OHSAWA




armadillo メーリングリストの案内