2016-06-06 6 views
1

자바 프로그램을 작성 중이며 지금은 COM 포트 번호가 포함 된 설치 파일이 있습니다. 장치가 COM 포트 번호를 변경하면 변경해야합니다.자바 - COM 포트 ID 얻기

매우 익숙하지 않습니다. 따라서 COM 포트 ID 목록을 가져와 사용자가 ID로 올바른 장치를 선택할 수 있기를 원합니다. 나는 인터넷 검색을 시도했지만 많은 성공을 거두지 못했다.

ID로는 장치 관리자 : "COM 포트 ID (COM < #>)"를 확인하면됩니다. 나는 다음과 같은 라이브러리를 시도

enter image description here

: 빨간색과 다음 그림에서 볼 텍스트 표시 확인

  • javax.comm -은 CommPortIdentifier, getPortIdentifiers를();
  • jssc - SerialPortList.getPortNames();

위의 두 가지 방법으로 COM 포트 번호를 반환하기 때문에 COM 포트 ID를 가져올 수 있는지 확인할 수 없었습니다. 누구든지 COM 포트 ID를 얻는 방법을 알고 있습니까?

+0

하지만 지금까지 내가 기억하는 방금 "COM #"이 반환되었습니다. 해당 포트에 연결된 항목의 이름을 가져 오려고합니다. – Zeliax

+0

당신은 [레지스트리] (http://stackoverflow.com/questions/6362775/getting-device-driver-information-related-to-a-com-port)에서이 정보를 읽을 수 있습니다 -하지만 이것은 물론 Windows에서만 작동합니다. – TmTron

+0

JSSC는 매력처럼 작동합니다. 이 코드는 https://github.com/enriquezrene/javafx-arduino에서 다운로드 할 수 있습니다. COM 포트와 사용자가 그것을 선택했는지 확인한 다음 작업에 사용합니다. 도움이되기를 바랍니다. –

답변

2

Arduino와 통신하기 위해 rxtxcomm.jar 및 rxtxSerial.dll을 사용했습니다. 여기에 몇 가지 자세한 내용과 기사의

@SuppressWarnings("unchecked") 
Enumeration<CommPortIdentifier> portEnum = CommPortIdentifier.getPortIdentifiers(); 

while (portEnum.hasMoreElements()) { 
    CommPortIdentifier currPortId = portEnum.nextElement(); 
    System.out.println(currPortId.getName() + " - " + currPortId.getCurrentOwner()); 
} 

:이 조각은 사용 가능한 포트 당신에게 가야 난에 코드가되는 PC에서 현재 아니에요 https://blog.henrypoon.com/blog/2010/12/25/installing-rxtx-for-serial-communication-with-java/

+0

문제는 내가 코드를 사용하여 장치에 연결하지는 않지만 보조 API를 사용하여 연결을 완료하고 필요한 데이터를 전송하십시오. – Zeliax