2016-09-11 36 views
0

私はUSBデバイスにコマンドを送信する必要があります。私は多くの例を試みましたが、結果はありませんでした。問題がコマンドの構造にあるのか、コマンドを送るのかは分かりません。 構造は以下の通りです。\ x1B COMMAND \ n(スペースとコマンドとマークの間にスペースはありません)。ASCIIでコマンドをUSBポートに送信

は、任意のアドバイスやよりよい解決策

public static void main(String[] args) { 

    char ESC = (char) 27; 
    char LN = (char) 10; 
    String cmd = "command"; 
    String cmdString = ESC + cmd + LN; 

    portList = CommPortIdentifier.getPortIdentifiers(); 
    while (portList.hasMoreElements()) { 
     portId = (CommPortIdentifier) portList.nextElement(); 
     System.out.println(portList); 
     if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { 
      if (portId.getName().equals("/dev/ttyUSB0")) { 

       try { 
        serialPort = (SerialPort) portId.open("SimpleWriteApp", 2000); 
       } catch (PortInUseException e) { 

       } 
       try { 
        outputStream = serialPort.getOutputStream(); 
       } catch (IOException e) { 

       } 
       try { 
        serialPort.setSerialPortParams(57600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, 
          SerialPort.PARITY_NONE); 
       } catch (UnsupportedCommOperationException e) { 
        ; 
       } 
       try { 
        outputStream.write(cmdString.getBytes()); 
        outputStream.flush(); 

       } catch (IOException e) { 

       } 
      } 
     } 
    } 
} 

}

答えて

0

問題が解決したいただきありがとうございます。ライブラリJSSCを使用しましたhttps://github.com/scream3r/java-simple-serial-connector 単純なソースコードがあります:

public static void main(String[] args) { 
    char ESC = (char) 27; // Ascii character for Escape 
    char LN = (char) 10; 
    String message = "TX ENROLL:0 PGX:0 PGY:0 ALARM:0 BEEP:NONE"; 
    String cmd = ESC + message + LN; 
    SerialPort serialPort = new SerialPort("/dev/ttyUSB0"); 
    try { 

     serialPort.openPort(); 
     serialPort.setParams(SerialPort.BAUDRATE_57600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, 
       SerialPort.PARITY_NONE); 
     serialPort.writeString(cmd); 

     serialPort.closePort(); 
    } catch (SerialPortException ex) { 
     System.out.println(ex); 
    } 
} 
関連する問題