문서 목적
본 기획서는 심화 실습 평가2(리눅스 프로그래밍) 과제의 요구사항과 추가 제공 회로도 2장을 기반으로, Raspberry Pi 4에서 동작하는 TCP 원격 장치 제어 프로그램의 개발 방향을 정의한다.
과제 요구 요약
- 실습 주제: TCP를 이용한 원격 장치 제어 프로그램
- 서버: Raspberry Pi 4
- 클라이언트: Ubuntu Linux
- 제어 대상: LED, 부저, 조도센서, 7세그먼트
- 구현 방식: 멀티 프로세스 또는 스레드 기반 장치 제어
- 구조 요구: 장치 제어 기능을 공유 라이브러리로 분리
- 서버 요구: 데몬 프로세스 형식 구성
- 클라이언트 요구: 실행 중 강제 종료 방지, SIGINT에서만 정상 종료
- 빌드 요구: make 또는 cmake 기반 자동화
- 제출물: 개발문서, 소스코드, README, 실행 과정 text 파일
프로젝트 콘셉트
Ubuntu Linux 클라이언트에서 사용자가 입력한 장치 제어 명령을 TCP로 Raspberry Pi 4 서버에 전달한다. Raspberry Pi 4 서버는 데몬으로 실행되며, 수신한 명령을 분석한 뒤 동적 라이브러리로 분리된 장치 제어 모듈을 호출한다.
본 프로젝트는 장치별 기능을 서버 본체와 분리하여 구현한다. LED, 부저, 조도센서, 7세그먼트 기능은 각각 독립 모듈로 작성하고, 서버는 dlopen, dlsym, dlclose를 이용하여 런타임에 필요한 라이브러리를 로드한다.
목표
- TCP 기반 원격 제어 구조를 구현한다.
- Raspberry Pi 4 GPIO와 SPI 또는 디지털 입력 회로를 이용하여 실제 장치를 제어한다.
- LED on/off 및 밝기 3단계 제어를 구현한다.