- Gerekli Bileşenler:
- Çalışma Açıklaması:
- Devre Tanımı:
- Raspberry Pi Yapılandırması ve Programlama Açıklaması:
Nesnelerin İnterneti (IoT) dünyasında, hayatımızda devrim yaratacak tüm teknolojilere sahip olduğumuzda, her yerden kontrol edilebilen ve izlenebilen bir sistem geliştirmek harika bir fikirdir. Dışarıda ev güvenliği için birçok iyi güvenlik sistemi ve kamera türü vardır, ancak bunlar çok pahalıdır, bu nedenle bugün, sizi yalnızca bir e-posta yoluyla uyarmakla kalmayıp aynı zamanda resmini de gönderen, düşük maliyetli basit bir Raspberry Pi tabanlı İzinsiz Giriş Alarm Sistemi oluşturacağız. Herhangi birini tespit ettiğinde davetsiz misafir.
Bu IoT tabanlı Projede, PIR Sensörü ve PI Kamera kullanarak bir Ev Güvenlik Sistemi oluşturacağız. Bu sistem, Intruder'ın varlığını tespit edecek ve kullanıcıya bir uyarı postası göndererek kullanıcıyı hızlı bir şekilde uyaracaktır. Bu posta aynı zamanda Pi kamera tarafından yakalanan Davetsiz Misafirin Resmini de içerecektir. Raspberry Pi, tüm sistemi kontrol etmek için kullanılır. Bu sistem, evinizin veya ofisinizin ana kapısına kurulabilir ve e-postanızı internet üzerinden kullanarak dünyanın her yerinden izleyebilirsiniz.
Gerekli Bileşenler:
- Ahududu Pi
- Pi Kamera
- PIR Sensörü
- LED
- Ekmek Tahtası
- Direnç (1k)
- Bağlantı telleri
- Güç kaynağı
Bu projede kullanılan tüm bileşenleri buradan satın alabilirsiniz.
Çalışma Açıklaması:
Bu Projenin çalışması çok basit. Herhangi bir kişinin varlığını algılamak için bir PIR sensörü kullanılır ve varlık algılandığında görüntüleri yakalamak için bir Pi Kamera kullanılır.
Herhangi biri veya davetsiz misafir PIR sensörünün menziline geldiğinde, PIR Sensörü Pi Kamerayı Raspberry Pi aracılığıyla tetikler. Raspberry pi, resme tıklayıp kaydetmek için Pi kameraya komutlar gönderir. Bundan sonra Raspberry Pi bir mail oluşturur ve onu yeni tıklanan görüntülerle tanımlı mail adresine gönderir. Posta, ek olarak davetsiz misafirin bir mesajını ve resmini içerir. Burada “Lütfen eki bulun” mesajını kullandık, sonunda verilen Kod'da buna göre değiştirebilirsiniz.
Burada resimler, Raspberry Pi'ye, giriş saatini ve tarihini içeren adla kaydedilir. İzinsiz giriş saatini ve tarihini sadece Resim adına bakarak kontrol edebilmemiz için aşağıdaki resimleri kontrol edin. Pi Kamera ile yeniyseniz, Pi Kameralı Ziyaretçi İzleme Sistemi hakkındaki önceki eğitimimize bakın.
PIR sensörünün potansiyometrelerini kullanarak bu sistemin algılama aralığını veya mesafesini de ayarlayabilirsiniz. Aralığı ayarlamak için PIR sensörü hakkında daha fazla bilgi edinin ve ayrıca PIR sensörüne dayalı Hırsız alarmını kontrol edin.
Devre Tanımı:
Bu Hırsız Alarm Sisteminde, sadece Pi Kamera modülünü ve PIR sensörünü Raspberry Pi 3'e bağlamamız gerekiyor. Pi Kamera, Raspberry Pi'nin kamera yuvasına bağlanır ve PIR, GPIO pin 18'e bağlanır. Ayrıca GPIO pin 17'ye 1k direnç üzerinden bir LED bağlanır.
Raspberry Pi Yapılandırması ve Programlama Açıklaması:
Program için burada Python dilini kullanıyoruz. Kodlamadan önce, kullanıcının Raspberry Pi'yi yapılandırması gerekir. Raspberry Pi'ye Başlarken ve Raspbian Jessie OS'yi Pi'de Kurmak ve Yapılandırmak için iki öğreticinin altında olmalısınız:
- Raspberry Pi'ye Başlarken - Giriş
- Raspberry Pi'ye Başlarken - Yapılandırma
Raspbian OS'yi Raspberry Pi'ye başarıyla kurduktan sonra, bu projeyi Raspberry pi'de çalıştırmak için Pi kamera kitaplığı dosyalarını yüklememiz gerekiyor. Bunu yapmak için verilen komutları izlememiz gerekir:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Bundan sonra, kullanıcının Raspberry Pi Yazılım Yapılandırma Aracı'nı (raspi-config) kullanarak Raspberry Pi Kamerayı etkinleştirmesi gerekir:
$ sudo raspi-config
Ardından Kamerayı etkinleştir'i ve Etkinleştir'i seçin.
Ardından, yeni ayarın yapılabilmesi için kullanıcının sudo reboot düzenleyerek Raspberry Pi'yi yeniden başlatması gerekir . Artık Pi kameranız kullanıma hazır.
Şimdi Pi Kamerayı kurduktan sonra, postayı göndermek için yazılımı kuracağız. Burada komut satırı veya Python Script kullanarak posta göndermek için kolay ve iyi bir çözüm olan ssmtp kullanıyoruz. SMTP kullanarak posta göndermek için iki Kitaplık kurmamız gerekiyor:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Kitaplıkları yükledikten sonra, kullanıcının ssmtp.conf dosyasını açması ve bu yapılandırma dosyasını aşağıdaki Resimde gösterildiği gibi düzenlemesi ve ardından dosyayı kaydetmesi gerekir. Dosyayı kaydedip çıkmak için 'CTRL + x', ardından 'y' ve ardından 'enter' tuşuna basın.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = EVET UseTLS = EVET
Aşağıdaki komutu vererek bir test postası göndererek de test edebiliriz, her şey yolunda giderse belirtilen e-posta adresine postayı alacaksınız:
echo "Merhaba saddam" - posta -s "Test ediliyor…" [email protected]
Bu projenin Python Programı tüm işlemlerin gerçekleştirilmesinde çok önemli bir rol oynamaktadır. Öncelikle, e-posta için gerekli kitaplıkları ekliyoruz, değişkenleri başlatıyoruz ve PIR, LED ve diğer bileşenler için pinler tanımlıyoruz. Basit e-posta göndermek için smtplib yeterlidir, ancak konu satırı, ek vb. İle daha temiz bir şekilde posta göndermek istiyorsanız, MIME (Çok Amaçlı İnternet Posta Uzantıları) kullanmanız gerekir.
RPi.GPIO'yu gpio olarak içe aktar picamera içe aktarma süresi e-postadan smtplib'i içe aktar.MIMEMultipart içe aktarma MIMEM E-postadan çoklu parça içe aktarma.MIMETMIMEBase e-posta içe aktarma kodlayıcılarından e-posta.
Ondan sonra postayı başlattık ve posta adresini ve mesajları tanımladık:
fromaddr = "[email protected]" toaddr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail = toaddr mail = "Ek" body = "Lütfen eki bulun"
Daha sonra posta göndermek için def sendMail (data) işlevini oluşturduk:
def sendMail (data): mail.attach (MIMEText (gövde, 'düz')) baskı verisi dat = '% s.jpg'% veri yazdırma dat eki = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (görüntü) sunucu = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "şifreniz") text = posta. as_string () server.sendmail (fromaddr, toaddr, text) server.quit ()
Fonksiyon def capture_image () , saldırganın görüntüsünü saat ve tarih ile yakalamak için oluşturulur.
def capture_image (): data = time.strftime ("% d_% b_% Y-% H:% M:% S") camera.start_preview () time.sleep (5) veriyi yazdır camera.capture ('% s. jpg '% data) camera.stop_preview () time.sleep (1) sendMail (veri)
Ardından Picamera'yı bazı ayarlarıyla başlattık:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Ve şimdi son olarak, PIR sensör çıkışını okuduk ve yükseldiğinde Raspberry Pi, saldırganın görüntüsünü yakalamak ve ek olarak izinsiz giren kişinin resmini içeren bir uyarı mesajı göndermek için capture_image () işlevini çağırıyor. Biz kullanılan var sendmail () insdie capture_image () posta göndermek için işlevini.
while 1: eğer gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () while (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (led, DÜŞÜK) zaman. uyku (0,01)
Bu Raspberry Pi Güvenlik Sistemi böyle çalışır, hırsız veya izinsiz girenlerin varlığını tespit etmek için Ultrasonik sensör veya IR sensörünü de kullanabilirsiniz. Aşağıdaki Tam Kodu ve tanıtım Videosunu daha fazla kontrol edin.