ESP-IDF, Espressif tarafından sunulan ESP32 ailesi için C/C++ ve freertos tabanlı bir geliştirme (framewrok) platformudur. ESP- IDF güncel olarak v5.2.2 versiyonuna sahiptir. Espressif in ESP-IDF ile ilgili dökümanlara buraya tıklayarak ulaşabilirsiniz.
Kaynak : https://github.com/espressif/arduino-esp32/releases/tag/3.0.1 |
Espressifin yayınlamış olduğu bu çekirdek sürümleri Arduino IDE / PlatformIO gibi geliştirme ortamları tarafından kullanılarak esp üzerinde arduino kodları kullanılmasına olanak sağlar. Hali hazırda bende PlatformIO ve arduino framework ile kodlama yapmaktayım. O halde platformio nun yayınlamış olduğu sürüme bakalım.
Kaynak : https://github.com/platformio/platform-espressif32/releases |
Arduino framework kullansak da ESP-IDF temelli çalışıyoruz. IDF in güncel sürümü 5.2.2 , yayınlanmış olan Arduino çekirdek yazılımı IDF in 5.1.4 sürümünü kullanıyor, Platformio ile kullanılan Arduino çekirdek sürümü ise IDF in 4.4.7 sürümünü kullanıyor.
Toparlayacak olursak; öncelikle IDF sürümleri geliştirilip yayınlanıyor. Bu sürümler ile uyumlu arduino çekirdek yazılımları ise daha düşük öncelikli olarak gecikmeli olarak yayınlanıyor. Platformlarında bu sürümleri alıp kendi bünyelerine entegre etmeleri yine bir süre alıyor. Dolayısı ile hata düzeltmeleri, yenilikler gibi geliştirmeleri birkaç sürüm geriden takip etmiş oluyoruz. Ayrıca yayınlanan arduino sürümleri ile IDF in tüm özelliklerini kullanamıyoruz. İşlemci üzerinde bazı konularda kısıtlı kullanıma sahip oluyoruz. Butona bas röle çeksin gibi basit kodlamalarda fark eden bir durum yok iken ileri düzey kodlamalarda bu kısıtlamalar bazen ayak bağı olabiliyor. Tüm bunları değerlendirdiğimde Arduino framework yerine VS Code üzerinde ESP-IDF kullanmaya karar verdim.
Şimdi bu noktaya kadar konuyu sindirdiysek olayı tavuk-yumurta boyutuna taşıyalım... IDF kullanmaya başladığımızda arduino framework ten vazgeçmek zorunda değiliz. IDF içerisine de arduino framework entegre edilebiliyor. Madem yine arduino kullanacak isek neden IDF kullanalım derseniz, öncelikle yukarıdaki versiyon gecikmelerini beklemek zorunda değiliz, Arduino framework un yetersiz geldiği noktalarda doğrudan IDF fonksiyonlarını kullanabiliriz, SDK config dosyası üzerinde ilgili değişiklikleri yapabiliriz. IDF ortamına hakim oldukça kademe kademe kendi kütüphanelerimiz ile arduino framework ten vazgeçebiliriz...
1. Kurulum için VS code üzerinde eklentiler bölümünden ESP-IDF i bulup yükleyin.
Sonraki bölümde proje oluşturma ile devam ediyoruz. Buraya tıklayarak ilgili konuya ulaşabilirsiniz.