1. 들어가기
운영 체제가 아래와 같은 상황에서 자바로 직렬 통신을 할 수 있는 환경에 대해서 조사해 보았다.
Windows 7 (64비트 운영 체제)
Java Communications API 2.0에 대한 오라클 구현과 gnu.io.*을 패키지명으로 사용하는 RXTX 구현을 비교해 보았는데, 다음과 같은 이유로 오라클 구현보다 RXTX 구현을 사용하는 것이 바람직하다.
오라클 구현은 OS 지원 대상이 제한적이고, 64비트 바이너리를 제공하지 않으며, 무엇보다도 업데이트가 멎은 듯하다.
2. Oracle 구현 사용 방법
Java Communications API 3.0에 대한 오라클 구현이 지원하는 OS는 아래와 같은데, Windows 버전을 제공하지 않으므로 2.0버전을 사용해야 한다.
Solaris SPARC
Solaris x86
Linux x86
2.1 JDK 설치
64비트 JDK에서는 오라클 구현이 제공하는 win32com.dll을 사용하지 못하므로 32비트 JDK를 설치해야 한다.
설치 파일: Windows x86를 위한 jdk-7-windows-i586.exe
2.2 환경 변수 설정
java.exe 파일이 다른 경로에, 특히 Windows system32 폴더 아래에 이미 설치되어 있을 수 있다. 앞에서 설치한 JDK의 java.exe를 사용하기 위하여 기존 PATH 변수의 앞쪽에 bin 경로를 추가해 준다.
> set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0
> set PATH=%JAVA_HOME%\bin;%PATH%
2.3 오라클 구현 설치
Java Communications API는 JDK 확장 패키지이므로 별도로 오라클 구현을 다운로드 받아서 세 개의 파일을 아래 경로로 복사한다.
https://jspoorloos.googlecode.com/files/javacomm20-win32.zip
%JAVA_HOME%\bin\win32com.dll
%JAVA_HOME%\\jre\lib\javax.com.properties
%JAVA_HOME%\\jre\lib\ext\comm.jar
2.4 SimpleRead 예제 수정
Java Communications API에 포함되어 있는 예제 SimpleRead.java 를 사용하기 위하여 포트 이름과 파라미터를 자신의 환경에 맞게 수정한다.
public static void main(String[] args) {
...
//if (portId.getName().equals("/dev/term/a")) {
if (portId.getName().equals("COM4")) {
SimpleRead reader = new SimpleRead();
}
...
}
public SimpleRead() {
...
//serialPort.setSerialPortParams(9600,
serialPort.setSerialPortParams(115200,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
...
}
2.5 SimpleRead 컴파일 및 실행
아래의 명령을 실행하면 장치에서 출력하는 메세지를 화면에 보여 줄 것이다.
> javac SimpleRead.java
> java SimpleRead
3. RXTX 구현 사용 방법
3.1 JDK 설치
RXTX는 32비트, 64비트 모두 지원하므로 필요에 따라 JDK 32비트, 또는 64비트 버전을 설치한다.
3.2 RXTX 구현 설치
32비트 JDK에서 사용할 수 있는 RXTX 32비트 버전은 아래의 위치에서 찾을 수 있다.
http://rxtx.qbang.org/wiki/index.php/Download
64비트 JDK에서 사용 가능한 RXTX 64비트 버전은 아래 사이트에서 다운로드할 수 있다.
http://www.cloudhopper.com/opensource/rxtx/
RXTX 구현을 다운로드 받아서 세 개의 파일을 다음 경로로 복사한다.
%JAVA_HOME%\bin\rxtxParallel.dll
%JAVA_HOME%\bin\rxtxSerial.dll
%JAVA_HOME%\lib\ext\RXTXcomm.jar
'소 예 공 방' 카테고리의 다른 글
소프트웨어 개발자 입장에서 바라 본 도예가 (0) | 2012.12.09 |
---|---|
Visual C++ 2010 Express로 Qt 프로그래밍 시작하기 (0) | 2012.11.24 |
HTTP 1.1 메시지 형식 (0) | 2012.09.18 |
VirtualBox에서 Ubuntu (64 bit) 설치하기 (0) | 2012.08.23 |
[고군분투기] 안드로이드 SDK 버전과 SIP와 RTP 지원 여부 (0) | 2011.11.28 |