Forumda hala Arduino IDE kullananlar çok şey kaçırıyor. Hızlıca PlatformIO'ya geçiş yapabilmeleri için minik bir rehber.
1. VS Code yüklüyoruz. Sol bardan eklentileri seçip aramaya "platformio" yazıyoruz ve yüklüyoruz.
2. Birkaç dakika boyunca yükleyecek ve bitince bize kapatıp açmamızı söyleyecek, yapıyoruz.
3. Artık sol barda PlatformIO ikonu var. Eğer PIO Home sayfası otomatik olarak açılmadıysa soldaki ikona tıklayıp aşağıdan "PIO Home" altında "Open"a basıyoruz. (veya kısayol: ctrl+shift+p "home")
4. Sağ üstten "New Project"e basıyoruz.
5. Herhangi bir proje ismi giriyoruz. Sonra board seçiyoruz. Bende STM32 blue pill board olduğu için "bluepill" yazıyorum ve C6, C8 gibi MCU varyantlarından uygun olanı seçiyorum. Framework kısmında ise kullanacağımız framework var ki bence PlatformIO'nun en güçlü olduğu kısım burası: basit işler için Arduino kodu yazacaksak var, karmaşık işler için STM32Cube veya CMSIS var, hatta destekleyen işlemciler için FreeRTOS var. Arduino seçtik diyelim.
6. Finish'e basıyoruz. Gereken derleyici ve frameworkleri yüklüyor.
7. Yeni projemiz açılacak. src/ altında main.cpp ve onun içinde bildiğimiz Arduino başlangıç kodunu görüyoruz.
8. Derleyelim. Solda PlatformIO altında ihtiyacımız olan tasklar var: Build ve Upload. Build'e basıyoruz ve başarıyla derliyor.
9. Şimdi upload etmemiz lazım. Ama daha önce projeye konfigürasyon nasıl yapacağız onu göreceğiz. PlatformIO'nun en güçlü noktalarından birine geldik: projedeki platformio.ini dosyası. Artık Arduino IDEdeki gibi menüden upload ayarı yapmak yok. Bütün ayarlar bu dosyada gözümüzün önünde olacak. Ayrıca kütüphane yükeyeceğimizde de bu dosyayı değiştirip kaydetmemiz yeterli, yani artık kütüphane bul/indir/kopyala da yok.
10. Kullandığımız board'a ait PlatformIO websitesindeki bilgi sayfasını açıyoruz. Bu sayfadaki upload kısmında kullanabileceğimiz upload yöntemleri var. Muhtemelen biz ya stlink ya da jlink kullanmak isteyeceğiz. Sitede "default protocol is stlink" diyor yani stlink ile upload etmek için bizim hiçbir ayar yapmamıza gerek yok . Ama elimiz alışsın, platformio.ini dosyasına upload_protocol satırını ekliyoruz.
11. Şimdi bir de kütüphane yükleyelim. Mesela bana L298 motor sürücü kütüphanesi lazım diyelim. PIO Home açıyorum. Libraries kısmına geliyorum. Arama çubuğuna L298 yazıp aratıyorum.
12. Sonuçlarda dikkat ederseniz uyumlu platformlar da yazıyor. Örneğin ilk sonuçtaki L298N kütüphanesini yükleyelim. L298N'e tıkladım. Kütüphanenin sayfası çıkıyor ve burada örnek kodları görüyoruz (bunlar çok işime yarıyor). "Add to Project" butonu da var, basıyoruz. Örnek projemizi seçiyoruz ve Add diyoruz. Yükleme işi bu kadar.
13. platformio.ini dosyamıza bakalım. Eklediğimiz kütüphane burada lib_deps alanında kayıtlı. Aslında biz arayüzden "Add to Project"e basmak yerine bu satırı yapıştırıp dosyayı kaydetsek kütüphane yine yüklenecekti. Aynı şekilde ben bu projeyi birine gönderirken kütüphaneleri de yollamak zorunda değilim. Projeyi alan kişi platformio.ini dosyasını da aldığı için kütüphaneler onun bilgisayarında otomatik olarak yüklenecek. Böylece zip indir, aç, dosyaları kopyala yapıştır vs. hamallığından kurtulduk.
Gereken çoğu şey bu kadar. Belki birkaç adım daha ekleyip seri port ayarlamayı da gösterebilirim. Bu kısma kadar yapamayan veya sorusu olan varsa sorsun. Yanlış veya eksik anlattığım kısımları düzelteyim.
1. VS Code yüklüyoruz. Sol bardan eklentileri seçip aramaya "platformio" yazıyoruz ve yüklüyoruz.
2. Birkaç dakika boyunca yükleyecek ve bitince bize kapatıp açmamızı söyleyecek, yapıyoruz.
3. Artık sol barda PlatformIO ikonu var. Eğer PIO Home sayfası otomatik olarak açılmadıysa soldaki ikona tıklayıp aşağıdan "PIO Home" altında "Open"a basıyoruz. (veya kısayol: ctrl+shift+p "home")
4. Sağ üstten "New Project"e basıyoruz.
5. Herhangi bir proje ismi giriyoruz. Sonra board seçiyoruz. Bende STM32 blue pill board olduğu için "bluepill" yazıyorum ve C6, C8 gibi MCU varyantlarından uygun olanı seçiyorum. Framework kısmında ise kullanacağımız framework var ki bence PlatformIO'nun en güçlü olduğu kısım burası: basit işler için Arduino kodu yazacaksak var, karmaşık işler için STM32Cube veya CMSIS var, hatta destekleyen işlemciler için FreeRTOS var. Arduino seçtik diyelim.
6. Finish'e basıyoruz. Gereken derleyici ve frameworkleri yüklüyor.
7. Yeni projemiz açılacak. src/ altında main.cpp ve onun içinde bildiğimiz Arduino başlangıç kodunu görüyoruz.
8. Derleyelim. Solda PlatformIO altında ihtiyacımız olan tasklar var: Build ve Upload. Build'e basıyoruz ve başarıyla derliyor.
9. Şimdi upload etmemiz lazım. Ama daha önce projeye konfigürasyon nasıl yapacağız onu göreceğiz. PlatformIO'nun en güçlü noktalarından birine geldik: projedeki platformio.ini dosyası. Artık Arduino IDEdeki gibi menüden upload ayarı yapmak yok. Bütün ayarlar bu dosyada gözümüzün önünde olacak. Ayrıca kütüphane yükeyeceğimizde de bu dosyayı değiştirip kaydetmemiz yeterli, yani artık kütüphane bul/indir/kopyala da yok.
10. Kullandığımız board'a ait PlatformIO websitesindeki bilgi sayfasını açıyoruz. Bu sayfadaki upload kısmında kullanabileceğimiz upload yöntemleri var. Muhtemelen biz ya stlink ya da jlink kullanmak isteyeceğiz. Sitede "default protocol is stlink" diyor yani stlink ile upload etmek için bizim hiçbir ayar yapmamıza gerek yok . Ama elimiz alışsın, platformio.ini dosyasına upload_protocol satırını ekliyoruz.
11. Şimdi bir de kütüphane yükleyelim. Mesela bana L298 motor sürücü kütüphanesi lazım diyelim. PIO Home açıyorum. Libraries kısmına geliyorum. Arama çubuğuna L298 yazıp aratıyorum.
12. Sonuçlarda dikkat ederseniz uyumlu platformlar da yazıyor. Örneğin ilk sonuçtaki L298N kütüphanesini yükleyelim. L298N'e tıkladım. Kütüphanenin sayfası çıkıyor ve burada örnek kodları görüyoruz (bunlar çok işime yarıyor). "Add to Project" butonu da var, basıyoruz. Örnek projemizi seçiyoruz ve Add diyoruz. Yükleme işi bu kadar.
13. platformio.ini dosyamıza bakalım. Eklediğimiz kütüphane burada lib_deps alanında kayıtlı. Aslında biz arayüzden "Add to Project"e basmak yerine bu satırı yapıştırıp dosyayı kaydetsek kütüphane yine yüklenecekti. Aynı şekilde ben bu projeyi birine gönderirken kütüphaneleri de yollamak zorunda değilim. Projeyi alan kişi platformio.ini dosyasını da aldığı için kütüphaneler onun bilgisayarında otomatik olarak yüklenecek. Böylece zip indir, aç, dosyaları kopyala yapıştır vs. hamallığından kurtulduk.
Gereken çoğu şey bu kadar. Belki birkaç adım daha ekleyip seri port ayarlamayı da gösterebilirim. Bu kısma kadar yapamayan veya sorusu olan varsa sorsun. Yanlış veya eksik anlattığım kısımları düzelteyim.