이 질문에 대한 좋은 답변을 찾는 데 오랜 시간이 걸렸습니다.
일반적으로 Arduino 프로젝트이지만 가장 간단한 프로젝트는 다음과 같습니다.
- 주요 소스 코드 파일
MyProject.ino
- 프로젝트와 관련된 라이브러리 (
MyProjectLibrary1.h
,MyProjectLibrary1.cpp
...) - 타사 라이브러리 (일반적으로 무료 오픈 소스, Arduino 라이브러리 디렉토리에 수동으로 추가)
- 회로도, PCB 다이어그램
- 문서
- ...
이 때문에 소스 코드 관리 (예 : Subversion, Git 또는 GitHub)에서 한 프로젝트의 전체 코드와 문서를 유지하기가 어렵습니다.
프로젝트의 소스 제어를 관리한다는 것은 타사 라이브러리를 포함하여 프로젝트에서 사용하는 모든 파일의 버전을 관리하는 것을 의미합니다.
이제 단일 프로젝트의 경우 다음과 같은 디렉토리 구조를 정의해야합니다.
- 위에서 설명한 모든 프로젝트 파일을 포함
- 소스 코드 관리 도구 (타사 종속성 포함)에 전념 할 수 있습니다.
- 하드 드라이브의 어느 곳에서나 체크 아웃하고 거기에서 프로젝트를 빌드 할 수 있습니다 (Arduino IDE에서 부과 한 단일 위치 여야 함)
- 가능한 한 쉽게 빌드 할 수 있도록 친구에게 보낼 수있는 독립적 인 아카이브에 압축 할 수 있습니다 (추가 수동 다운로드 없음)
Arduino 프로젝트에서 특히 까다로운 점은 외부 라이브러리 종속성 관리입니다. Java 프로젝트 개발자는이를 위해 maven 리포지토리를 가지고 있으며 모든 외부 dep 관리에 많은 도움이됩니다. 그러나 우리는 Arduino 라이브러리와 동등한 시스템을 가지고 있지 않습니다.
다른 Arduino 프로젝트 제작자가 자신의 프로젝트에서 이러한 측면을 어떻게 다루는 지 알고 싶습니다.
또한 IDE를 포함하여 개발 프로세스를 변경할 수 있습니다 (현재 Eclipse를 Arduino 플러그인과 함께 사용하고 프로젝트가 Arduino IDE와 직접 작동 할 수 있도록 보장합니다).