이 누리집은 대한민국 공식 전자정부 누리집입니다.

ModbusRTU Sample 활용가이드

데** 2026.05.11

💡 테스트 장비를 구성하여 ModbusRTU Sample 소스코드를 개발하였습니다.
      구성도를 참고하여 Sample 소스코드를 활용하시기 바랍니다.




1. Sample 소스코드 활용방법

💡 소스코드를 다운로드하여 라즈베리파이에서 동작하는 방법을 안내합니다.

   1. Sample 소스코드 다운로드(Github) : RDA_JAVA_MODBUSRTU
   2. 소스코드 ZIP파일로 다운로드 받습니다. (GitHub Desktop 또는 IDE에서 Git Clone도 가능합니다.)




2. VS Code에서 소스코드 사용방법

   1. 확장프로그램 설치

       • Java 소스코드를 컴파일, 빌드하기위해 확장프로그램이 필요합니다.
       • 개발에 필요하신 확장프로그램을 설치하여 사용하시길 바랍니다.




   2. 소스코드 폴더열기

       • Github에서 다운로드 받은 압축파일을 압축해제 후에 [폴더열기]를 수행합니다.



 2. 설정파일 이동

       • 데이터 지원센터에서 받은 설정파일을 resource경로에 저장합니다.

 3. 소스코드 실행



 4. 소스코드 빌드



3. 라즈베리파이에서 소스코드 동작방법

 1. jar 파일 이동

      • jar파일을 USB 혹은 FTP를 이용하여 라즈베리파이의 바탕화면으로 이동시킵니다.

 2. jar 파일 실행

      • 바탕화면으로 이동시킨 jar파일을 실행합니다. (JDK가 설치되어 있어야 합니다.)
      • java -jar /Desktop/{파일명}.jar


4. 라즈베리파이 기본구성

 💡 Java 기반의 Sample 소스코드를 라즈베리파이에 활용하기 위한 기본구성을 안내합니다.

 1. 라즈베리파이 준비

       • 라즈베리파이 보드

     

 2. Micro SD 카드 (안정성이 보장된 16GB 이상 SD카드 사용권장)



5. 라즈베리파이 OS 설치

 1. 라즈베리파이 Imager 다운로드 및 설치

      • 라즈베리파이 공식홈페이지에서 Software를 다운로드합니다.
      • https://www.raspberrypi.com/software/




 2. 라즈베리파이 OS (라즈비안) Image 굽기

      • SD카드를 연결 후에 라즈베리파이 종류에 맞게 설치하시기 바랍니다.
      • OS 커스터마이징은 필수사항 아니지만 편의를 위해 미리 설정하는 것을 권장합니다.






6. 라즈베리파이 필수설정

 1. 시스템 최신화
       sudo apt update
       sudo apt upgrade

 2. Java 17 설치
       sudo apt install openjdk-17-jdk

 3. 한글패치
       sudo apt install ibus ibus-hangul
       sudo apt install fonts-nanum fonts-unfonts-core



 한글패치 후 라즈베리파이 설정에서 언어를 ko(Korean)으로 설정

 4. UART 활성화 (TX/RX 연결 시 필요 / USB연결 시 불필요)
       sudo raspi-config

    1. Interface Options -> Serial Port 선택
    2. "Would you like a login shell to be accessible over serial?" -> No 선택
    3. "Would you like the serial port hardware to be enabled?" -> Yes 선택

5. UART 포트 확인
       ls -l /dev/serial*

6. Jar파일 실행 (userName, jarName은 설정에 맞게 입력)
       java -jar /home/{userName}/Desktop/{jarName}.jar

7. 실행중인 Java 서비스 확인
       ps aux | grep java

8. Java 서비스 종료
       kill {PID}

7. 라즈베리파이 부가기능 설정

💡필요 시 라즈베리파이에 해당 기능을 설정하여 사용하시기 바랍니다.

1. 재부팅 시 자동 실행

    1. sh파일 생성
        • start.sh 파일 생성하여 부팅 시 sh파일이 자동실행 되도록 설정합니다.
        • {UserName} 을 필수로 확인하시고 경로 설정하시기 바랍니다.
       # 로그 디렉토리
       LOG_DIR="/home/{UserName}/Desktop/LOG"
       mkdir -p "$LOG_DIR"
 

      # 고정된 로그파일명

       LOG_FILE="$LOG_DIR/app.log"

       # .jar 실행 -> 로그 저장
       java -jar /home/{UserName}/Desktop/RDA_JAVA_MODBUS.jar >> "$LOG_FILE" 2>&1 &

    2. crontab -e 에서 자동실행 등록
        crontab -e

    3. 맨 아래에 추가
        @reboot /home/{UserName}/Desktop/start.sh

2. 로그 압축 기능

 1. logrotate 설정
       sudo nano /etc/logrotate.d/myapp

 2. 설정 입력
       /home/{UserName}/Desktop/LOG/app.log {
         daily
         rotate 30
         missingok
         compress
         delaycompress
         copytruncate
         dateext
         create 644 {UserName} {UserName}
}

3. SSH, FTP

    1.SSH 활성화
        sudo systemctl enable ssh
        sudo systemctl start ssh

    2.FTP 설치
        sudo apt install vsftpd

    3.vsftpd설정
        sudo nano /etc/vsftpd.conf

        #익명 접속 차단
        anonymous_enable=NO

        #로컬 사용자 로그인 허용
        local_enable=YES

        #업로드 허용
        write_enable=YES

    4.vsftpd 재시작
        sudo systemctl restart vsftpd