Mục lục:

Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino: 3 bước
Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino: 3 bước

Video: Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino: 3 bước

Video: Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino: 3 bước
Video: Cần Làm Gì Khi Bị Lộ Thông Tin Căn Cước Công Dân | THƯ VIỆN PHÁP LUẬT 2024, Tháng mười một
Anonim
Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino
Nhận thông báo qua email từ hệ thống an ninh gia đình của bạn bằng Arduino

Sử dụng Arduino, chúng tôi có thể dễ dàng trang bị thêm chức năng email cơ bản vào hầu hết mọi cài đặt hệ thống bảo mật hiện có. Điều này đặc biệt thích hợp cho các hệ thống cũ mà hầu như đã bị ngắt kết nối từ lâu khỏi dịch vụ giám sát và nếu không sẽ có tiện ích hạn chế. Đây KHÔNG phải là sự thay thế cho một dịch vụ giám sát.

Có những sản phẩm có sẵn trên thị trường, như envisalink, bổ sung thêm chức năng điều khiển và giao tiếp, nhưng chúng không hề rẻ.

Dự án này có thể được hoàn thành với giá dưới $ 10.

Những gì bạn cần:

  • Arduino - tốt nhất là Uno hoặc Mega
  • Lá chắn Ethernet W5100
  • Hệ thống bảo mật - Hệ thống được sử dụng ở đây là DSC Power 832 PC5010 nhưng hầu như bất kỳ kiểu máy nào có chân lập trình (hoặc bất kỳ chân nào có sự thay đổi trạng thái có thể đo được) đều có thể được sử dụng.
  • Hướng dẫn cài đặt và trang tính lập trình - bạn cũng sẽ cần mã trình cài đặt để thực hiện các thay đổi cần thiết.
  • Chiều dài của dây lõi đặc thích hợp để kết nối với các chân tiêu đề Arduino.
  • Điện trở 10k để kéo chân đầu vào của arduino xuống đất.
  • Điện trở 1,5k để hạn chế dòng điện đi đến phía LED của optocoupler. Giá trị dựa trên điện áp đầu vào và dòng điện tối đa của optocoupler.
  • Optocoupler - Tôi đã sử dụng FOD817 nhưng đây là một mạch rất đơn giản với các yêu cầu rộng, vì vậy thực sự có hàng trăm mạch khác sẽ hoạt động với các thông số kỹ thuật tương tự từ xa.
  • Cáp Ethernet.

Bước 1: Lập trình hệ thống bảo mật

Lập trình hệ thống bảo mật
Lập trình hệ thống bảo mật

Lời cảnh báo:

  • Truy cập bảng điều khiển bảo mật hoặc thực hiện các thay đổi đối với cấu hình cài đặt có thể đặt ra cảnh báo giả mạo nếu bạn hiện đang đăng ký dịch vụ giám sát.
  • Ngoài ra, hãy nhớ theo dõi mọi thay đổi bạn thực hiện để có thể hoàn nguyên nó sau này nếu cần.

Những gì chúng tôi đang cố gắng thực hiện là đọc sự thay đổi trạng thái từ hệ thống khi cảnh báo được kích hoạt. Hầu hết các hệ thống đều có chân đầu ra có thể lập trình được mà chúng ta có thể sử dụng để phát tín hiệu cho Arduino. Cũng có thể sử dụng tín hiệu từ còi báo động (mà không cần phải thực hiện bất kỳ thay đổi nào đối với hệ thống) nhưng sẽ cần phải có thêm mạch và sửa đổi mã Arduino - tôi đã không đi theo con đường này vì mục tiêu chính của tôi là giải quyết sự cố mã vì vậy tôi sẽ thay đổi cấu hình bằng mọi cách.

Cách lập trình chính xác là khác nhau giữa các kiểu máy, nhưng khái niệm cơ bản là giống nhau - hãy tham khảo hướng dẫn cài đặt hệ thống của bạn để biết chi tiết cụ thể. Trong hệ thống DSC tôi đang sử dụng:

  • Tôi đặt chân PGM1 để kích hoạt khi cảnh báo được kích hoạt. Mục [009], Tùy chọn [01].
  • Trong hệ thống này, bạn cũng thiết lập các thuộc tính của chức năng pin như thế nào và trong điều kiện nào - Phần [141]:

    • Đặt Thuộc tính 3 thành BẬT để chân cắm thường mở và được chuyển sang đất khi cảnh báo được kích hoạt. Luôn cẩn thận rằng các chân đầu vào Arduino không nhận được nhiều hơn 5v (một số chỉ có khả năng chịu 3,3v).
    • Tất cả các thuộc tính khác được đặt thành TẮT.

Hầu hết các hệ thống an ninh đều có một modem tích hợp được thiết kế để chủ yếu giao tiếp với một trạm giám sát trung tâm qua các đường dây điện thoại. Nếu họ không liên tục nhận được thông báo rằng dữ liệu đang được gửi đã được nhận, thì một mã sự cố sẽ được hiển thị. Một số có thể được đặt để gửi tin nhắn máy nhắn tin hoặc gọi đến đường dây cá nhân mà hệ thống không tìm kiếm câu trả lời (do đó không hiển thị mã sự cố), vì vậy nếu có và bạn có điện thoại cố định, bạn có thể lập trình nó để gọi đến (các) ngoài việc gửi email trong một sự kiện.

Nếu bạn không sử dụng dịch vụ giám sát và / hoặc hệ thống của bạn không thể được lập trình để gọi đến một số điện thoại thông thường mà không đưa ra mã sự cố, hãy tắt thiết bị giao tiếp và giám sát đường dây điện thoại (tlm) trong cấu hình.

Bước 2: Lập trình Arduino

Lập trình Arduino
Lập trình Arduino

Trước tiên, chúng tôi cần đăng ký một dịch vụ để gửi email của chúng tôi từ đó.

Dịch vụ tôi đã sử dụng là smtp2go miễn phí và hoạt động với Arduino - mã nguồn được sử dụng ở đây dựa trên mã thiết lập từ trang web của họ.

www.smtp2go.com/

Sau khi đăng ký, bạn cần mã hóa base64 tên người dùng và mật khẩu (có trong "Cài đặt"> "Người dùng") để sử dụng trong bản phác thảo.

www.base64encode.org/

Mã nguồn:

github.com/hzmeister/arduino_alarm_email

Định cấu hình các phần có // nhận xét theo yêu cầu của bạn.

Tải lên Arduino.

Cập nhật:

email smtp2go cuối cùng sẽ đi vào thư mục spam sau một thời gian (ngay cả khi bạn không đặt chúng). Tôi đã thử temboo đáng tin cậy hơn (vì nó sử dụng gmail), nhưng hồ sơ sẽ hết hạn sau một tháng nên đó cũng không phải là một lựa chọn khả thi. Tôi đã bao gồm mã để gửi từ gmail với temboo bằng cách sử dụng lá chắn w5100 nếu ai đó cần nó (mã của họ yêu cầu bạn sử dụng yun đã ngừng sử dụng và đắt tiền).

Phiên bản này sử dụng temboo gmailv2 xác thực bằng cách sử dụng OAuth đáng tin cậy hơn với mã làm mới thay vì mật khẩu ứng dụng được sử dụng trong gmailv1.

Nguồn:

github.com/hzmeister/temboo-gmailv2

Cuối cùng, tôi đã quyết định sử dụng email do isp cung cấp có cổng 25 đang mở. Bạn có thể sử dụng bất kỳ cổng / máy chủ email smtp nào miễn là nó không yêu cầu kết nối được mã hóa (vì w5100 không hỗ trợ nó). Lợi ích của việc sử dụng isp được cung cấp là google không gắn cờ nó là spam. Mã arduino gần giống như với smtp2go, nhưng với một vài thay đổi / cập nhật nhỏ.

Nguồn:

github.com/hzmeister/arduino_alarm_emailV2

Bước 3: Cài đặt phần cứng và kiểm tra

Cài đặt phần cứng và kiểm tra
Cài đặt phần cứng và kiểm tra
Cài đặt phần cứng và kiểm tra
Cài đặt phần cứng và kiểm tra

Lắp tấm chắn w5100 vào Arduino và gắn nó vào vỏ. Băng dính Velcro hoạt động tốt vì không dẫn điện và có thể tháo rời.

Tôi đã sử dụng một bộ ghép quang để cách ly tín hiệu 13,7v pgm1 khỏi đầu vào và mặt đất của arduino 5v. Đó là một mạch "optocoupler không đảo ngược".

Khi cảnh báo được kích hoạt, pgm1 chuyển từ trạng thái mở sang tiếp đất hoàn thành mạch.

Kiểm tra hệ thống.

Sử dụng màn hình nối tiếp trong Arduino IDE để xem trạng thái đầu ra.

Kiểm tra thư mục thư rác nếu trình theo dõi nối tiếp cho thấy email đã được gửi thành công nhưng bạn không nhận được nó trong hộp thư đến của mình.

Đề xuất: