ESP32-CAM Hataları ve Sorun Giderme Rehberi
ESP32-CAM ile bazı projeleri yayınladıktan sonra, bazı okuyucular ESP32-CAM’i kullanmaya çalışırken mail ve canlı destek üzerinden sorunlar bildirdiler. Bu rehber, ESP32-CAM kullanırken en yaygın hataları ve bunların nasıl düzeltileceğini içeren bir derlemedir.
ESP32-CAM ile Telegramdan Fotoğraf Gönderme
En yaygın sorunlara yanıt almak için okuyucularımız tarafından verilen tüm bilgileri topladık.
Farklı bir sorununuz veya bu sorunlara farklı bir çözümünüz varsa aşağıya yorum yazarak ya da forumda başlık açarak ipuçlarınızı paylaşabilirsiniz.
En Yaygın Hatalar
- Failed to connect to ESP32: Timed out waiting for packet header
- Camera init failed with error 0x20001 or similar
- Brownout detector or Guru meditation error
- Sketch too big error – Wrong partition scheme selected
- Board at COMX is not available – COM Port Not Selected
- Psram error: GPIO isr service is not installed
- Weak Wi-Fi Signal
- No IP Address in Arduino IDE Serial Monitor
- Can’t open web server/Web sunucunun açılmaması
- Görüntüde gecikme, kalite hataları
- esp_camera_fb_get(): Failed to get the frame on time!
Failed to connect to ESP32: Timed out waiting for packet header
Bu hata, ESP32-CAM’in flash modunda olmadığı veya FTDI programlayıcıya düzgün bağlanmadığı anlamına gelir.
Kodu yükleme adımlarını iki kez kontrol edin
ESP32-CAM’inizi flash moduna geçirmek için tam adımları uyguladığınızı iki kez kontrol edin. Adımlardan birinin tamamlanamaması bu hataya neden olabilir. İşte izlemeniz gereken adımlar:
Bir FTDI programlayıcı kullanarak ESP32-CAM kartını bilgisayarınıza bağlayın. Sonraki şematik diyagramı izleyin:
ESP32-CAM | FTDI Programcısı |
GND | GND |
5V | VCC (5V) |
U0R | TX |
U0T | RX |
Kod yükleyebilmeniz için GPIO 0’ın GND’ye bağlı olması gerekir.
Birçok FTDI programcısı, 3.3V veya 5V seçmenize izin veren bir jumper’a sahiptir. 5V’u seçmek için jumper’ın doğru yerde olduğundan emin olun.
Kodu yüklemek için sonraki adımları izleyin:
- Arduino IDE Tools(Araçlar) > Board(Kart) > AI-Thinker ESP32-CAM ‘i seçin.
- Arduino IDE Tools(Araçlar) > Port > ESP32’nin bağlı olduğu portu seçin ve kodları yükleyin.
- Debug ekranında “…._…” göründükten sonra reset tuşuna basın. Bir süre sonra kodlar yüklenmiş olacaktır.
- Kodlar yüklendikten sonra GPIO 0 ve GND arasındaki bağlantıyı söküp resete basın.
ESP32-CAM’in kendi örneği olan CameraWebServer örneğinde bu hatayı alıyorsanız Select camera model bölümünden ” #define CAMERA_MODEL_WROVER_KIT” kodunun başına “//” ekleyerek bu satırı yorum satırına çeviriyoruz. Daha sonra “//#define CAMERA_MODEL_AI_THINKER” satırının başından “//” kaldırarak komut satırına çevirip kodu tekrar yüklüyoruz. Bu da hatanızı çözecektir.
Kodu hala yükleyemiyorsanız, GPIO 0’ın GND’ye bağlı olduğunu ve Araçlar menüsünde doğru ayarları seçtiğinizi iki kez kontrol edin. ESP32’nizi flash modunda yeniden başlatmak için yerleşik reset butonuna da basmalısınız. Ayrıca, FTDI programlayıcının 5V’a ayarlanıp ayarlanmadığını kontrol edin.
Kullanmakta olduğunuz FTDI programlayıcısını kontrol edin
Okurlarımızdan biri şunları bildirdi: “esp32-cam modülün sadece CP2102 entegreli FTDI programlayıcısı ile kullanabildim CH340 entegreli programlayıcılar çalışmadı”
ESP32-CAM’i 5V ile besleyin
Okurlarımızdan bazıları, yalnızca ESP32’ye 5V ile güç verildiğinde kod yükleyebileceklerini bildirdi. Bu nedenle, ESP32-CAM’i 5V ile besleyin.
FTDI Programlayıcı 5V
ESP32-CAM’inize 5V sağladığından emin olmak için bir multimetre kullanarak FTDI programlayıcınızın (VCC ve GND) çıkış voltajını ölçün.
Camera init failed with error 0x20001 or similar
Tam olarak bu hatayı alıyorsanız, kamera OVX flex kablosu ESP32 kartınıza düzgün bağlanmamış veya kodda yanlış pin atamanız var demektir.
Bazen, FTDI programlayıcısını birden çok kez çıkarıp takmak veya kartı birden çok kez yeniden başlatmak sorunu çözebilir.
Kamera düzgün bağlanmamış olabilir
Kameranın küçük bir konektörü vardır ve doğru bir şekilde bağlandığından emin olmalısınız, aksi takdirde bağlantı kurulamaz.
Kodda yanlış pin ataması
Bu hatayı aldığınızda, tanımlama bölümünde doğru kartı seçmediğiniz veya kartınız için pin tanımının yanlış olduğu anlamına da gelebilir.
Projelerinizde doğru kamera modülünü seçtiğinizden emin olun. Doğru kamera modülünün yorumunu kaldırmanız ve diğerlerini yorumlamanız yeterlidir:
//#define CAMERA_MODEL_WROVER_KIT
//#define CAMERA_MODEL_M5STACK_PSRAM
#define CAMERA_MODEL_AI_THINKER
Bu örnekte, CAMERA_MODEL_AI_THINKER kullanıyoruz, yani etkin olan bu. Aksi takdirde pin ataması başarısız olur ve kamera başlatılamaz.
ESP32 ile OV kamera arasındaki kablolamanın farklı olabileceği, piyasaya sürülen birçok esp32-cam kartı (“sahte kartlar”) var, bu nedenle kamera modülünü seçmek yeterli olmayabilir. Her bir gpio bildirimini pano pin çıkışınızla kontrol etmeniz gerekebilir.
Örneğin, PSRAM’siz M5Stack kartı, PSRAM’li M5STACK’ten farklı bir pin atamasına sahiptir (varsayılan olarak kodda tanımlanmıştır). Bu yüzden koddaki pin tanımını kart pin atamasına göre değiştirmeniz gerekiyor.
USB kaynağı üzerinden yeterli güç yok
ESP32’nize bilgisayarınızdaki bir USB bağlantı noktasından güç sağlıyorsanız, yeterli güç sağlamıyor olabilir.
Hatalı FTDI programcısı
Bazı okuyucular, bu sorunun FTDI programlayıcılarını değiştirerek çözüldüğünü de bildirdi.
Kamera/konektör bozuk
Bu hatayı alırsanız, kameranızın veya kamera flex kablosunun bozuk olduğu anlamına da gelebilir. Bu durumda, yeni bir OV2640 kamera probu alabilirsiniz.
Brownout detector or Guru meditation error
Arduino IDE Seri monitörünüzü açtığınızda ve “Brownout detector was triggered” hata mesajı sürekli tekrar tekrar yazdırılıyorsa. Bu, bir tür donanım sorunu olduğu anlamına gelir.
Genellikle aşağıdaki sorunlardan biriyle ilgilidir:
- Düşük kaliteli USB kablosu
- Uzun USB kablosu
- Kusurlu kart (kötü lehim bağlantıları)
- USB bağlantı noktası bozukluğu
- Yetersiz USB beslemesi
Çözüm
Farklı ve daha kısa bir USB kablosu deneyin (veri kablolarıyla birlikte). Farklı bir USB bağlantı noktası kullanın veya harici bir güç kaynağına sahip bir USB hub’ı kullanın. Bazı okuyucular, ESP32-CAM’i 5V ile çalıştırırken sorunun çözüldüğünü bildirdi.
Sketch too big error – Wrong partition scheme selected
Aşağıdaki hatayı aldığınızda:
Sketch too big; see http://www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it.
Error compiling for board ESP32 Dev Module.
Arduino IDE’nizde Tools > Partition Scheme’e gidin, “Huge APP (3MB No OTA)” seçeneğini seçin.
Board at COMX is not available – COM Port Not Selected
Aşağıdaki hatayı veya benzerini alırsanız:
serial.serialutil.SerialException: could not open port 'COM8': WindowsError(2, 'The system cannot find the file specified.')
Failed to execute script esptool
the selected serial port Failed to execute script esptool
does not exist or your board is not connected
Board at COM8 is not available
Araçlar menüsünde COM bağlantı noktasını seçmediğiniz anlamına gelir. Arduino IDE’nizde Araçlar > Bağlantı Noktası’na gidin ve ESP32’nin bağlı olduğu COM bağlantı noktasını seçin.
Ayrıca, ESP32-CAM’in bilgisayarınızla seri bağlantı kurmadığı veya USB konektörüne doğru şekilde bağlanmadığı anlamına da gelebilir.
Psram error: GPIO isr service is not installed
PSRAM’siz bir kart kullanıyorsunuz ve aşağıdaki hatayı veya benzerini alıyorsunuz:
E (161) gpio: gpio_isr_handler_remove(380): GPIO isr service is not installed, call gpio_install_isr_service() first
Camera init failed with error 0x101
kart aşağıdaki ayarlarla başlatıldığında:
config.frame_size = FRAMESIZE_UXGA;
config.jpeg_quality = 10;
config.fb_count = 2;
Aşağıdakileri eklemek sorunları giderir (görüntü çözünürlüğünü düşürür, bu nedenle görüntüleri depolamak için çok fazla alana ihtiyaç duymaz. Ancak sonuç olarak, sınırlı bellek nedeniyle bazı yüksek çözünürlüklü biçimleri elde edemezsiniz):
if(psramFound()){
config.frame_size = FRAMESIZE_UXGA;
config.jpeg_quality = 10;
config.fb_count = 2;
} else {
config.frame_size = FRAMESIZE_SVGA;
config.jpeg_quality = 12;
config.fb_count = 1;
}
Yüz tanıma ve algılama, PSRAM’siz kartlarla çalışmaz. Ancak yine de kartın diğer tüm işlevlerini kullanabilirsiniz.
Düşük Wi-Fi Sinyal Sorunu
ESP32-CAM, yerleşik anteni veya harici bir anteni kullanma seçeneğine sahiptir. ESP32-CAM AI-Thinker’ınızın Wi-Fi bağlantısı yoksa veya zayıf bağlantı varsa, harici anten etkinleştirilmiş olabilir. Konektöre harici bir anten bağlarsanız, iyi çalışması gerekir.
Anten konektöründeki 0K atlama teli direncinin istenen anten için doğru konumda olup olmadığını kontrol edin. Orta konum ortak olmak üzere “<” şeklinde düzenlenmiş 3 küçük beyaz kare vardır.
Aşağıdaki fotoğraf, o bölgeye daha yakından bir bakış göstermektedir. Yerleşik antene bağlanan küçük bir 0K direncini açıkça görebilirsiniz.
Kart, PCB anteni yukarı gelecek şekilde döndürüldüğünde:
PCB antenini kullanmak için direnç en üst konumda olmalıdır, şu şekilde: /
Anten konektörü için direnç aşağıdaki gibi alt konumda olmalıdır: \
Bu nedenle, yerleşik anteni etkinleştirmek için:
Antene giden direnci lehimleyin, bu konumdadır\
Ve yerleşik anteni etkinleştirmek için iki bağlantıyı birbirine lehimleyin.
IP Adresi Gelmemesi Sorunu
Seri monitörde (……) basılmış noktalar görüyorsanız, bu, ESP32-CAM’inizin yönlendiricinizle Wi-Fi bağlantısı kurmadığı anlamına gelir.
Ağ kimlik bilgilerinizi iki kez kontrol edin
Aşağıdaki değişkenlere tam ağ kimlik bilgilerinizi (SSID ve parola) yazdığınızdan emin olmanız gerekir:
const char* ssid = "WIFI AĞ İSMİNİZ";
const char* password = "WIFI AĞ ŞİFRENİZ";
Arduino IDE Seri Monitörde doğru baud hızını seçin
Arduino IDE Seri Monitörde doğru baud hızını seçmezseniz, kart IP adresinizi alamazsınız veya sadece ekranda anlamsız veriler alırsınız.
Doğru baud hızını seçtiğinizden emin olun. ESP32-CAM ile verdiğimiz örneklerde 115200 baud hızı kullanıyoruz.
Kartı birden çok kez sıfırlayın
Ayrıca, ESP’nizi yeniden başlatmak ve önyükleme sırasında IP adresini yazdırmak için ESP32-CAM yerleşik RESET düğmesine birden çok kez basmanız gerekebilir.
RX ve TX yer değiştirin
ESP32 kartınız ile FTDI programlayıcı arasındaki bağlantıları iki kez kontrol edin. RX TX’e, TX RX’e gidiyor. Bu bağlantılar değiştirilirse, ESP32-CAM bilgisayarınızla seri iletişim kuramaz.
Wi-Fi menzili
Modem, ESP32 kartınızdan uzaktaysa Wi-Fi sinyalini yakalayamayabilir. ESP32-CAM’inizin modeminize oldukça yakın olduğundan emin olun.
Can’t open web server / Web sunucunun açılamaması
ESP32-CAM, Arduino IDE Seri Monitörünüzde IP adresini yazdırıyorsa, ancak web sunucusunu web tarayıcınızda açmaya çalıştığınızda boş bir ekran görüyorsanız, bu genellikle ESP32-CAM web’e erişmeye çalıştığınız anlamına gelir. birden çok web tarayıcı sekmesi açıksa bu problem meydana gelebilir.
Görüntüde gecikme, kalite problemi
Bu kadar küçük ve ucuz bir kamera için biraz gecikme olması normaldir. Bazı okuyucular gecikmeyi azaltmak için aşağıdakileri önerdi:
- ESP32-CAM’i bağımsız bir 5V güç kaynağıyla çalıştırın
- Kodunuzda aşağıdakilerle çerçeve boyutuna(frame size) küçültün:
- config.frame_size = FRAMESIZE_SVGA veya
- config.frame_size = FRAMESIZE_VGA
- Harici bir anten kullanın.
esp_camera_fb_get(): Failed to get the frame on time!
devreyakan.com olarak bu sorunla hiç karşılaşmadık. Ancak birçok okuyucu, ESP32-CAM kartlarında bu hatayı alıyor.
Okurlarımızdan biri bu sorunu çözmek için aşağıdakileri önerdi:
“Aliexpress’ten ESP32-CAM Modülü 2MP OV2640 Kamera sensörü Modülü Tip-C USB modülünü kullanıyorum. Bahsedilmediği halde, diğer M5 modellerinin sahip olduğu ekstra PSRAM’e sahip değildir ve kamerada değiştirilmiş bir IO pini vardır.
Muhtemelen hepimizin kullandığı CameraWebServer Arduino örneğinde bu ESP32-CAM modeli tanımlı değil.
Ana sekmede kendiniz eklemeniz gerekir:
#define CAMERA_MODEL_M5STACK_NO_PSRAM
Ve camera_pins.h sekmesinde aşağıdakileri ekleyin:
#elif defined(CAMERA_MODEL_M5STACK_NO_PSRAM)
#define PWDN_GPIO_NUM -1
#define RESET_GPIO_NUM 15
#define XCLK_GPIO_NUM 27
#define SIOD_GPIO_NUM 25
#define SIOC_GPIO_NUM 23
#define Y9_GPIO_NUM 19
#define Y8_GPIO_NUM 36
#define Y7_GPIO_NUM 18
#define Y6_GPIO_NUM 39
#define Y5_GPIO_NUM 5
#define Y4_GPIO_NUM 34
#define Y3_GPIO_NUM 35
#define Y2_GPIO_NUM 17
#define VSYNC_GPIO_NUM 22
#define HREF_GPIO_NUM 26
#define PCLK_GPIO_NUM 21
Umarız bu öneri sorununuzu çözer.
Daha büyük microSD kart boyutları kullanma
Veri sayfasına göre, ESP32-CAM yalnızca 4GB microSD kartları desteklemelidir.
Ancak, 16GB microSD kart ile test ettik ve sorunsuz çalıştı.
16 GB’a sahip olsanız bile 4 GB’den fazlasını depolayamayabilirsiniz. 4 GB’den fazla depolamayı test etmedik, bu yüzden bundan emin değiliz.
Yorum yapma özelliği, forum tarafından gelen istek sebebiyle kapatılmıştır. Lütfen tartışmalar ve sorularınız için topluluk forumumuza katılın.