기본 콘텐츠로 건너뛰기

[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

댓글

댓글 쓰기

이 블로그의 인기 게시물

Windows에 AMP와 MediaWiki 설치하기

1. 들어가기     AMP는 Apache + MySQL +  Perl/PHP/Python에 대한 줄임말이다. LAMP (Linux + AMP)라고 하여 Linux에 설치하는 것으로 많이 소개하고 있지만 Windows에서도 간편하게 설치하여 사용할 수 있다.       이 글은 Windows 7에 Apache + MySQL + PHP를 설치하고 그 기반에서 MediaWiki를 설치하여 실행하는 과정을 간략히 정리한 것이다. 2. MySQL     * 버전 5.6.12     1) 다운로드         http://dev.mysql.com/downloads/installer/         MySQL Installer 5.6.12         Windows (x86, 32-bit), MSI Installer         (mysql-installer-web-community-5.6.12.0.msi)     2) 다운로드한 MSI 파일을 더블클릭하여 설치를 진행한다.           설치 위치:                   C:\Program Files\MySQL               선택 사항:                       Install MySQL Products             Choosing a Se...

MATLAB Rutime 설치하기

MATLAB Rutime 설치하기 미설치시 에러 MATLAB Runtime 을 설치하지 않은 환경에서 MATLAB 응용프로그램이나 공유 라이브러리를 사용하려고 하면 아래와 같은 에러 메시지가 표시될 것입니다. 처리되지 않은 예외: System.TypeInitializationException: 'MathWorks.MATLAB.NET.Utility.MWMCR'의 형식 이니셜라이저에서 예 외를 Throw했습니다. ---> System.TypeInitializationException: 'MathWorks.MATLAB.NET.Arrays.MWArray'의 형식 이니셜라이저에서 예외를 Throw했습니다. ---> System.DllNotFoundException: DLL 'mclmcrrt9_3.dll'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E) 위치: MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) 위치: MathWorks.MATLAB.NET.Arrays.MWArray..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR.processExiting(Exception exception) 해결 방법 이 문제를 해결하기 위해서는 MATLAB Runtime 을 설치해야 합니다. 여러 가지 방법으로 MATLAB Runtime 을 설치할 수 있습니다. MATLAB 이 설치되어 있는 경우에는 MATLAB 설치 폴더 아래에 있는 MATLAB Runtime 설치 프로그램을 실행하여 설치합니다. ...

Wi-Fi 카드 2.4GHz로만 동작시키기

Wi-Fi 카드 2.4GHz로만 동작시키기 별도의 Wi-Fi AP 장치를 두지 않고 아래와 같은 기기들로만 Wi-Fi 네트워크를 구성하고자 할 때 주변 기기들이 2.4GHz만 지원하기 때문에 PC에서 실행하는 AP가 항상 2.4GHz를 사용하도록 Wi-Fi 카드를 설정해 주어야 합니다. 기기 Wi-Fi 카드 주파수 대역 Wi-Fi Direct 지원 PC (Windows 10) 2.4GHz, 5GHz O 주변 기기들 2.4GHz X Wi-Fi 카드별 주파수 대역 선택 방법 Windows 시작 메뉴에서 설정 을 클릭합니다. Windows 설정 화면에서 네트워크 및 인터넷 을 클릭합니다. 설정 화면의 왼쪽 메뉴바에서 Wi-Fi 를 클릭합니다. 화면 오른쪽 관련 설정 구역에 있는 어댑터 옵션 변경 을 클릭합니다. 설정을 바꾸고자 하는 Wi-Fi 카드 항목을 선택하고 마우스 오른쪽을 누른 다음 속성 메뉴를 클릭합니다. 대화상자의 네트워킹 탭 화면에 있는 구성 버튼을 클릭합니다. 장치 속성 대화상자의 고급 탭 화면으로 이동합니다. 제시되는 속성 항목들은 제품별로 다르며 자세한 사항은 아래의 제품별 설명을 참고하여 값을 설정하시기 바랍니다. Intel Dual Band Wireless-AC 7265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 선택합니다. Wireless Mode 1. 802.11a => 5GHz 4. 802.11b/g => 2.4GHz (이 항목 선택) 6. 802.11a/b/g => 2.4GHz, 5GHz Intel Dual Band Wireless-AC 8265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 ...