Mục lục:

Bảo mật gia đình với Raspberry Pi: 6 bước (có hình ảnh)
Bảo mật gia đình với Raspberry Pi: 6 bước (có hình ảnh)

Video: Bảo mật gia đình với Raspberry Pi: 6 bước (có hình ảnh)

Video: Bảo mật gia đình với Raspberry Pi: 6 bước (có hình ảnh)
Video: Cách cài hệ điều hành cho Raspberry Pi vô cùng dễ! 2024, Tháng mười một
Anonim
Bảo mật gia đình với Raspberry Pi
Bảo mật gia đình với Raspberry Pi

Đó là một giải pháp đơn giản có thể làm cho bạn cảm thấy thư thái hơn khi rời khỏi căn hộ của mình - nhận email có hình ảnh về tài sản của bạn bị những vị khách không mong muốn ghé thăm, trang bị và tước bỏ hệ thống an ninh của bạn một cách dễ dàng và đáng tin cậy nhất (nhấn công tắc và tiếp cận Thẻ RFID). Và gần như không tốn kém gì - hàng tháng tôi phải trả nhiều tiền hơn cho việc truy cập Internet. Bạn cần một bản sao của Raspberry Pi, một vài bộ phận điện tử và… truy cập Internet.

Xin lưu ý rằng Zoneminder không được sử dụng trong hướng dẫn này. Nếu bạn muốn sử dụng Zoneminder, hãy xem tại đây:

sites.google.com/site/boguszjelinski/home/…

Bước 1: Phần cứng bạn cần

Phần cứng bạn cần
Phần cứng bạn cần

1. Raspberry Pi hoặc bản sao của nó, xem thêm:

www.instructables.com/id/Home-Security-With-Orange-Pi/

Loại rẻ nhất sẽ cung cấp cho bạn quyền truy cập mạng và số lượng camera bạn cần. Đừng quên mua nguồn điện phù hợp với đầu nối phù hợp

2. Đầu đọc RFID có ăng ten

3. (Các) cảm biến PIR

4. một công tắc tạm thời chỉ kết nối mạch điện khi bạn ấn vào nó (với lò xo?)

5. hai đèn LED - xanh lá cây và đỏ. Hoặc một đèn LED RGB.

6. hai điện trở 1k

7. (Các) máy ảnh USB

8. cáp UTP để kết nối cảm biến PIR, công tắc, đèn led và đầu đọc RFID (Tôi đã quản lý để kết nối tất cả bằng một cáp có 8 dây hoặc 4 cặp nếu bạn muốn)

9. một hoặc hai hộp nhỏ nếu bạn muốn bảo vệ các bộ phận điện tử của mình hoặc không muốn khoe khoang về kỹ năng hàn của mình.

10. một rơ le để bật nguồn sáng - cho các sự cố trong đêm

Bước 2: Cài đặt Postfix

Sau khi cài đặt Linux, bạn sẽ cần cài đặt một vài thành phần phần mềm để chạy đoạn mã ví dụ của tôi. Trước tiên, bạn cần cài đặt Postfix nếu bạn muốn gửi email:

1. apt-get install postfix (bạn sẽ được yêu cầu chọn ví dụ: 'local only')

2. đi tới / etc / postfix và tạo tệp sasl_passwd và đặt một dòng vào đó:

[smtp.gmail.com]: 587 john.smith: pass1234

Thay thế tên người dùng và mật khẩu bằng thông tin đăng nhập của bạn; bạn đã nhận thấy rằng đó là một dòng cho tài khoản Google Mail. Tài khoản này được sử dụng để gửi thông báo báo động (gửi từ).

3. băm postmap: / etc / postfix / sasl_passwd

4. rm / etc / postfix / sasl_passwd

5. thay thế nội dung của /etc/postfix/main.cf bằng các dòng sau (bạn có thể muốn điều chỉnh tên máy chủ):

smtpd_banner = $ myhostname ESMTP $ mail_name (Ubuntu)

biff = không

append_dot_mydomain = no

readme_directory = không

smtp_tls_session_cache_database = btree: $ {data_directory} / smtp_scache

smtp_tls_security_level = may

smtp_use_tls = vâng

smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

myhostname = raspberrypi

myorigin = $ myhostname

alias_maps = hash: / etc / aliases

alias_database = hash: / etc / aliases

mydestination = raspberrypi, localhost.localdomain, localhost

relayhost = [smtp.gmail.com]: 587

mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [:: 1] / 128

mailbox_size_limit = 0

người nhận_delimiter = +

inet_interfaces = tất cả

smtp_sasl_auth_enable = vâng

smtp_sasl_password_maps = hash: / etc / postfix / sasl_passwd

smtp_sasl_security_options =

smtp_sasl_tls_security_options = noanonymous

6. /etc/init.d/postfix khởi động lại

7. bạn có thể kiểm tra cấu hình của Postfix bằng nội dung kiểm tra sendmail [email protected].

Bước 3: Chuẩn bị phần mềm

Đối với Raspberry Pi B + và Raspbian Jessie, tôi cần thực hiện các bước bổ sung sau:

1. apt-get install python-setuptools

2. pip easy_install

3. pip cài đặt pyserial

4. apt-get install mailutils

5. vô hiệu hóa nối tiếp đang được sử dụng bằng cách ghi bảng điều khiển. Tôi đã tìm thấy một số cách khác nhau:

a) raspi-config → Tùy chọn giao diện → Nối tiếp → Vỏ đăng nhập KHÔNG truy cập được qua nối tiếp

b) xóa console = serial0, 115200 khỏi tệp /boot/cmdline.txt

c) systemctl dừng [email protected]

systemctl vô hiệu hóa [email protected]

6. apt-get install python-opencv

7. apt-get install imagemagick

Bước 4: Nối dây và chạy nó

Dây nó và chạy nó
Dây nó và chạy nó

Kết nối các bộ phận của bạn chính xác như được trình bày trên hình. Nếu không, bạn sẽ phải thực hiện các thay đổi trong nguồn để phản ánh số cổng đã thay đổi.

Cảnh báo! RPI IO không chấp nhận 5V, bạn nên sử dụng vd. một bộ chuyển đổi logic TTL để giảm điện áp đến từ cảm biến RFID hoặc PIR. Lựa chọn của tôi là 74HC4050.

Ok, về mặt lý thuyết, bây giờ bạn có thể chạy rpi-alarm.py với:

nohup python rpi-alarm.py &

Nhưng trước đó, bạn cũng cần phải chỉnh sửa mã và thay đổi ID thành thẻ RFID và địa chỉ email của mình. Bạn có thể lấy mã ở đây:

github.com/boguszjelinski/rpi-alarm

Lần chạy đầu tiên sẽ bắt đầu với chế độ học với đèn LED xanh và đỏ nhấp nháy. Mục đích của nó là tạo tệp rfid.txt với mã RFID - tiếp cận các thẻ của bạn tới antena, một vài lần cho mỗi thẻ và nhấn công tắc miễn là bạn nhận được đèn xanh dài hơn. Sau đó, chỉnh sửa tệp để xem tệp có không bị hỏng hay không - tệp phải chứa nhiều dòng như bạn có thẻ, mỗi dòng 10 ký tự. Bạn có thể tạo tệp theo cách thủ công, tất nhiên, chế độ học tập sẽ bị bỏ qua. Lưu ý rằng việc bạn nhấn lâu vào công tắc có thể dẫn đến việc trang bị hệ thống của bạn vì sau khi chế độ học tập hoàn thành, hệ thống sẽ chờ được trang bị - xem "tín hiệu đang sử dụng".

Bước 5: Tín hiệu đang sử dụng

Tín hiệu đang được sử dụng
Tín hiệu đang được sử dụng

Phiên bản cập nhật của mã cũng chứa một "chế độ học tập" - các đèn LED màu xanh lá cây và màu đỏ nhấp nháy luân phiên. Một tín hiệu xanh dài hơn (sau khi nhấn công tắc) xác nhận đã hoàn thành chế độ.

Bước 6: Một vài nhận xét ở cuối

Một vài nhận xét về mã nguồn, hoặc chỉ gợi ý để bạn viết theo cách của riêng mình:

- Đèn LED và cảm biến PIR được cấu hình theo tiêu chuẩn GPIO.setup GPIO. OUT và GPIO. IN tương ứng

- đối với hệ thống dây chuyển đổi đó, bạn cần GPIO.setup (?, GPIO. IN, pull_up_down = GPIO. PUD_DOWN)

- đầu đọc RFID được kết nối với GPIO15 là RX của bo mạch, có thể đọc được bằng

ser = serial. Serial ('/ dev / ttyAMA0', 9600, timeout = 0,1) và ser.read (12)

Điều này hoạt động trên Raspbian Jessie trên RPI 1, nhưng nó có thể được thay đổi thành / dev / serial0 với các bản phân phối khác.

- Tôi đã từng sử dụng trình phát trực tuyến để kết xuất hình ảnh từ máy ảnh USB:

streamer -c / dev / video0 -s 640x480 -o camdmp.jpg

và streamer -c / dev / video1 -s 640x480 -o camdmp2-j.webp

nhưng nó bị lỗi trên Orange Pi, vì vậy bây giờ tôi sử dụng CV. Để cài đặt streamer, hãy nhập:

apt-get install streamer

- viết một số văn bản đánh thức đáng báo động vào tệp alertmsg.txt và gửi email với:

mail -s "Báo thức" -t [email protected] -A camdmp-j.webp

- thay đổi địa chỉ email của bạn trong mã (dòng 51)

Chúc vui vẻ!

Đề xuất: