ESP32 ESP-IDF Gelistirme Ortamina Giris - ESP32 Mimarisi ve Gelistirme Kartlari

Bu yazimizda; ESP32 serisi dusuk guc tuketimli, WiFi ve Bluetooth entegre system-on-chip mikrodenetleyicileri inceleyecegiz. ESP32 serisi mikrodenetleyiciler tek cekirdek ve cift cekirdek olmak uzere iki secenek ile mevcuttur. Cift cekirdekli olan seride Tensilica firmasinin Xtensa LX6 mikroislemcisi kullanilirken; tek cekirdekli serilerde ise RISC-V mimarisinde mikroislemciler kullanilmaktadir. ESP32 Espressif Sistem firmasi tarafindan gelistirilmekte ve uretilmektedir. ESP32 serisi, bir onceki basarili versiyon olan ESP8266 serisinin de devamidir.

ESP32 icerisinde 160 veya 240MHz'te calisan Xtensa dual-core ya da single-core 32-bit LX6 mikroislemcisinin yani sira dusuk guc tuketimli uygulamalar icin kullanilmak uzere bir de Ultra Low Power (ULP) yardimci mikroislemci bulunmaktadir. Dahili hafiza olarak; 520KiB RAM ve 448KiB ROM bulunmaktadir ancak uygulamalarda genellikle modul kullanildigindan harici spi flash ve ram ile hafiza ihtiyaci fazlasiyla karsilanmaktadir.

Wireless connectivity olarak hem WiFi hem de Bluetooth BR/EDR ve BLE seceneklerinin tek pakette sundugu icin IOT uygulamalarinin fiyat performans komponenti haline gelmistir.

Cevre birimlerini inceledigimiz zaman ise; GPIO, ADC, DAC, Touch Sensor, SPI, I2S, I2C, UART, SDIO, LEDC birimlerini gormekteyiz. Cevre birimleri noktasinda bir cok farkli cevre birimi donanimsal olarak sunulsa dahi var olan pin sayisinin azligi ve bazi durumlarda bazi cevre birimlerinin kullanilamamasi sebebiyle belirli zorluklar yasanmakta. Ornegin; GPIO34-39 arasindaki pinlerin sadece input olarak ayarlanabilmesi ya da ADC2 kanallarinin WiFi kullanimi esnasinda kullanilamiyor olmasi gibi. Bu gibi problemlerin onune hizlica gecmek icin su referans linkteki Note kismini detaylica incelemekte fayda var: Donanimsal kisitlamalar

IOT uygulamalarinda bir diger onemli konu da guvenlik. Bu sebeple ESP32 icerisinde WiFi guvenligi icin WPA, WPA2 ve WPA3 modlari bulunmaktadir. ESP32'nin guvenli boot olma ozelligi ve flash encryption ozellikleri bulunmaktadir. Cesitli haberlesme paketlerinde de sikca kullanilan AES, SHA-2, RSA, ECC, RNG gibi donanimsal cryptographic birimler de bulunmakta ve bu sayede bu tip yuksek islem gucu gerektiren islemler donanimsal olarak halledilmektedir.

ESP32'nin de tabii ki zaman icerisinde cesitli farkli versiyonlari piyasaya surulmus ve surulmektedir: ESP32, ESP32-S2, ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6 ve ESP32-H2 gibi.

ESP32 serisinin genel ozellikleri; Xtensa single/dual core 32-bit LX6 mikroislemci(ler) barindirmasi, Wifi ve Bluetooth (v4.2, BR/EDR ve BLE) barindirmasi, 34 adete kadar programlanabilir GPIO sunmasi, 18 kanala kadar 12-bit SAR ADC ve 2x8-bit DAC gibi cevre birimleridir. Genelde de bircok uygulamada kullanilan ESP32 serisi budur.

ESP32-S2 serisinde ise; 240MHz'e kadar calisabilen single core Xtensa LX7 mikroislemcisi bulunmaktadir. Bu serideki en buyuk degisiklik, WiFi ozelligi bulunurken, Bluetooth ozelliginin var olmamasidir. Bu seride klasik ESP32 serisine kiyasla 43 adete kadar programlanabilir GPIO bulunmaktadir.

ESP32-S3 serisinde, 240MHz'e kadar calisabilen cift cekirdekli Xtensa LX7 mikroislemci bulunmakta ve ek olarak single-precision FPU birimi bulunmaktadir. Bu ozellik sayesinde matematiksel islemlerde daha yuksek performans almak mumkundur.

ESP32-C2 serisinde, 120MHz'e kadar calisabilen 32-bit single core RISC-V mikroislemci bulunmaktadir.

ESP32-C3/C6 serisilerinde ise, 160MHz'e kadar calisabilen single core 32-bit RISC-V mikroislemci bulunmaktadir. C3 serisinde WiFi yani sira Bluetooth 5 (LE) bulunmaktadir. C6 serisinde ise dusuk guc tuketimli WiFi 6'nin yani sira yukseliste olan Thread protokolu de desteklenmektedir, ozellikle bu sebeple C6 serisi Thread Border Router uygulamalari icin oldukca idealdir.

ESP32-H2 serisinde, 96MHz'e kadar calisabilen single core 32-bit RISC-V mikroislemci bulunmaktadir. Kablosuz baglanti anlaminda ise; Bluetooth 5.3 (LE) ve Thread protokolu desteklenmektedir. Bu seri de ayni ESP32-C6 serisi gibi Thread Border Router uygulamalari icin idealdir.

Yukaridaki bahsedilen tum seriler piyasaya surulmustur. Bunlarin disinda duyurusu yapilmayan ancak bu yazinin yazildigi tarih itibariyle henuz piyasaya surulmemis seriler de bulunmaktadir. Bunlar; ESP32-C5 ve ESP32-P4 serileridir.

ESP32-C5 serisi, 240MHz'e kadar calisabilen single core 32-bit RISC-V mimarisinde bir mikroislemci barindirmaktadir. WiFi6 ozelligi ile birlikte hem 2.4GHz hem de 5GHz bandinda calismaktadir. Bluetooth 5 (LE) ozelligi de hali hazirda bulunmaktadir.

ESP32-P4 serisi, 400MHz'e kadar calisabilen high performance dual core 32-bit RISC-V mikroislemcinin yani sira ancak 40MHz'e kadar calisabilen dusuk performansli single core 32-bit RISC-V mikroislemci bulunmaktadir. Ek olarak bu seri, ESP32 serisinin 50 ile en fazla sayida programlanabilir GPIO barindiran serisidir.

Gelistirme kartlarinin inceledigimizde ise karsimiza bir cok farkli firmanin ESP32 modullerini kullanarak farkli sorunlara cozum olmasi amaciyla gelistirmis oldugu bir cok gelistirme karti cikmaktadir.

Gelistirme ortami secenekleri olarak ise; ESP-IDF ve Arduino-ESP32 diger gelistirme seceneklerine gore acik ara onde bulunmaktadir. Bizler, verdigimiz egitimlerde Visual Studio Code uzerinde ESP-IDF gelistirme ortami altinda FreeRTOS icerisinde C programlama dili ile yazilimlar gelistirmekteyiz. Egitim hakkinda detayli bilgiye su linkten ulasabilir: ESP32 ESP-IDF Gomulu Yazilim Gelistirme Egitimi Akliniza takilan her soruyu cevaplamamiz icin bizlere mail yoluyla ulasabilirsiniz: info@iotakademi.com Whatsapp Chat Link