Arkadaşlar selamlar, bu projede güvenlik kamerası gibi görünen ancak işlevi olmayan sahte bir kamerayı hareket algıladığında fotoğraf çekip bize mail atan IoT tabanlı akıllı bir güvenlik kamerasına dönüştürüyoruz.
IoT Tabanlı Akıllı Güvenlik Kamerası Projesi
Kullanacağımız malzemeleri yakından tanıyarak işe başlayalım.
Proje Malzemeleri
- ESP32-CAM WiFi Bluetooth Geliştirme Kartı + OV2640 Kamera Modül
- SanDisk 32 GB microSD Hafıza Kartı
- FTDI Programlama Kartı
- HC-SR505 Mini PIR Hareket Algılama Modülü
- Mikro USB Dip Dönüştürücü
- BC547 – TO92 Transistör
- 1/2 W 10K Direnç
- 1/2 W 1K Direnç
Projenin ana kahramanı ESP32-CAM geliştirme kartı olacak.
Kartı programlamak için bir FTDI programlama kartı kullanacağız. Üzerindeki jumper ile çıkış gerilimini 5V olacak şekilde ayarlıyoruz.
Ortamdaki hareketi tespit etmek için PIR sensörü kullanacağız.
Kullanacağımız transistör NPN tipi bir transistör olan BC547 olacak.
Yazılım
Yazılım tarafında kullanacağımız kod oldukça temel bir algoritmaya sahip. Yazılım, PIR sensöründen aldığımız hareket sinyalini ESP32-CAM’e gönderecek. Ardından sinyal geldiği andaki fotoğraf karesi tanımlı e-posta adresine iletilecek. Koda buraya tıklayarak ulaşabilirsiniz.
Kod Yükleme
Yazdığımız kodu ESP32-CAM’ yükleyebilmek için gerekli bağlantıyı aşağıdaki şemadaki gibi kuruyoruz. Bağlantıyı kurduktan sonra FT232 kartını USB portu üzerinden bilgisayara bağlıyoruz.
Sketch’de Dosya>Tercihler bölümünde “Ek Devre Kartları Yöneticisi URL’leri” kısmına aşağıdaki linki ekleyelim:
https://dl.espressif.com/dl/package_esp32_index.json
Ardından Sketch’de “Araçlar>Kart>Kart Yöneticisi” bölümünde ESP32’yi bulup yükleyelim.
Kod içerisinde aşağıdaki kütüphanelerden faydalanacağız.
Kodu yükleyebilmek için ayarları aşağıdaki şekilde yapalım ve kodu ESP32Cam’e yükleyelim.
Aşağıdaki bağlantı şemasını kullanarak PIR sensörünü ve diğer komponentleri ESP32-CAM’e bağlayalım.
Son olarak bütün donanım ekipmanlarını kasa içerisine uygun bir şekilde monte edelim.
Tetkikleme devresi ve kabloları pil yatağına gizleyerek kablo karmaşasından kurtulabiliriz. Kasa üzerindeki küçük delikleri de kablo geçişleri için kullanabiliriz.
Montaj aşamasının ardından projenin sonuna gelmiş olduk, şimdi test zamanı. Artık kendi üretimimiz olan IoT Tabanlı Akıllı Güvenlik Kameramızı uygun bir yere yerleştirip kullanmaya başlayabiliriz.
Kameramız hareket algıladıkça çektiği fotoğrafları bize iletmeye başladı.
Test aşamasının ardından projenin doğru bir şekilde çalıştığını görmüş olduk. Proje ile ilgili fikir ve düşüncelerinizi yorumlar kısmında paylaşabilirsiniz. Bir sonraki projede görüşünceye dek, hoşça kalın. 🙂
Artık kamerayı tavana yerleştirince güç kaynağı olarak kullandığınız bilgisayarı da yanına montelersiniz. Eğer Lipo pil ya da harici güç kaynağı ile oluşturulmuş bir proje olsaydı daha kullanışlı olurdu.
🙂 Görüntü gözümün önüne geldi 🙂 Aslında güç kaynağı olarak PC kullanmadım… 5VAC USB adaptör ile beslenebiliyor. 220 VAC girişli 5VAC çıkışlı standart bir cep telefonu şarj aleti ile besleyebilirsiniz. Yani enerji için ihtiyacınız olan şey PC değil sadece 220 VAC bir priz 🙂 Makers gonna make !
BİR PROJE DE SEN YAP GÖRELİM. BUNU YAPAN SEN KADAR BİLMİYOR MU? .ÖNCE TEŞEKKÜR ETMEYİ ÖĞREN…
ESP32Cam’in sağ tarafindaki 2 yeşil yere bir şey bağlıyor muyuz onlar neden yeşil?
Selamlar,
Sağdaki dördüncü ve sekizinci pinler GND pinleridir.
İyi çalışmalar dileriz 🙂
Kamera şuanda video olarak kayıt yapmıyor anladığım kadarıyla değil mi? Video olarak kaydetmesi için ne yapmamız gerek?
Merhaba.
Bu projeyi yapmaya çalışıyorum ama derlerken hata veriyor.Sorun nerededir? Hata şöyle;
hirsiz_kamerasi:38:25: fatal error: camera_pins.h: No such file or directory
“SD.h” için birden fazla library bulundu
compilation terminated.
Kullanılıyor: C:\Users\bahadır\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SD
Kullanılmıyor: C:\Program Files (x86)\Arduino\libraries\SD
Kullanılmıyor: C:\Users\bahadır\Documents\Arduino\libraries\SD
“WiFi.h” için birden fazla library bulundu
Kullanılıyor: C:\Users\bahadır\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Kullanılmıyor: C:\Program Files (x86)\Arduino\libraries\WiFi
exit status 1
camera_pins.h: No such file or directory
camera_pins.h dosyasını bulup arduinoda kodu yüklerken yan sekmede açık tutun hocam
Hocam camera_pins.h kütüphanesi bulunamıyor bunu kütüphanelere nasıl ekleyebiliriz?
Gerekli kütüphaneyi GitHub veya başka kaynak üzerinden “.zip” uzantılı olarak indirirseniz Arduino IDE’ye “.zip uzantısını kullanarak kütüphaneyi yükle” seçeneğinden yapabilirsiniz.
Hocam onu denedik de zip uzantılı halini bulamadık yardımcı olur musunuz?
“https://github.com/espressif/arduino-esp32/blob/master/libraries/ESP32/examples/Camera/CameraWebServer/camera_pins.h” adresinden indirebilirsiniz.
Ben de çözemedim hocam zip klasörü yok hiç bilmeyenlere anlatır mısınız acaba ?
Merhabalar acaba kodu yüklerken kablolar nasıl takılı olmalıdır e-mail hesabına bildirimde bulunursanız sevinirim
ben bu uygulama icin programlayici secemedim No programers available for thid board yaziyo ve
ESP32_MailClient.h: No such file or directory hatasi veriyor ne yapmaliyim?
Öncelikle gerekli kütüphaneleri yüklemeniz gerekiyor. Eğer bunu yapmazsanız bu şekilde bir hata alabilirsiniz. Kartı tanıtmak içinse, gerekli kart adresini Arduino’ya tanıtmalı ve sonra da kartı eklemelisiniz 🙂
MERHABA AMA BİZDE KÜTÜPHANEYİ BULAMAMAKTAYIZ KÜTÜP HANEYİ ÇALIŞIR LİNKİNİ YAZAR MISINIZ
“https://github.com/mobizt/ESP32-Mail-Client/blob/master/src/ESP32_MailClient.h” adresinden indirebilirsiniz.
ben de bulamadım, kod yükleniyor ama videoda gösterildiği gibi programlayıcı seçemedim. Hiç seçmeden yükledim ama kameradan çekilen fotoğraflar mail olarak gelmedi. Sorunun cevabını internette de bulamadım.
Siz nasıl bu hatadan kurtuldunuz.
bendede programlayici secilmiyor ve sorun kesinlikle o , ek kutuphaneler indirdim yine ise yaramadi , eger cozersen bana da bildir lutfen
sorunun cevabını alabildin mi aynı sıkıntıyı bende yaşıyorum.
exit status 1
ESP32 Wrover Module kartı için derleme hatası.
bu hatayi veriyor suan
Yükleme yaparken ”A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header” böyle bir hata alıyorum ve yükleme yaparken esp32-cam’in ısıgı yanmıyor sebebini biliyormusunuz acaba?
hocam sorun herkeste ayni programci secilemiyor bi yardimci olun okadar para verdim malzemelere 15 gun sonra askere gitcem yapaamadan gidersem hem aklim kalir hemde malzemeler cop olur bi zahmet ilgilenirseniz ,,,
Merhaba bu projede simülasyon sonucunda nasıl bir grafik elde edebiliiriz? Proteusta gerçeklenen bir simülasyonunu yaptık ancak sonuç grafiği alamıyoruz DC kaynak mı kullanılıyor?
#include “camera_pins.h”
kütüphanesini nereden buldunuz ?
kod için verdiği linkte sizi github a yönlendiriyor. o dosyaların içinde mevcut. kütüphane nasıl yüklenir videosunu izlerseniz kolay bir işlem yaparsınız
Ben kodu yükledim. Bağlantıları yaptım. Ancak pır sensör çalışmıyor. Eposta gönderimi yapıyor. Acaba bağlantı şemasında hata olabilir mi?
Bağlantı aşağıdaki şekilde
https://drive.google.com/file/d/11eB5IkCu1K8NISng9Dl1AUhxMOOOazW8/view?usp=sharing
PIR sensörünüzü ayrı bir şekilde kontrol etmelisiniz, sorun o sensörde olabilir.
Sensör hiç kullanılmadı robotistandan almıştım.
Anladım fakat onu ayrı bir şekilde kontrol ve kalibre etmelisiniz.
Nasıl yapabilirim? Daha yeniyim bu işlerde.
PIR sensör, Şemada GPIO_NUM_15’e takılmış, koda göre GPIO_NUM_13’e takılmış görünüyor. Buna dikkat ettiniz mi? Etmediyseniz o yüzden çalışmamıştır.
Eğer sürekli, 10 saniyede bir fotoğraf çekerse
rtc_gpio_pullup_en(GPIO_NUM_13); // Bu satırı buraya ekleyin
esp_sleep_enable_ext0_wakeup(GPIO_NUM_13, 0);
Çok teşekkür ederim. Söylediğiniz kodu ekledim. Bir de pin değişikliği yapınca çalıştı sistem.
Söylediğiniz gibi bu satırı buraya ekleyin bölümüne ekleme yaptım “esp_sleep_enable… ” diye başlayan satırın üstüne. Ancak her on saniyede bir e-posta gönderiyor.
PIR sensörü devreden ayırın. Sensörün çıkış ucuna 220-330 ohm civarı bir direnç ve LED bağlayın. PIR sensör hareket algıladığında çıkış pinine bir süre enerji verir. Bu süreyi ayarlamak için sensör üstünde bir ayarlı direnç olmazı lazım. O dirençle ayar yaparak LED’in yanma süresini 10 saniyenin altına düşürün. Yine de olmazsa bir parçanızda arıza durumu vardır diye düşünüyorum.
mac bilgisayarda arduino ide üzerinden programlayıcı görünmüyor;kartı değiştirip tekrar arduino uno seçtiğimde bana programlayıcı seçenekleri çıkıyor:acaba tercihler_özellikler bölümündeki link windows için olduğundan olabilir mi? çünkü link içeriği windows ile ilgili 🙁
Merhabalar. Öncelikle yaptığınız projeler için tüm robotistan ekibine teşekkürlerimi sunmak istiyorum. Bendeniz kodlama, kart vs… gibi konulardan çok uzağım. Söyleyeceğim şudur ki bana bir esp32cam ‘i hazır halde (kurulumu, kodlaması vs.yapılmış) satabilir misiniz? Yardımcı olursanız sevinirim. İyi çalışmalar…
Merhaba ben bu devreyi kurdum programlamasını yaptım. Enerjiyi verdiğimde devre çalışıyor fotoğrafı çekip mailime yolluyor. Ancak daha sonra fotoğraf çekmiyor wifi bağlantısı falan tamamen kesiliyor. esp32’de ki 5v girişini veya gnd kablosunu çıkartıp taktığımda tekrar fotoğraf çekiyor yolluyor sonra yine ikinciyi yollamıyor bu hep böyle devam ediyor sorun ne olabilir? yardımcı olursanız memnun olurum.
Aynı sorunu bende yaşıyorum bir sonuca ulaşabildiniz mi?
Aynı sorun bende de var çözüm bilen varsa yazsın lütfen
bu sistem 4g shield ile calisir mi? hangi shieldi kullanmak gerekir?
Merhaba
Bu kameraya simcard ekleyebiliyormuyuz? mobil şebeke üzerinden mail atması için? ayrıca ne kadar bir maliyet oluşuyor?
teşekkürler
‘camera_config_t’ was not declared in this scope
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sscb_sda = SIOD_GPIO_NUM;
config.pin_sscb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 20000000;
config.pixel_format = PIXFORMAT_JPEG;
kodum ise bu
Bu projede PIR Sensör kullanmadan görüntü işleme ile hareketi algılayabilirmiyiz?
Bununla ilgili bir örnrk varmı?
Bunun için Raspberry Pi kullanabilirsiniz.
ESP üzerinden gelen görüntüyü vlcplayer üzerinden izleyebilirsiniz acaba
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
çözemedim bir türlü sorunu neden kaynaklanıyor olabilir acaba