이 누리집은 대한민국 공식 전자정부 누리집입니다.
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. 시스템 최신화
2. Java 17 설치
3. 한글패치

한글패치 후 라즈베리파이 설정에서 언어를 ko(Korean)으로 설정
4. UART 활성화 (TX/RX 연결 시 필요 / USB연결 시 불필요)
5. UART 포트 확인
6. Jar파일 실행 (userName, jarName은 설정에 맞게 입력)
7. 실행중인 Java 서비스 확인
8. Java 서비스 종료
7. 라즈베리파이 부가기능 설정
💡필요 시 라즈베리파이에 해당 기능을 설정하여 사용하시기 바랍니다.
1. 재부팅 시 자동 실행
1. sh파일 생성
• start.sh 파일 생성하여 부팅 시 sh파일이 자동실행 되도록 설정합니다.
• {UserName} 을 필수로 확인하시고 경로 설정하시기 바랍니다.
2. crontab -e 에서 자동실행 등록
3. 맨 아래에 추가
2. 로그 압축 기능
1. logrotate 설정
2. 설정 입력
3. SSH, FTP
1.SSH 활성화
2.FTP 설치
3.vsftpd설정
4.vsftpd 재시작
구성도를 참고하여 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
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
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 선택
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 &
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}
}
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
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
#익명 접속 차단
anonymous_enable=NO
#로컬 사용자 로그인 허용
local_enable=YES
#업로드 허용
write_enable=YES
4.vsftpd 재시작
sudo systemctl restart vsftpd