Raspberry Pi Zero + OpenCV ile Akıllı Güvenlik Kamerası

Merhaba Dostlar,

Bu makalem de Raspberry Pi Kamera ve OpenCV ile bir akıllı güvenlik kamerası yapımını anlatacağım.

Port açma yöntemi ile istediğiniz yerden kameranızın görüntüsüne ulaşabileceksiniz. Projemiz görüntülenen alan da OpenCV yardımıyla yüz algıladığı durumlarda belirlediğimiz bir gmail hesabına yakalanan yüzün fotoğrafını atacaktır.

Araç / Gereç

  • Raspberry Pi Zero
  • Raspberry Pi Kamera
  • Minimum 16GB SD Cart

Aşama 1 : Raspberry Pi Zero Kamera Kurulumu

İlk yapmamız gereken kamera girişini bağlamak ve kameramızın fotoğraf çektiğin den emin olmak bu işlemi daha önce anlattığım Raspberry Pi Kamera Kullanımı makalemi inceleyebilirsiniz.

raspi-zero-cam

Aşama 2 : Raspberry Pi  OpenCV Kurulumu

İkinci aşamamız ise yüz tanımlama işlemini yapabilmemiz için Raspian işletim sistemine OpenCV yazılımını kurmak olacaktır.

Bu işlemi de Raspberry Pi OpenCV Kurulumu yazımdan ulaşabilirsiniz.
OpenCV_Logo_with_text

Aşama 3 : Raspberry Pi Güvenlik Kamerası Yazılımının Kurulumu

OpenCV sizden sanal ortam yaratmanızı isteyecektir.

Aşağıdaki komutları yazarak sanal ortamı kullandığınızdan emin olun.

source ~/.profile
workon cv

Bu linke tıklayarak yazılım dosyalarını indirebilirsiniz. Dosyaları indirdikten sonra dizine girelim.

cd Akilli-Kamera-Uygulamasi

Proje için bağımlılıkları kurmak gerekiyor bu komutu girerek kurunuz.

pip install -r gereksinimler.txt

OpenCV yüz algılandığında e-posta almak için, mail.py dosyasında birkaç değişiklik yapmanız gerekiyor.

Mail.py‘yi nano ile açın, sonra aşağıdaki kod parçacığının olduğu yeri bulun.

# Resimlerin yollanacağı mail adresi (Yalnız Gmail ile çalışır.)
emailAdres = ‘[email protected]
emailSifre = ‘sifre1234’
gidecekEmail = emailAdres

ve kendi e-posta adresinizle bilgilerinizi değiştirin. Mail.py dosyası bir gmail SMTP sunucusuna giriş yapar ve güvenlik kamerası tarafından tespit edilen nesnenin resmini içeren bir e-posta gönderir.

Kaydetmek ve çıkmak için ctrl+x basın sonra “y” yazıp enter işlemini uygulayın.

Main.py dosyasını, diğer özellikleri ayarlamak için değiştirebilirsiniz.

email_update_interval = 600 # bu zaman aralığında yalnızca bir kez e-posta gönderir
video_camera = VideoCamera(flip=True) # Dikey olarak bir kamera nesnesi oluşturur
object_classifier = cv2.CascadeClassifier(“models/fullbody_recognition_model.xml”) #OpenCV Sınıflandırıcısı

Aşağıdaki degişkenin dizin yolunu degiştirerek yüz tanıma,vücut tanıma gibi farklı bir nesne detektörü kullanabilirsiniz.

object_classifier = cv2.CascadeClassifier (“models / fullbody_recognition_model.xml”)
facial_recognition_model.xml # Yüz tanımlama sınıfı
fullbody_recognition_model.xml # Vücut tanımlama sınıfı

Son olarak programı çalıştırınız.

python main.py

Raspberry Pi’nizin ip adresini aynı ağdaki bir tarayıcıda ziyaret ederek canlı yayını görüntüleyebilirsiniz. Raspberry Pi’nizin ip adresini, terminale ifconfig yazıp inet kısmına bakarak bulabilirsiniz.

Raspberry Pi İp Adresi Bulma
Raspberry Pi İp Adresi Bulma

Akışı görüntülemek için tarayıcınızda ipadresiniz:5000 adresini ziyaret edin.

Açılan sayfada bir kullanıcı adı ve şifre isteyecek bu bilgileri Main.py sayfasını açarak degiştirelim

app.config[‘BASIC_AUTH_USERNAME’] = ‘iskender’
app.config[‘BASIC_AUTH_PASSWORD’] = ‘0123456789’
Raspberry Pi Web Host Kamera
Raspberry Pi Web Host Kamera

Aşama 3 : E-postaları Alma

İlk kez bir e-posta alırken, Google’dan aşağıdaki gibi güvenlik bildirimi alabilirsiniz:

Google Güvenlik Uyarısı
Google Güvenlik Uyarısı

Varsayılan olarak Google, uygulamaların SMTP’yi izinsiz kullanmasını engeller. Bunu “daha az güvenli uygulamalara izin ver” bağlantısına tıklayarak çözebilir ve özelliği açıp kapatabiliriz. Algılanan sonraki nesne resmini görebilirsiniz.

daha-az-güvenli-uygulamalara-izin ver

Sonuç

Opencv Nesne Tanımlama
Opencv Nesne Tanımlama
opencv-yuz-tanima
Raspberry Pi Yüz Tanımlama

3 Comments

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

%d blogcu bunu beğendi: