2012-04-19 3 views
0

소켓 등이 java/android와 어떻게 작동하는지 알지만 Java 또는 Python을 사용하여 데스크탑의 COM 포트에 연결하는 방법은 무엇입니까? 주소를 사용 하시겠습니까? 또는 원하는 포트가 사용 가능한지 또는 무엇인지 찾아보십시오.COM 포트 읽기 및 쓰기?

나는 어떻게 그럴 수 있을지 모른다.

제안 사항?

나는 파이썬이나 자바로 답을 수락하고있다. 감사.

수정 - 모든 Java 답변?

답변

3

파이썬으로, 당신은 당신이 웹 사이트에서 examples 많이 있습니다 PySerial

사용할 수 있습니다. 다음은 예입니다

import serial 
ser = serial.Serial('/dev/ttyS1', 9600, timeout=1) 
ser.write("hello") 
result = ser.readline() # read a '\n' terminated line 
print(result) 
ser.close() 

는 Windows 미만인 경우, 당신은 예를 들어 수행 할 수 있습니다 당신이 읽을 수있는 COM 포트를 알아야합니다

물론
ser = serial.Serial('COM12', 19200, timeout=1) 

.

설명서에 따르면 PySerial의 마지막 버전으로 사용할 수있는 포트를 확인하기 위해 serial.tools.list_ports.comports()을 사용할 수 있습니다.

일반적으로 COM 포트 주소는 운영 체제에서 선택합니다. 따라서 장치의 COM 포트 (예 : Windows 7에서는 구성 패널의 "장치 및 프린터"에 나열되어 있음)를 알아야합니다. 어떤 통신 속도에서 장치와 통신해야 하는지도 알아야합니다 (저속 장치의 경우 9600이 매우 일반적입니다).

Java의 경우 이미 Windows, MacOS, Solaris 및 Linux에 사용할 수있는 RXTX을 사용했습니다. LGPL 라이브러리입니다. 다시 말하면, 할 수있는 일에 대한 취향을 알고 싶다면 examples을 많이 씁니다.

1

파이썬의 경우 pySerial을 사용하십시오. 이렇게하면 직렬 포트를 파일 객체로 취급 할 수 있습니다. 튜토리얼 예제 : 자바에 대한

>>> import serial 
>>> ser = serial.Serial("COM0") # open COM0, could also be `/dev/ttyUSB0` for Linux, etc. 
>>> print ser.portstr  # check which port was really used 
>>> ser.write("hello")  # write a string 
>>> ser.close()    # close port 

, 당신은 예를 들어 참조 JavaComm을 원하는 SimpleRead.java