ESP32 Nedir?
ESP32, Çinli Espressif Systems tarafından geliştirilen düşük maliyetli, düşük güç tüketimli ve yüksek performanslı bir sistem çipidir (SoC). Tek çipte WiFi (802.11 b/g/n), Bluetooth Classic ve Bluetooth Low Energy (BLE) barındırması, onu IoT projelerinin vazgeçilmez bileşeni yapmaktadır.
ESP32 Nedir?
ESP32, Espressif Systems tarafından geliştirilen, dahili WiFi (802.11 b/g/n) ve Bluetooth (Classic + BLE) entegre, çift çekirdekli 240 MHz Xtensa LX6 işlemcili, düşük güç tüketimli bir mikrodenetleyici modülüdür. IoT, sensör izleme ve kablosuz kontrol projelerinde tercih edilir.
ESP32 Teknik Özet
Çift çekirdek 240 MHz işlemci · 4 MB Flash · 520 KB SRAM · ~34 GPIO · Dahili WiFi + Bluetooth · Deep sleep ~10 µA · 3.3V mantık seviyesi · Arduino IDE ile programlanabilir · ADC 12-bit · DAC 8-bit
Arduino Uno ile Karşılaştırma
| Özellik | ESP32 | Arduino Uno |
|---|---|---|
| İşlemci | Xtensa LX6 çift çekirdek 240 MHz | ATmega328P 16 MHz |
| Flash | 4 MB | 32 KB |
| RAM | 520 KB SRAM | 2 KB SRAM |
| WiFi | ✅ Dahili | ❌ Yok |
| Bluetooth | ✅ BT + BLE | ❌ Yok |
| GPIO | ~34 pin | 14 dijital + 6 analog |
| Çalışma Gerilimi | 3.3V | 5V |
| Deep Sleep | ~10 µA | Yok |
| Fiyat | Düşük | Orta |
ESP32 Teknik Referans Tablosu
| Parametre | Değer / Açıklama |
|---|---|
| Üretici | Espressif Systems (Çin) |
| İşlemci | Xtensa LX6 çift çekirdek, 240 MHz |
| Flash Bellek | 4 MB (harici, SPI) |
| SRAM | 520 KB |
| WiFi Standardı | 802.11 b/g/n, 2.4 GHz |
| Bluetooth | Classic BT 4.2 + BLE 5.0 |
| GPIO Pin Sayısı | ~34 (modüle bağlı) |
| ADC Çözünürlüğü | 12-bit (18 kanal) |
| DAC Çözünürlüğü | 8-bit (2 kanal) |
| Çalışma Gerilimi | 3.3V mantık (VIN 5V) |
| Deep Sleep Tüketimi | ~10 µA |
| Çalışma Sıcaklığı | -40°C ile +85°C |
Teknik Özellikler ve Pin Yapısı
Önemli Pinler
| Fonksiyon | Pinler | Not |
|---|---|---|
| ADC (Analog Giriş) | GPIO 32–39 | GPIO 34–39 yalnızca giriş |
| DAC (Analog Çıkış) | GPIO 25, 26 | 8-bit gerçek DAC |
| I2C SDA/SCL | GPIO 21 / GPIO 22 | Wire.h ile kullanılır |
| SPI MOSI/MISO/CLK/CS | 23 / 19 / 18 / 5 | SPI.h ile kullanılır |
| UART TX/RX | GPIO 1 / GPIO 3 | USB seri için ayrılmış |
| Touch Pinler | GPIO 4,0,2,15,13,12,14,27,33,32 | Kapasitif dokunma |
| BOOT Butonu | GPIO 0 | Program yükleme modu |
| EN (Reset) | EN pini | Kart yeniden başlatma |
WiFi ve Bluetooth Kullanımı
WiFi Modları
- Station (STA): Mevcut bir WiFi ağına bağlanır (ev/ofis routerına)
- Access Point (AP): Kendi WiFi ağını oluşturur
- STA + AP: Her ikisini aynı anda çalıştırır
Bluetooth Kullanım Alanları
- BLE Server/Client: Sensör verilerini telefona gönderme
- BLE Beacon: Konum veya bilgi yayını
- Serial BT: Klasik Bluetooth ile seri haberleşme (HC-05 benzeri)
Solar Destekli Test, Kontrol ve İzleme Projesi
Bu proje; güneş panelinden enerji alan, batarya ile çalışan ve WiFi üzerinden uzaktan izlenebilen bir ESP32 tabanlı test/kontrol/monitor sistemidir. Endüstriyel sensör okuma, çevre koşulları izleme veya uzak nokta enerji yönetimi gibi alanlarda kullanılabilir.
Sistem Bileşenleri
| Bileşen | Görev | Öneri |
|---|---|---|
| Solar Panel | Enerji üretimi | 5–10W, 6V çıkış |
| Şarj Kontrolörü | Batarya şarj yönetimi | TP4056 (Li-ion) veya CN3791 (MPPT) |
| Batarya | Enerji depolama | 18650 Li-ion veya LFP 3.7V |
| Gerilim Regülatörü | 3.3V sabit çıkış | AMS1117-3.3 veya LDO |
| ESP32 | Kontrol + WiFi | DevKit v1 veya WROOM-32 |
| Sensörler | Veri okuma | DHT22, BME280, INA219 vb. |
Sistem Mimarisi
- Solar panel → şarj kontrolörü → 18650 batarya şarj edilir
- Batarya → 3.3V regülatör → ESP32 beslenir
- ESP32 sensörlerden veri okur (I2C/SPI/Analog)
- WiFi üzerinden MQTT broker'a veya HTTP API'ye veri gönderilir
- Deep sleep ile enerji tasarrufu sağlanır (örn. her 15 dakikada bir uyan)
Deep Sleep ile Güç Tasarrufu
ESP32'nin en güçlü özelliklerinden biri deep sleep modudur. Bu modda tüm çevre birimleri kapatılır, yalnızca RTC (gerçek zamanlı saat) aktif kalır. Tüketim ~10 µA'ye düşer.
| Mod | Güç Tüketimi | Açıklama |
|---|---|---|
| Aktif (WiFi TX) | ~240 mA | Veri gönderimi anı |
| Aktif (WiFi RX) | ~100 mA | Veri alımı |
| Modem Sleep | ~20 mA | CPU çalışır, WiFi uyur |
| Light Sleep | ~0.8 mA | Hızlı uyanma |
| Deep Sleep | ~10 µA | En düşük tüketim |
MQTT ve IoT Entegrasyonu
MQTT (Message Queuing Telemetry Transport), düşük bant genişliğinde çalışan, IoT için optimize edilmiş bir mesajlaşma protokolüdür. ESP32 + PubSubClient kütüphanesi ile kolayca uygulanır.
Popüler MQTT Broker'lar
- Mosquitto — Yerel sunucu, ücretsiz, Raspberry Pi üzerinde çalışır
- HiveMQ — Bulut tabanlı, ücretsiz plan mevcut
- AWS IoT Core — Kurumsal ölçek, güvenli TLS bağlantı
- Home Assistant — Akıllı ev otomasyonu entegrasyonu
Arduino IDE ile Programlama
ESP32'yi Arduino IDE ile programlamak için ek kurulum gerekir:
- Arduino IDE → Dosya → Tercihler açılır
- "Ek kart yöneticisi URL'leri" alanına Espressif URL'si eklenir:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json - Araçlar → Kart → Kart Yöneticisi'nden "esp32" aratılır ve kurulur
- Kart olarak ESP32 Dev Module seçilir
- Upload Speed: 115200, Flash Size: 4MB seçilir
Video: ESP32 Proje Uygulamaları
Aşağıdaki videolarda ESP32'nin temel çalışma prensibi ve Arduino + ESP32 ile kablosuz veri transferi uygulaması gösterilmektedir:
ESP32 Nedir? Nasıl Çalışır?
Arduino ve ESP32 ile Kablosuz Veri Transferi
ESP32 Geliştirme Kartı
BulalGetir'de ESP32 geliştirme kartı sıfır ürün olarak satışta. Projenize hemen başlayın.
Hemen AlSSS
ESP32 nedir, Arduino'dan farkı nedir?
▼ESP32, dahili WiFi ve Bluetooth barındıran, 240 MHz çift çekirdekli bir mikrodenetleyicidir. Arduino Uno'ya kıyasla çok daha hızlı ve kablosuz bağlantılıdır. Ancak 3.3V ile çalıştığından 5V sinyallerine dikkat edilmelidir.
ESP32 ile solar sistemde güç tasarrufu nasıl yapılır?
▼Deep sleep modu ile ESP32 ~10 µA tüketir. Solar panel + şarj kontrolörü + 18650 batarya kombinasyonuyla uzun süreli alan çalışması mümkündür. Her 15 dakikada bir uyanarak veri göndermek için esp_sleep_enable_timer_wakeup() fonksiyonu kullanılır.
ESP32 ile hangi protokollerle IoT projesi yapılabilir?
▼WiFi üzerinden HTTP/HTTPS, MQTT, WebSocket ve Modbus TCP kullanılabilir. BLE ile akıllı telefon entegrasyonu sağlanır. MQTT en yaygın seçenektir; PubSubClient kütüphanesiyle kolayca uygulanır.
ESP32 kaç GPIO pinine sahiptir?
▼ESP32 DevKit v1'de yaklaşık 34 kullanılabilir GPIO pini bulunur. GPIO 34–39 yalnızca giriş olarak kullanılabilir. ADC, DAC, I2C, SPI, UART, PWM ve Touch gibi fonksiyonlar pin paylaşımıyla sunulur.
ESP32 projelerini Arduino IDE ile programlayabilir miyim?
▼Evet. Arduino IDE'ye Espressif board paketi eklenerek ESP32 programlanabilir. Tercihler → Ek kart URL'si alanına Espressif URL'si girilip kart yöneticisinden "esp32" kurulur. Mevcut Arduino kütüphanelerinin büyük çoğunluğu çalışır.