RXTX ne fonctionne pas dans Ubuntu

Finalement réussi à lire à partir de rxtx dans Windows, mais maintenant je ne peux pas le faire fonctionner dans Ubuntu. et je n’ai même pas les exceptions, et comme le débogage basé sur Ubuntu n’est pas possible pour le moment, je ne peux pas identifier le problème. (Ubuntu est 12.04 64 bit).

import gnu.io.*; import java.io.*; import javax.swing.JOptionPane; public class ReadComPort { public static void main(Ssortingng[] s) { readcomport(); } public static Ssortingng readcomport() { Ssortingng value = null; try { // CommPortIdentifier portIdentifier = CommPortIdentifier // .getPortIdentifier("COM1"); // Ssortingng comportidentifier = "COM1"; //*win Ssortingng comportidentifier = "/dev/ttyS0"; CommPortIdentifier portIdentifier = null; portIdentifier = CommPortIdentifier.getPortIdentifier(comportidentifier); if (portIdentifier.isCurrentlyOwned()) { JOptionPane.showMessageDialog(null, "port in use"); } else { SerialPort serialPort = (SerialPort) portIdentifier.open("ReadComPort", 500); JOptionPane.showMessageDialog(null, serialPort.getBaudRate()); serialPort.setSerialPortParams(serialPort.getBaudRate(), SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN | SerialPort.FLOWCONTROL_RTSCTS_OUT); serialPort.setDTR(true); serialPort.setRTS(true); InputStream mInputFromPort = serialPort.getInputStream(); Thread.sleep(500); byte mBytesIn[] = new byte[32]; mInputFromPort.read(mBytesIn); value = new Ssortingng(mBytesIn); mInputFromPort.close(); serialPort.close(); } } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Exception : " + ex.getMessage()); } return value; } } 

Vérifiez si le fichier de configuration javax.comm.properties est sur le classpath. J’ai eu des problèmes sans fin avec RXTX à cause de ce fichier – il échoue juste silencieusement.

J’ai eu le même problème hier et j’ai trouvé ceci :

 Ssortingng serialPortID = "/dev/ttyAMA0"; System.setProperty("gnu.io.rxtx.SerialPorts", serialPortID); 

En fait, vous devez définir la propriété système gnu.io.rxtx.SerialPorts et la valeur doit être le nom du port que vous souhaitez ouvrir.