- 아이디어 소개 (간략히)
- 모터 및 제어 장치 확장: DC 모터, 서보 모터 등 다양한 임베디드 제어 장치를 쉽게 추가하고, 사용자 맞춤 제어를 가능하게 함.
- 제어 방법의 커스터마이징: WebSocket API, Bluetooth 등을 통해 사용자가 다양한 방식으로 RC 카를 제어할 수 있도록 유연성을 제공.
- 확장성과 안정성 강화: 프로세스 간 통신과 동시성 제어를 통해 안정적이며 확장 가능한 시스템 구축.
- 전체 시스템 구조 (실제 구현한 결과물 기준)
- 전체 시스템 구조
- 하드웨어 구조
- 베터리나 사용 DC 모터 핀 등등을 적어놓으면 좋을듯
- 제한조건 구현 내용
- 쓰레드 구조도를 보여주면서 다음을 설명
- 쓰레드 풀의 구조와 쓰레드 풀 구조를 채택한 이유를 들어내야함
- 커넥션 맺을 때 뮤텍스 처리한 것
- IPC 로 메시지 큐를 사용한 것
- 개발 시 문제점 및 해결 방안
- 유연한 확장 기능을 지원하기 위해 정형화된 데이터 형식이 필요했음
- device 의 갯수가 늘어날 때 device 제어 프로세스를 fork 하는 비용과 context switching 비용을 고려하여 device 제어 작업 단위를 쓰레드로함
- device 의 제어 이벤트가 발생할 때마다 쓰레드를 생성하고 종료하는 것도 비용이 큰 작업
- 쓰레드 풀 패턴을 사용하여 제어 리소스를 효율화함
- 커넥션 맺을 때 여러개의 커넥션이 동시에 접근할 때 경쟁조건이 발생함
- 기능별 간단한 데모 영상 (2분 이내)