Uzun zamandır bu soruya iyi bir cevap arıyordum.
Genellikle, herhangi bir Arduino projesi, ancak en basit olanı:
- Ana kaynak kod dosyası
MyProject.ino
- Projeye özgü kütüphaneler (
MyProjectLibrary1.h
,MyProjectLibrary1.cpp
...) - Üçüncü taraf kütüphaneleri (genellikle ücretsiz açık kaynak, Arduino kütüphaneleri dizinine manuel olarak eklenir)
- Şemalar, PCB diyagramları
- belgeleme
- ...
Tüm bunlar, bir projenin tüm kodunu ve belgesini Kaynak Kod Yönetimi altında tutmayı zorlaştırıyor (örn. Subversion, Git veya GitHub).
Projenizin kaynak kontrolünü yönetmek, 3. taraf kütüphaneleri de dahil olmak üzere proje tarafından kullanılan tüm dosyaların versiyonunu yönetmek anlamına gelir.
Şimdi, tek bir proje için, şöyle bir dizin yapısını tanımlamam gerekiyor:
- Tüm proje dosyalarını yukarıda açıklandığı şekilde içerir
- Tamamen Kaynak Kod Yönetimi aracına bağlı kalabilirim (3. taraf bağımlılıkları dahil)
- Sabit diskimdeki herhangi bir yeri kontrol edebilirim ve projeyi oradan inşa edebilirim (Arduino IDE'nin uyguladığı tek bir yer olmalı mı)
- Bir arkadaşıma gönderebileceğim bağımsız bir arşivi oluşturabilirim.
Arduino projelerinde özellikle zor bulduğum şey, dış kütüphane bağımlılıklarının yönetimi. Java projeleri geliştiricileri bunun için maven depolarına sahiptir ve bu da tüm harici depremlerin yönetiminde çok yardımcı olur. Fakat Arduino kütüphaneleri için eşdeğer bir sistemimiz yok.
Diğer Arduino proje üreticilerinin bu konularla kendi projelerinde nasıl başa çıktıklarını bilmek isterim.
Ayrıca, IDE'm de dahil olmak üzere geliştirme sürecimi değiştirmeye açık olduğumu ve şu anda çoğu zaman Arduino eklentisi ile Eclipse kullanıyorum ve ardından projelerimin doğrudan Arduino IDE ile çalışabilmesini sağladığımı da unutmayın.