- Các thành phần bắt buộc:
- Giải thích làm việc:
- Mô tả mạch:
- Giải thích cấu hình và lập trình Raspberry Pi:
Trong thế giới của Internet of Things (IoT) khi chúng ta có tất cả các công nghệ để cách mạng hóa cuộc sống của mình, thì đó là một ý tưởng tuyệt vời để phát triển một hệ thống có thể được kiểm soát và giám sát từ mọi nơi. Có rất nhiều loại hệ thống an ninh và camera tốt cho an ninh gia đình nhưng chúng đắt hơn nhiều, vì vậy hôm nay chúng tôi sẽ xây dựng Hệ thống cảnh báo xâm nhập đơn giản dựa trên Raspberry Pi, không chỉ cảnh báo bạn qua email mà còn gửi hình ảnh về Kẻ xâm nhập khi nó phát hiện bất kỳ.
Trong Dự án dựa trên IoT này, chúng tôi sẽ xây dựng Hệ thống an ninh gia đình sử dụng Cảm biến PIR và Camera PI. Hệ thống này sẽ phát hiện sự hiện diện của Intruder và nhanh chóng cảnh báo cho người dùng bằng cách gửi cho anh ta một thư cảnh báo. Thư này cũng sẽ chứa Hình ảnh của Kẻ xâm nhập, được chụp bởi máy ảnh Pi. Raspberry Pi được sử dụng để điều khiển toàn bộ hệ thống. Hệ thống này có thể được lắp đặt tại cửa chính của ngôi nhà hoặc văn phòng của bạn và bạn có thể giám sát nó từ mọi nơi trên thế giới bằng cách sử dụng Email của bạn qua internet.
Các thành phần bắt buộc:
- Raspberry Pi
- Máy ảnh Pi
- Cảm biến PIR
- Đèn LED
- Bảng bánh mì
- Điện trở (1k)
- Kết nối dây
- Nguồn cấp
Bạn có thể mua tất cả các thành phần được sử dụng trong dự án này từ đây.
Giải thích làm việc:
Hoạt động của Dự án này rất đơn giản. Một cảm biến PIR được sử dụng để phát hiện sự hiện diện của bất kỳ người nào và một Máy ảnh Pi được sử dụng để chụp ảnh khi phát hiện ra sự hiện diện đó.
Bất cứ khi nào bất kỳ ai hoặc kẻ xâm nhập nào trong phạm vi của cảm biến PIR, Cảm biến PIR sẽ kích hoạt Pi Camera thông qua Raspberry Pi. Raspberry pi gửi lệnh đến camera Pi để nhấp vào ảnh và lưu nó. Sau đó, Raspberry Pi tạo một thư và gửi đến địa chỉ thư đã xác định cùng với các hình ảnh được nhấp gần đây. Thư có chứa tin nhắn và hình ảnh của kẻ xâm nhập dưới dạng tệp đính kèm. Ở đây chúng tôi đã sử dụng thông báo “Vui lòng tìm tệp đính kèm”, bạn có thể thay đổi nó cho phù hợp trong Mã đưa ra ở cuối.
Ở đây các hình ảnh được lưu trong Raspberry Pi với tên chính nó chứa thời gian và ngày nhập. Để chúng ta có thể kiểm tra ngày giờ kẻ gian xâm nhập bằng cách chỉ cần nhìn vào tên Hình ảnh, hãy kiểm tra các hình ảnh bên dưới. Nếu bạn chưa quen với Pi Camera, hãy xem hướng dẫn trước đây của chúng tôi về Hệ thống giám sát khách truy cập với Pi Camera.
Bạn cũng có thể điều chỉnh phạm vi phát hiện hoặc khoảng cách của hệ thống này bằng cách sử dụng chiết áp của cảm biến PIR. Tìm hiểu thêm về cảm biến PIR tại đây để điều chỉnh phạm vi cũng kiểm tra cảnh báo trộm dựa trên cảm biến PIR.
Mô tả mạch:
Trong Hệ thống cảnh báo xâm nhập này, chúng ta chỉ cần kết nối mô-đun Camera Pi và cảm biến PIR với Raspberry Pi 3. Pi Camera được kết nối tại khe cắm camera của Raspberry Pi và PIR được kết nối với chân GPIO 18. Một đèn LED cũng được kết nối với chân GPIO 17 thông qua một điện trở 1k.
Giải thích cấu hình và lập trình Raspberry Pi:
Chúng tôi đang sử dụng ngôn ngữ Python ở đây cho Chương trình. Trước khi viết mã, người dùng cần cấu hình Raspberry Pi. Bạn nên xem hai hướng dẫn dưới đây để Bắt đầu với Raspberry Pi và Cài đặt & Cấu hình Hệ điều hành Raspbian Jessie trong Pi:
- Bắt đầu với Raspberry Pi - Giới thiệu
- Bắt đầu với Raspberry Pi - Cấu hình
Sau khi cài đặt thành công hệ điều hành Raspbian trên Raspberry Pi, chúng ta cần cài đặt tệp thư viện camera Pi để chạy dự án này trong Raspberry pi. Để làm điều này, chúng ta cần làm theo các lệnh đã cho:
$ sudo apt-get install python-picamera $ sudo apt-get installpython3-picamera
Sau đó, người dùng cần kích hoạt Raspberry Pi Camera bằng cách sử dụng Công cụ cấu hình phần mềm Raspberry Pi (raspi-config):
$ sudo raspi-config
Sau đó chọn Bật máy ảnh và Bật nó.
Sau đó, người dùng cần khởi động lại Raspberry Pi, bằng cách khởi động lại sudo , để có thể thực hiện cài đặt mới. Bây giờ máy ảnh Pi của bạn đã sẵn sàng để sử dụng.
Bây giờ sau khi thiết lập Pi Camera, chúng ta sẽ cài đặt phần mềm để gửi mail. Ở đây chúng tôi đang sử dụng ssmtp , một giải pháp dễ dàng và tốt để gửi thư bằng dòng lệnh hoặc sử dụng Python Script. Chúng tôi cần cài đặt hai Thư viện để gửi thư bằng SMTP:
Sudo apt-get install ssmtp sudo apt-get install mailutils
Sau khi cài đặt các thư viện, người dùng cần mở tệp ssmtp.conf và chỉnh sửa tệp cấu hình này như trong Hình bên dưới rồi lưu tệp. Để lưu và thoát khỏi tệp, Nhấn 'CTRL + x', sau đó nhấn 'y' và sau đó nhấn 'enter'.
sudo nano /etc/ssmtp/ssmtp.conf
root = YourEmailAddress mailhub = smtp.gmail.com: 587 hostname = raspberrypi AuthUser = YourEmailAddress AuthPass = YourEmailPassword FromLineOverride = YES UseSTARTTLS = YES UseTLS = YES
Chúng tôi cũng có thể kiểm tra nó bằng cách gửi một thư thử nghiệm bằng lệnh dưới đây, bạn sẽ nhận được thư theo địa chỉ email được đề cập nếu mọi thứ hoạt động tốt:
echo "Xin chào Saddam" - mail -s "Đang kiểm tra…" [email protected]
Chương trình Python của dự án này đóng một vai trò rất quan trọng để thực hiện tất cả các hoạt động. Trước hết, chúng tôi bao gồm các thư viện bắt buộc cho email, khởi tạo các biến và xác định các chân cho PIR, LED và các thành phần khác. Để gửi email đơn giản, smtplib là đủ nhưng nếu bạn muốn gửi thư theo cách gọn gàng hơn với dòng tiêu đề, tệp đính kèm, v.v. thì bạn cần sử dụng MIME (Tiện ích mở rộng thư Internet đa năng).
nhập RPi.GPIO dưới dạng gpio nhập thời gian nhập picamera nhập smtplib từ email.MIMEMultipart nhập MIMEMultipart từ email.MIMEText nhập MIMEText từ email.MIMEBase nhập MIMEBase từ bộ mã hóa nhập email từ email.mime.image nhập MIMEImage
Sau đó, chúng tôi đã khởi tạo thư và xác định địa chỉ thư và thư:
fromaddr = "[email protected]" cócdr = "[email protected]" mail = MIMEMultipart () mail = fromaddr mail =adsdr mail = "Tập tin đính kèm" body = "Vui lòng tìm tập tin đính kèm"
Sau đó, chúng tôi đã tạo hàm def sendMail (dữ liệu) để gửi thư:
def sendMail (data): mail.attach (MIMEText (body, 'pure')) print data dat = '% s.jpg'% data print dat attachment = open (dat, 'rb') image = MIMEImage (attachment.read ()) attachment.close () mail.attach (hình ảnh) server = smtplib.SMTP ('smtp.gmail.com', 587) server.starttls () server.login (fromaddr, "mật khẩu của bạn") text = mail. as_string () server.sendmail (fromaddr,adsdr, text) server.quit ()
Hàm def capture_image () được tạo ra để ghi lại hình ảnh của kẻ xâm nhập với thời gian và ngày tháng.
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 (dữ liệu)
Sau đó, chúng tôi khởi tạo Picamera với một số cài đặt của nó:
camera = picamera.PiCamera () camera.rotation = 180 camera.awb_mode = 'auto' camera.brightness = 55
Và bây giờ cuối cùng, chúng tôi đã đọc đầu ra cảm biến PIR và khi nó tăng cao, Raspberry Pi gọi hàm capture_image () để ghi lại hình ảnh của kẻ xâm nhập và gửi tin nhắn cảnh báo với hình ảnh của kẻ xâm nhập dưới dạng tệp đính kèm. Chúng tôi đã sử dụng hàm sendmail () insdie capture_image () để gửi thư.
while 1: if gpio.input (pir) == 1: gpio.output (led, HIGH) capture_image () while (gpio.input (pir) == 1): time.sleep (1) else: gpio.output (đã dẫn, THẤP) time.sleep (0,01)
Vì vậy, đây là cách Hệ thống bảo mật Raspberry Pi này hoạt động, bạn cũng có thể sử dụng cảm biến siêu âm hoặc cảm biến IR để phát hiện sự hiện diện của trộm hoặc kẻ xâm nhập. Kiểm tra thêm Mã đầy đủ và Video trình diễn bên dưới.