پروژه سیستم امنیتی خانه ثبت تصویر و ایمیل رزبری پای و پایتون
سلام. پروژه سیستم امنیتی خانه با ثبت تصاویر و ارسال ایمیل هشدار با رزبری پای و پایتون را آماده کردیم.
محتویات
سیستم امنیتی منزل با ارسال ایمیل و عکس با رزبری پای
در دنیای اینترنت اشیاء (IoT)، ایده ی ساخت سیستم امنیتی که بتواند از هر نقطه ی دنیا کنترل شود یک ایده ی ناب است. انواع مختلفی از سیستم های امنیتی و دوربین ها برای این منظور وجود دارد اما بسیار گران هستند. امروز ما یک پروژه رزبری پای را طراحی میکنیم که هم از طریق ایمیل به شما هشدار میدهد و هم تصویر متجاوز را ثبت میکند.
در این پروژه اینترنت اشیا، ما با استفاده از سنسور Pir و دوربین پای یک سیستم امنیتی خانگی ایجاد میکنم. این سنسور حضور متجاوز را تشخیص داده و به سرعت با ارسال یک ایمیل به شما هشدار میدهد. نکته ی جالب این پروژه این است که ایمیل ارسال شده شامل تصویری از متجاوز است. مغز این پروژه برد Raspberry Pi است. این سیستم را میتوان در درب اصلی منزل یا محل کار نصب کرد. شما فقط با دسترسی به ایمیل خود میتوانید از هر جای دنیا وضعیت منزل یا دفتر کار و … خود را بدانید.
مشاهده فیلم زیر به شما در درک نحوه کار این پروژه کمک میکند.
پیشنهاد میکنم پروژه راه اندازی دوربین با رزبری پای را مشاهده کنید.
کار این پروژه بسیار ساده است. از سنسور PIR برای تشخیص حضور شخص استفاده می شود و از یک Camera Pi برای ضبط تصاویر هنگام حضور متجاوز استفاده می شود. هر گاه مزاحمی در محدوده سنسور PIR قرار بگیرد، سنسور پیامی را به رزبری پای میفرستد تا دوربین را فعال کند و عکس بگیرد. رزبری پای سپس پیامی حاوی تصویر شخص را ایجاد میکند و آن را به ایمیل معرفی شده توسط شما ارسال میکند. شما میتوانید متن پیام ارسالی را نیز تغییر دهید.
همانطور که در تصویر بالا میبینید، تصاویر با نامی که دارای تاریخ و زمان است ثبت میشوند. همچنین برای تغییر حساسیت سنسور میتوانید از پتانسیومتر روی آن استفاده کنید.
مدار سیستم امنیتی با ثبت تصویر و ایمیل رزبری پای
در این سیستم امنیتی ما فقط باید ماژول دوربین پای و سنسور PIR را به رزبری پای متصل کنیم. دوربین در درگاه دوربین متصل میشود و سنسور PIR نیز به پین 18 GPIO متصل میشود. یک ال ای دی نیز از طریق یک مقاومت 1 کیلو اهم به پین 17 GPIO متصل میشود.
قطعات مورد نیاز
- برد رزبری پای
- Camera Pi – دوربین پای
- سنسور PIR
- ال ای دی
- مقاومت 1 کیلو اهم
کد پروژه امنیتی با ثبت تصویر رزبری پای
ما در اینجا از زبان پایتون برای برنامه استفاده می کنیم. برای اجرای این پروژه در Raspberry pi باید فایلهای کتابخانه Pi را نصب کنیم. برای این کار باید دستورات داده شده را اجرا کنیم.
$ sudo apt-get install python-picamera $ sudo apt-get install python3-picamera
سپس برای فعال سازی دوربین Raspberry Pi باید دستور زیر را اجرا کنید.
$ sudo raspi-config
سپس Enable camera را انتخاب کنید تا دوربین فعال شود.
سپس باید برد را ریستارت کنید. برای این کار دستور زیر را اجرا کنید.
$ sudo reboot
حالا به قسمت کد پروژه میرسیم. کد کامل در فایل دانلودی انتهای صفحه قرار داده شده است. در اینجا بعضی از قسمت های کد را توضیح میدهیم.
اکنون پس از تنظیم Pi Camera، نرم افزاری برای ارسال ایمیل نصب خواهیم کرد. در اینجا ما از ssmtp استفاده می کنیم که یک راه حل آسان و خوب برای ارسال Email با استفاده از خط فرمان یا استفاده از اسکریپت پایتون است. برای ارسال ایمیل با استفاده از SMTP باید دو کتابخانه نصب کنیم:
sudo apt-get install ssmtp sudo apt-get install mailutils
پس از نصب كتابخانه ها ، کاربر باید پرونده ssmtp.conf را باز كند و این پرونده پیكربندی را مطابق تصویر زیر ویرایش كرده و سپس پرونده را ذخیره كند. برای ذخیره و خروج از پرونده ، “CTRL + x” ، سپس “y” و “Enter” را فشار دهید.
sudo nano /etc/ssmtp/ssmtp.conf
mailhub=smtp.gmail.com:587 hostname=raspberrypi AuthUser=YourEmailAddress AuthPass=YourEmailPassword FromLineOverride=YES UseSTARTTLS=YES UseTLS=YES
ما همچنین میتوانیم با دستور زیر یک نامه آزمایشی را ارسال کنیم. اگر همه چیز درست باشد ایمیل را دریافت خواهیم کرد.
echo "Hello saddam" | mail -s "Testing..." saddam4201@gmail.com
برنامه پایتون این پروژه برای انجام کلیه عملیات ها نقش بسیار مهمی ایفا می کند. اول از همه ، ما کتابخانه های مورد نیاز برای ایمیل را وارد می کنیم، متغیرها را تعریف می کنیم و پین ها را برای PIR ، LED و سایر قطعات تعریف می کنیم. برای ارسال ایمیل ساده ، smtplib کافی است اما اگر می خواهید نامه را به روش حرفه ای تری ارسال کنید ، باید از MIME استفاده کنید.
import RPi.GPIO as gpio import picamera import time import smtplib from email.MIMEMultipart import MIMEMultipart from email.MIMEText import MIMEText from email.MIMEBase import MIMEBase from email import encoders from email.mime.image import MIMEImage
سپس ما نامه ی مورد نظر را تنظیم میکنیم و متن و گیرنده آن را تعیین میکنیم.
fromaddr = "raspiduino4201@gmail.com" toaddr = "saddam4201@gmail.com" mail = MIMEMultipart() mail['From'] = fromaddr mail['To'] = toaddr mail['Subject'] = "Attachment" body = "Please find the attachment"
سپس ما برای ارسال نامه، از تابع def sendail استفاده میکنیم.
def sendMail(data): mail.attach(MIMEText(body, 'plain')) print data dat='%s.jpg'%data print dat attachment = open(dat, 'rb') image=MIMEImage(attachment.read()) attachment.close() mail.attach(image) server = smtplib.SMTP('smtp.gmail.com', 587) server.starttls() server.login(fromaddr, "your password") text = mail.as_string() server.sendmail(fromaddr, toaddr, text) server.quit()
تابع def capt_image () برای گرفتن تصویر متجاوز و ثبت نام با زمان و تاریخ استفاده شده است.
def capture_image(): data= time.strftime("%d_%b_%Y|%H:%M:%S") camera.start_preview() time.sleep(5) print data camera.capture('%s.jpg'%data) camera.stop_preview() time.sleep(1) sendMail(data)
سپس Picamera را پیکربندی میکنیم.
camera = picamera.PiCamera() camera.rotation=180 camera.awb_mode= 'auto' camera.brightness=55
و در آخر ، ما خروجی حسگر PIR را بررسی میکنیم و هرگاه خروجی زیاد شود رزبری پای با استفاده از تابع capt_image () تصویر را ثبت میکند و به همراه پیام هشدار به ایمیل تعیین شده با استفاده از تابع sendmail() insdie capture_image() ارسال میکند.
while 1: if gpio.input(pir)==1: gpio.output(led, HIGH) capture_image() while(gpio.input(pir)==1): time.sleep(1) else: gpio.output(led, LOW) time.sleep(0.01)
به این ترتیب ما یک پروژه امنیتی با استفاده از Raspberry pi میسازیم. همچنین میتوانید از سنسور مادون قرمز یا التراسونیک برای شناسایی متجاوز استفاده کنید.
موارد موجود در فایل : سورس کامل ، شماتیک کامل
سلام و درود.
جناب فایل های این پروژه اشتباه درج شده. مربوط به این پروژه نیست.
ممنون میشم بررسی کنید.
سلام جناب. لینک دانلود تصحیح شد. بسیار ممنونم از اطلاع رسانیتون.