Tạo hệ thống camera quan sát nhiều camera với Raspberry Pi và motionEyeOS
Mặc dù có vô số hệ thống an ninh gia đình CCTV thương mại trên thị trường, việc xây dựng hệ thống camera giám sát Raspberry Pi của riêng bạn mang lại lợi thế về khả năng tùy chỉnh để phù hợp với mục đích chính xác của bạn.
Một bản phân phối Linux đặc biệt có tên là motionEyeOS giúp dễ dàng thiết lập hệ thống bảo mật của bạn với một hoặc nhiều camera. Sau đó, nó có thể phát hiện chuyển động từ chế độ xem camera và gửi cảnh báo qua email hoặc thông báo đẩy. Chúng tôi sẽ chỉ cho bạn cách thiết lập và chạy mọi thứ.
Mục Lục
Bạn Cần Những Gì Để Thiết Lập Hệ Thống Camera Giám Sát
- Raspberry Pi: bất kỳ mô hình nào cũng sẽ hoạt động, bao gồm cả Pi Zero và Mô-đun điện toán
- Webcam USB, Mô-đun máy ảnh Raspberry Pi hoặc mô-đun Máy ảnh chất lượng cao
Tìm hiểu thêm về Raspberry Pi, Pico, Arduino cũng như các máy tính bảng đơn và bộ vi điều khiển khác.
1. Cài đặt motionEyeOS
Thay vì là một ứng dụng, motionEyeOS là một hệ điều hành độc lập, một trong nhiều hệ điều hành Raspberry Pi. Trước tiên, bạn cần tìm phiên bản chính xác cho mẫu Raspberry Pi của mình. Chuyển đến danh sách các thiết bị được hỗ trợ và nhấp vào phiên bản mới nhất cho bo mạch của bạn để tải xuống ảnh đĩa dưới dạng tệp .xz.
Có hai cách chính để cài đặt motionEyeOS trên Raspberry Pi. Trang web motionEyeOS cung cấp tiện ích ghi ảnh cho máy tính Linux và macOS để ghi ảnh đĩa vào thẻ nhớ microSD để sử dụng trong Raspberry Pi của bạn. Điều này cung cấp tùy chọn thiết lập kết nối mạng không dây và đặt địa chỉ IP tĩnh. Để biết thêm chi tiết, xem hướng dẫn cài đặt.
Phương pháp thứ hai – mà chúng tôi sẽ sử dụng ở đây, vì nó cũng hoạt động trên các máy Windows – là ghi ảnh đĩa bằng công cụ Raspberry Pi Imager tiêu chuẩn, có thể tải xuống từ trang web Raspberry Pi.
Sử dụng đầu đọc thẻ tích hợp hoặc bộ điều hợp USB, hãy lắp thẻ nhớ microSD của bạn để gắn nó vào máy tính của bạn và mở Raspberry Pi Imager. Bấm vào Chọn hệ điều hành, sau đó cuộn xuống cuối danh sách để chọn Sử dụng tùy chỉnh.
Duyệt đến motionEyeOS.xz tệp bạn đã tải xuống trước đó. Bây giờ bấm vào Chọn thẻ SD và chọn thẻ nhớ microSD đã lắp của bạn, có thể được gọi là Phương tiện Thiết bị Lưu trữ Chung.
Cuối cùng, bấm vào Viết để ghi hình ảnh vào thẻ.
2. Định cấu hình trước kết nối không dây của bạn
Trước khi sử dụng thẻ nhớ microSD trong Raspberry Pi, bạn sẽ muốn định cấu hình trước thông tin đăng nhập mạng không dây.
Mở trình soạn thảo văn bản thuần túy (chẳng hạn như Trình soạn thảo văn bản trên macOS hoặc Notepad trên Windows) và nhập các dòng sau, thay thế ssid và psk giá trị với SSID (tên) và mật khẩu cho bộ định tuyến không dây của riêng bạn. Bạn cũng nên thay đổi mã quốc gia thành mã nơi thiết bị sẽ hoạt động.
country=US
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
ssid="MyWiFiSSID"
psk="MyWiFiPassword"
}
Lưu tệp dưới dạng wpa_supplicant.conf vào thư mục gốc của thẻ nhớ microSD, nơi bạn sẽ thấy các tệp khác như mã khởi động.bin và hạt nhân.img. Nếu tệp lưu với hậu tố .txt, hãy xóa nó để nó được gọi là wpa_supplicant.conf.
3. Cài Đặt Camera Giám Sát
Nếu bạn đang sử dụng Mô-đun máy ảnh Raspberry Pi hoặc Máy ảnh chất lượng cao, hãy kết nối nó với cổng Máy ảnh của Raspberry Pi. Nếu sử dụng webcam, hãy kết nối với cổng USB trên Raspberry Pi.
Lắp thẻ nhớ microSD vào Raspberry Pi của bạn và cấp nguồn cho nó. Nếu được kết nối với màn hình, bạn sẽ thấy danh sách các lệnh đang được chạy. Một khi bạn wpa_supplicant.conf tệp được đọc thành công, sau đó tệp sẽ kết nối với mạng của bạn và hiển thị địa chỉ IP của Raspberry Pi sau Giao diện wlan0 có địa chỉ IP:.
Ngoài ra, nếu Raspberry Pi của bạn không được kết nối với màn hình, bạn luôn có thể khám phá địa chỉ IP bằng cách truy cập trang cài đặt của bộ định tuyến không dây trong trình duyệt web trên thiết bị khác và tìm kiếm thiết bị có tên bắt đầu bằng meye-.
4. Truy cập Giao diện Web
Trong trình duyệt web trên máy tính hoặc thiết bị khác, hãy nhập địa chỉ IP của Raspberry Pi và bạn sẽ thấy màn hình đăng nhập. Chỉ cần nhập quản trị viên làm tên người dùng, không có mật khẩu.
Nếu bạn đã kết nối Mô-đun máy ảnh Raspberry Pi hoặc Máy ảnh chất lượng cao, mô-đun này sẽ được phát hiện tự động và bạn sẽ thấy chế độ xem camera từ mô-đun đó trong giao diện web. Nếu sử dụng camera USB, trong Thêm máy ảnh menu xuất hiện, chọn Máy ảnh cục bộ V4L2 cho Loại máy ảnh, và Máy ảnh USB2.0: Máy ảnh USB2.0 cho Máy ảnh.
Đối với thiết lập nhiều camera, có thể kết nối nhiều camera với một Raspberry Pi, mặc dù kiểu máy được sử dụng cần phải đủ mạnh để xử lý tất cả các luồng.
Ngoài ra, bạn có thể sử dụng nhiều bảng Raspberry Pi, mỗi bảng có một camera và chỉ định một Raspberry Pi khác làm trung tâm để xử lý các luồng của chúng. Điều này rất hữu ích nếu bạn muốn đặt camera ở các phòng khác nhau.
Ngoài ra còn có tùy chọn sử dụng máy tính Linux thông thường làm máy chủ trung tâm.
5. Định cấu hình Cài đặt tùy chỉnh
Trong giao diện web, nhấp vào biểu tượng ba đường thẳng đứng ở trên cùng bên trái để mở bảng cài đặt. bên trong Sở thích thực đơn, thay đổi Bố cục cột tùy chọn thành 1 nếu sử dụng một camera, để chế độ xem lấp đầy màn hình.
Các thiết bị video menu cho phép bạn thay đổi độ phân giải, xoay và tốc độ khung hình cho camera hiện được chọn. Bạn cũng có thể đổi tên camera thành thứ gì đó mang tính mô tả, chẳng hạn như căn phòng đặt camera. Sau khi thay đổi bất kỳ cài đặt menu nào, hãy nhấp vào nút Ứng dụng để áp dụng chúng.
Đối với thiết lập camera an ninh của bạn, bạn sẽ muốn phát hiện chuyển động từ chế độ xem camera. Mở Phát hiện chuyển động menu và bật nó lên. Các tùy chọn khác cho phép bạn đặt Ngưỡng thay đổi khung cần thiết để phát hiện chuyển động. Đặt nó quá thấp có thể dẫn đến quá nhiều kết quả dương tính giả. Các Khoảng cách chuyển động tùy chọn là độ trễ trước khi tìm cách phát hiện lại chuyển động sau khi nó được kích hoạt.
Để xem phim được quay từ phát hiện chuyển động, hãy nhấp vào chế độ xem camera trực tiếp rồi chọn biểu tượng nút phát hình tam giác. Cũng có thể xem các ảnh tĩnh do máy ảnh chụp – theo cách thủ công hoặc bằng cách cài đặt Chế độ chụp bên trong ảnh tĩnh trình đơn để kích hoạt chuyển động.
7. Gửi thông báo qua email
Các Thông báo chuyển động menu cho phép bạn gửi email cho chính mình bất cứ khi nào phát hiện chuyển động. Sau khi bật nó lên, hãy nhập Địa chỉ email bạn muốn gửi thông báo đến. Bạn sẽ cần nhập các cài đặt khác cho tài khoản của mình.
Nếu sử dụng Gmail, hãy đặt Máy chủ SMTP đến smtp.gmail.com, Cổng SMTP đến 587, và Tài khoản SMTP vào phần đầu tiên của địa chỉ email của bạn (nghĩa là không có @gmail.com). Các Mật khẩu SMTP là cái mà bạn sử dụng để đăng nhập vào tài khoản Gmail của mình. Các từ địa chỉ có thể để trống hoặc đặt thành địa chỉ tùy chỉnh. Bố trí TLS để trên.
Trong tab trình duyệt khác, hãy truy cập Bảo vệ menu cho tài khoản Google của bạn và thiết lập Truy cập ứng dụng kém an toàn hơn đến trên – sau khi nhận được cảnh báo bảo mật, hãy xác nhận rằng chính bạn là người đã thay đổi nó. Lưu ý rằng điều này được thực hiện có nguy cơ của riêng bạn. Chúng tôi thiết lập một tài khoản Gmail mới dành riêng cho mục đích này.
Bây giờ bạn có thể gửi một Email thử nghiệm khỏi motionEyeOS mà không kích hoạt cảnh báo bảo mật của Google. Lưu ý nếu sử dụng nhiều camera, bạn cần thiết lập thông báo qua email cho từng camera riêng biệt.
Để nhận được hình ảnh cùng với thông báo qua email của bạn, bạn nên đặt Hình ảnh đính kèm Khoảng thời gian tùy chọn từ 5 đến 30. Bạn cũng cần đặt Chế độ chụp đến kích hoạt chuyển động bên trong ảnh tĩnh thực đơn.
8. Thêm thông báo đẩy
Bạn cũng có thể gửi thông báo đẩy bằng cách sử dụng Chạy một lệnh tùy chọn trong Thông báo chuyển động thực đơn. Chẳng hạn, để sử dụng dịch vụ Pushover – cung cấp ứng dụng cho Android, iOS và máy tính để bàn – bạn cần tạo một tập lệnh Python ngắn để dịch vụ này chạy.
Đăng ký Pushover. Xin lưu ý rằng sau 30 ngày dùng thử miễn phí, bạn sẽ cần mua hàng trong ứng dụng một lần trị giá $5 để tiếp tục sử dụng.
Sau đó, bấm vào Tạo mã thông báo ứng dụng/API. Ghi lại Mã thông báo/Khóa API được cung cấp cho nó, cùng với Khóa người dùng của bạn từ bảng điều khiển.
Tải xuống: Pushover cho iOS | Android (Có bản dùng thử miễn phí)
Sử dụng mã soạn sẵn từ trang web Pushover, bạn có thể tạo tập lệnh Python của mình:
import httplib, urllib
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
urllib.urlencode({
"token": "abc123",
"user": "user123",
"title": "CCTV alert"
"message": "Motion detected on camera 1!",
"url": "http://IP.ADD.RE.SS",
"url_title": "View live stream",
}), { "Content-type": "application/x-www-form-urlencoded" })
conn.getresponse()
Thay thế abc123 với Mã thông báo API của ứng dụng của bạn và người dùng123 với Khóa người dùng của bạn. Thay thế ĐỊA CHỈ IP bằng địa chỉ IP của thiết lập motionEyeOS của bạn.
Để đặt cái này trên hệ thống motionEyeOS của bạn, bạn cần SSH vào từ một máy tính khác bằng ứng dụng Terminal (hoặc WinSCP trên Windows), bằng cách nhập:
ssh admin@&IP_ADDRESS
Thay thế ĐỊA CHỈ IP với địa chỉ IP của hệ thống motionEyeOS của bạn. Bây giờ hãy nhập:
cd /data
Bây giờ bạn đang ở trong thư mục dữ liệu, hãy tạo một tệp mới có tên pushover.py:
nano pushover.py
Dán hoặc nhập tập lệnh Python của bạn vào đó và lưu với Ctrl + Xtheo dõi bởi Y. Bây giờ làm cho nó có thể thực thi được với:
chmod +x pushover.py
Ngoài ra, trong WinSCP trên Windows, nhấn F9đặt quyền thành 0775 và nhấn VÂNG.
Kiểm tra tập lệnh bằng cách chạy:
python pushover.py
Bạn sẽ nhận được thông báo, với cảnh báo bằng âm thanh, từ motionEyeOS trong ứng dụng Pushover của bạn.
Quay lại giao diện web motionEyeOS menu Thông báo chuyển động, bật Chạy một lệnh tùy chọn và loại python /data/pushover.py vào trường Lệnh để yêu cầu nó chạy tập lệnh Python của bạn.
Nhấn vào Ứng dụng cái nút. Lưu ý rằng bạn có thể áp dụng một tập lệnh Run A Command khác cho mỗi camera trong thiết lập của mình, vì vậy bạn có thể tạo nhiều tập lệnh Python, mỗi tập lệnh cho biết camera nào đã được phát hiện chuyển động.
Tự làm hệ thống camera giám sát của riêng bạn
Xin chúc mừng, giờ đây bạn đã thiết lập hệ thống camera giám sát Raspberry Pi có thể tùy chỉnh của riêng mình, hoàn chỉnh với email và thông báo đẩy để cảnh báo bạn về sự hiện diện của bất kỳ kẻ xâm nhập nào được phát hiện trên camera.