Ana Sayfa Raspberry Pi Raspberry Pi ile Harekete Duyarlı Güvenlik Kamerası

Raspberry Pi ile Harekete Duyarlı Güvenlik Kamerası

10 min read
17
0
6,933

Merhaba arkadaşlar,

Bu yazımda sizlere USB kamera ve PIR sensörü ile yaptığım güvenlik kamera çalışmasını anlatmaya çalışacağım. Evde – iş yerinizde veya herhangi bir yerde bu sistemi kurarak ortamın güvenliğini sağlayabilirsiniz. Uygulamamız ortamda herhangi bir hareket algıladığında kamera ile fotoğrafını çekip sizin mailinize göndererek haber veriyor. Örnek olarak uygulama videosunu da izleyebilirsiniz.

Hadi şimdi uygulamamızı yapmaya başlayalım..

Malzeme listemizi oluşturalım öncelikle.

1 adet Raspberry Pi

1 adet USB Kamera

1 adet PIR sensörü

3 adet jumper (dişi-dişi)

1 adet Nano Usb adaptör (isteğe bağlı ama taşınabilir olması açısından önemli)

1 adet mobil sarj (çıkış gücü 5v-1000mA(max)) (isteğe bağlı ama taşınabilir olması açısından önemli)

Mobil sarjı raspberry pi’ nin enerji girişine bağlayarak uzun süreli prizden uzakta kullanabilirsiniz.

Nano USB Adaptör Ayarları

Şimdi nano USB wifi adaptör ayarlarını yapalım. Daha önceden Ethernet kablosuyla interneti paylaştırarak kullandığımız Raspberry Pi’ yi artık bilgisayardan bağımsız ve kablosuz olarak istediğimiz yerde kullanabiliriz. Usb adaptörü taktıktan sonra Ethernet kablosu ile bağlantı yaparak ayarları yapacağız. Terminale eriştikten sonra şu komutu gireceğiz.

  • sudo nano /etc/network/interfaces

komutu girdikten sonra çıkan ayarları aşağıdaki gibi değiştireceğiz.

auto lo

 

iface lo inet loopback

iface eth0 inet dhcp

 

allow-hotplug wlan0

auto wlan0

 

iface wlan0 inet dhcp

wpa-ssid “”   // kullanacağınız Wi-Fi ağının SSID numarasını girin

wpa-psk “”  // kullanacağınız Wi-Fİ ağının parolasını girin

 

bu ayarları yaptıktan sonra kaydedip Raspberry Pi’ yi yeniden başlatın. Artık Ethernet kablosu olmadan Raspberry Pi’ yi kullanabilirsiniz. Ve bu ağa bağlı olan her cihazdan  Raspberry Pi’ ye bağlanabilirsiniz. Telefondan bağlanmak için Android uygulamalar var (mobile SSH gibi).

PIR sensörü ile ilgili ayrıntılı bilgilere bir önceki  yazıdan ulaşabilirsiniz. PIR sensör bağlantılarını ve işlemleri önceki yazıdaki gibi yaptıktan sonra kontrol edin eğer çalışıyorsa devam edin yoksa adımları tekrar kontrol edip hataları giderin.

USB Kamera Ayarları

Şimdi USB kamera ayarlarını yapalım.

Kamerayı raspberry Pi kapalı iken  takın veya taktıktan sonra yeniden başlatın.

Daha sonra şu komutları girin.

  • Sudo apt-get install ssmtp
  • Sudo apt-get install mailutils

Yüklemeler bittikten sonra aşağıdaki komutla ayarların bulunduğu sayfaya girin.

  • sudo nano /etc/ssmtp/ssmtp.conf

#

# Config file for sSMTP sendmail

#

# The person who gets all mail for userids < 1000

# Make this empty to disable rewriting.

root=postmaster

 

# The place where the mail goes. The actual machine name is required no

# MX records are consulted. Commonly mailhosts are named mail.domain.com

mailhub=smtp.gmail.com:587

 

# Where will the mail seem to come from?

#rewriteDomain=

 

# The full hostname

hostname=raspberrypi

 

# Are users allowed to set their own From: address?

# YES – Allow the user to specify their own From: address

# NO – Use the system generated From: address

AuthUser=aaa@gmail.com //gönderilecek mail hesabı yazıyoruz.

AuthPass=123456            // gönderilecek mail hesabın parolasını yazıyoruz.

 

FromLineOverride=YES

UseSTARTTLS=YES

AuthLogin=Yes

##

Bu ayarları yukarıdaki gibi düzelttikten sonra gönderilecek mail hesabının güvenlik derecesini azaltıyoruz. Yoksa güvenlik sebebi ile mail gönderimini engelliyor.

İşlemleri bitirdikten sonra aşağıdaki kodu yeni bir sayfa açarak yazıyoruz. (sudo nano campır.py gibi)

#!/usr/bin/python

import RPi.GPIO as GPIO

import time

import smtplib

from email.MIMEMultipart import MIMEMultipart

from email.MIMEImage import MIMEImage

from email.MIMEText import MIMEText

from email.Utils import COMMASPACE, formatdate

from email import Encoders

import subprocess

def sendEmail():

grab_cam = subprocess.Popen(“sudo fswebcam -p YUYV image1.jpeg”,shell=True)

grab_cam.wait()

image_path = ‘image1.jpeg’

username = “aaa@gmail.com” # gönderilen mail hesabın adını yazıyoruz

password = “123456”            # gönderilen mail hesabın şifresini yazıyoruz

COMMASPACE = ‘,’

message = MIMEMultipart()

message[‘Subject’] = ‘Hareket Algilandi’

me = ‘bbbbb@gmail.com’ # gönderilecek mail hesabın adını yazıyoruz

receivers= ‘bbbbb@gmail.com’  # gönderilecek mail hesabın adını yazıyoruz

message[‘From’] = me

message[‘To’] = COMMASPACE.join(receivers)

message.preamble = ‘Hareket’

fp = open(‘image1.jpeg’, ‘rb’)

img = MIMEImage(fp.read())

fp.close()

message.attach(img)

try:

server = smtplib.SMTP(“smtp.gmail.com”, 587)   #portu mail servis saglayacisi

server.ehlo()

server.starttls()

server.login(username,password)

server.sendmail(me, receivers.split(“,”), message.as_string())

server.close()

print ‘mail gonderildi’

except:

print “mail gonderilemedi”

 

GPIO.setmode(GPIO.BCM)

PIR_PIN = 7

GPIO.setup(PIR_PIN, GPIO.IN)

try:

print “PIR Modul Testi (Cikmak icin CTRL+C’ye basin )”

time.sleep(2)

print “Hazir”

 

while True:

if GPIO.input(PIR_PIN):

print “Hareket Algilandi!”

sendEmail()

time.sleep(1)

except KeyboardInterrupt:

print “Cikis”

GPIO.cleanup()

 

 

Kodları kaydettikten sonra artık uygulamamız hazır. Şimdi kodumuzu çalıştırıp hareket sensörünün önünde herhangi bir hareket  ile uygulamayı test edebiliriz. Artık eviniz (istediğiniz ortam) güvende, gözünüz arkada kalmasın 🙂

Lütfen karşılaştığınız hataları yorum olarak yazın ki bu hatalarla daha sonra karşılaşanlar da faydalansın. Herkese iyi çalışmalar dilerim.

 

 

 

 

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Ömer Aba
Daha Fazla Göster -  Raspberry Pi

17 Yorumlar

  1. OguzhanGultekın

    8 Şubat 2016 at 21:58

    Çok güzel olmuş elinize sağlık

    Reply

  2. Ömer Aba

    Ömer Aba

    10 Şubat 2016 at 09:52

    Teşekkür ederim.

    Reply

  3. CİHAN

    26 Nisan 2016 at 13:13

    Merhaba Raspberry Pi 3 kullanıyorum expect KeyboardInterrupt komutunda söz dizimi hastası veriyor neden olabilir.

    Reply

  4. Ömer Aba

    Ömer Aba

    26 Nisan 2016 at 21:29

    Merhaba, boşluklardan dolayıdır. Düz yazı olarak paylaşıldığı için boşluklar silinmiş. Düzeltip tekrar denerseniz olur inşallah. Yine bir hata alırsanız burdan screenshotları paylaşabilirim.

    Reply

    • CİHAN

      2 Mayıs 2016 at 09:22

      Komutları Screenshot olarak paylaşma imkanınız olabilirmi

      Reply

  5. veys

    16 Mayıs 2016 at 20:22

    Screenshot olarak paylaşabilir misiniz?

    Reply

  6. Ali Kerem karalar

    30 Ağustos 2016 at 14:22

    Çok güzel bir çalışma olmuş ellerinize sağlık. Ben birşey sormak istiyorum.. Raspberry e hiç baglanmadan sadece beslemeyi verdigimizde otomatik açılıp bu işlemleri yapmasi mümkün mü? Ne yapmam gerekiyor? Açılış için otomatik yönlendirme yapabiliyor muyum? Bide yeni topladiginiz 3D yazicinin kurulum videosu ve ürünleri nerden temin ettiginiz hakkinda sayfada paylasiminizi bekliyoruz teşekkürler..

    Reply

  7. Ömer Aba

    Ömer Aba

    31 Ağustos 2016 at 12:08

    Merhaba Ali Kerem Bey, Raspberry Pi’ deki istediğiniz programı başlangıçta çalıştıracak şekilde ayarlarsanız sadece besleme vererek çalıştırabilirsiniz.

    Reply

  8. Emrecan

    11 Kasım 2016 at 22:11

    merhaba elınıze saglık cok guzel bı calısma olmus ben bu projeyı bıraz farklı yapmak ıstıyordum gps/gprs modulu ıle mms gondermek ıstıyorum yardımcı olabılır mısınız bıde bu projenın komutlarının ss ını paylasabılırmısın
    tesekkurler ıyı calısmalar

    Reply

    • Yücel Yılmaz

      Yücel Yılmaz

      14 Kasım 2016 at 18:13

      GSM/GPRS modülü ile kullanmak istiyorsanız sahip olacağınız modülün IMEI numarasının Türkiye’de kayıtlı olmasına özen gösterin, aksi takdirde belli bir süre sonra ilgili IMEI tarihin tozlu sayfalarında kendine yer bulacaktır. İlgili video’yu 720p çözünürlükte izlemeniz takdirde net bir şekilde konsol komutları gözüküyor, eğer yine de göremezseniz size özel yazabiliriz, iyi çalışmalar Emrecan.

      Reply

      • Emrecan

        4 Aralık 2016 at 23:06

        tamamdır tesekkur ederım mms gonderme konusunda yardımcı olabılırsenız cok makbul gecer gsm/gprs modul kartını ben tasarlıcam ama kodlama kısmında tıkanıyorum bu anlamda kendımı gelıstırmek ıcın onerebılcegınız kaynak var mı.onerınız ıcın tesekkur ederım

        Reply

  9. Emrecan

    4 Aralık 2016 at 23:04

    her usb kamera da calısıyor mu ben wıfı ve pır ayarlarında sorun yasamadım ama kamera ayarlarında sorun cıktı yapamadım Sudo apt-get install ssmtp ve Sudo apt-get install mailutils komutlarında -bash: Sudo: command not found hatasını verıyor

    Reply

  10. Ömer Aba

    Ömer Aba

    4 Aralık 2016 at 23:17

    Merhaba Emrecan,
    Aldığın hata yazım yanlışından dolayıdır. “Sudo …” komutunu küçük harflerle yazıp tekrar denersen çalışacaktır.
    İyi çalışmalar.

    Reply

  11. Emrecan

    9 Aralık 2016 at 16:01

    raspberry pi 3 kullanıyorum ve wıfı ayarlarını senın kodundakı gıbı yaptım ondan kaynaklı olabılır mı bu arada ılgın ıcın tesekkur ederım

    Reply

  12. Emrecan

    25 Aralık 2016 at 03:31

    kodlardakı bı kac degısıklık ıle projeyı tamamladım tesekkur ederım

    Reply

    • Ömer Aba

      Ömer Aba

      26 Aralık 2016 at 12:30

      Çok sevindim. Daha güzel projelerde görüşmek dileğiyle 🙂

      Reply

  13. Emrecan

    20 Ocak 2017 at 02:39

    inşALLAH 🙂

    Reply

Bir Cevap Yazın

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

Bak Bakalım ?

Raspberry Pi ile Yangın Alarm Uygulaması

Merhaba arkadaşlar, Bu yazımızda sizlere Raspberry Pi ile yangın alarm uygulamasını anlata…