페이지

2013년 5월 12일 일요일

[Java] 자바 직렬 통신 개발 환경

1. 들어가기

    64비트 Windows 7 운영체제에서 자바로 직렬 통신을 할 수 있는 환경에 대하여 조사해 보았다. 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 RXTX 구현 설치

        RXTX는 32비트, 64비트 모두 지원하므로 사용하는 JDK에 따라 아래의 위치에서 원하는 버전을 찾을 수 있다.
    
            RXTX 32비트 버전: http://rxtx.qbang.org/wiki/index.php/Download
            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

댓글 1개:

Llama 3.2로 문장 생성 및 챗팅 완성 실습

Llama 3.2로 문장 생성 및 챗팅 완성 실습 Running Meta Llama on Linux 문서의 내용을 참고하여 Llama 3.2 1B 모델로 다음 두 가지 기능을 실습합니다. 문장 완성 챗팅 ...