RXTX

RXTX est une bibliothèque Java pour l'accès aux ports série et parallèle de l'hôte. Cette API est open source et reprend celle définie par Sun javax.comm. RXTX comporte une ensemble de classes gnu.io.* et des bibliothèques natives (.dll et .so) précompilées pour un ensemble d'OS, de version et d'architecture.

Sous Windows

 * Mettre le rxtx.jar dans le CLASSPATH
 * Mettre la bonne DLL ou SO dans le PATH

Sous Linux

 * Mettre le rxtx.jar dans le CLASSPATH
 * Mettre la bonne DLL ou SO dans le LD_LIBRARY_PATH

There is a problem: The rxtx library is retarded, and only searches for ttyUSB* ports. However, the new Arduino Uno registers as ttyACM*, which means that you can't select //dev/ttyACM0// from the serial port menu, because it's greyed out. This can be fixed by a little udev rule: Edit //etc/udev/rules.d/96-own.rules//, and add the following line:

KERNEL=="ttyACM*", SYMLINK+="ttyUSB%n"

This links all ttyACM* devices to ttyUSB* devices, and so allows the arduino IDE to find the serial ports.

See http://thenybble.de/projects/arduino-64-bit.html

OSGi
Un bundle OSGi peut conditionner dans le Jar file l'ensemble des bibliothèques natives .so et .dll. Le canevas OSGi gère alors automatiquement le choix de la bibliothèque native idoine pour l'OS, sa version et son architecture (ISA) de l'hôte.

Le projet OW2 Aspire propose 2 bundles OSGi qui conditionne RXTX 2.1.7 déployables dans une application OSGi.

Vous pouvez télécharger cette distribution d'Apache Felix (2.0.4) dans laquelle les bundles RXTX sont déployés (répertoire ./felix-framework-2.0.4/bundle).

Dans un shell Unix cd ./felix-framework-2.0.4 run.sh

Dans un cmd Windows cd .\felix-framework-2.0.4 run.bat

Puis dans le shell d'Apache Felix ps rxtx rxtx list