- Nhanh chóng xây dựng Camera an ninh chụp chuyển động với Raspberry Pi:
- Tùy chỉnh cài đặt Phương tiện trong Chuyển động:
- Cách truy cập Nguồn cấp dữ liệu video qua internet:
Ngày nay, an ninh là mối quan tâm lớn và ngày nay có rất nhiều công nghệ để giữ cho địa điểm của bạn an toàn và được giám sát. Camera quan sát rất hữu ích để theo dõi ngôi nhà hoặc văn phòng của bạn. Mặc dù giá của các loại camera này đã giảm đáng kể từ khi mới ra đời nhưng camera IP có khả năng gửi và nhận ngày qua mạng vẫn rất đắt hàng. Và đối với Giám sát thực, một camera phải có khả năng gửi nguồn cấp dữ liệu của nó qua internet để có thể theo dõi nó từ mọi nơi trên thế giới.
Hôm nay chúng tôi đang sản xuất một Máy ảnh chụp chuyển động giám sát rất rẻ sử dụng Raspberry Pi và một webcam. Đây là một công cụ bảo mật tuyệt vời và rất rẻ, có nhiều tùy chọn có thể cấu hình và có thể được xây dựng trong vài phút. Ở đây, chúng tôi chỉ sử dụng Raspberry Pi và một máy ảnh web USB để tạo máy ảnh Motion Capture này. Chúng tôi đã cài đặt Hệ điều hành Raspbian Jessie trên bảng Raspberry Pi của mình. Bạn nên xem bài viết này để cài đặt hệ điều hành Raspbian và bắt đầu với Raspberry Pi.
Ở đây, chúng tôi sẽ xem qua hướng dẫn bắt đầu nhanh trước tiên, để bạn có thể chuẩn bị Camera giám sát của mình trong vài phút với tất cả các cấu hình mặc định và sau đó, chúng tôi sẽ đi sâu vào các chi tiết và tùy chọn cấu hình khác để tùy chỉnh nó theo nhu cầu của bạn.
Nhưng trước đó, hãy biết đôi điều về Motion (Phần mềm giám sát), là trung tâm của dự án này. Motion là phần mềm CCTV dò chuyển động mã nguồn mở miễn phí, được phát triển cho Linux. Nó phát hiện chuyển động và bắt đầu quay video về nó. Với 'Chuyển động' được cài đặt trong Raspberry Pi, bạn có thể biến Raspberry Pi thành Camera an ninh một cách kỳ diệu và có thể nhận được các chức năng sau:
1. Bạn có thể xem nguồn cấp Video Trực tiếp trên trình duyệt web bằng cách nhập địa chỉ IP của Pi cùng với cổng.
2. Nó sẽ ghi và lưu Video bất cứ khi nào nó phát hiện thấy Chuyển động hoặc bất kỳ sự xáo trộn nào trong vùng xem. Nó sẽ tiếp tục ghi Video cho đến khi có một số chuyển động, sau đó dừng lại và lưu tệp, có thể xem sau.
3. Nó có thể tạo ra một Video Timelapse tuyệt đẹp.
4. Nó có thể chụp ảnh nhanh trong khoảng thời gian đều đặn hoặc khi có chuyển động. Ảnh chụp nhanh cũng được lưu trong đĩa để sử dụng sau này.
Ngoài ra, nó có một số tùy chọn cấu hình mà chúng tôi sẽ thảo luận ngay sau đây và chúng tôi cũng có thể đặt 'trình kích hoạt' do người dùng xác định trên các sự kiện nhất định. Chuyển động hiện chỉ hỗ trợ máy ảnh USB ngoài hộp, nếu bạn muốn sử dụng Máy ảnh Pi thì bạn cần sử dụng bản dựng đặc biệt của Chuyển động.
Nhanh chóng xây dựng Camera an ninh chụp chuyển động với Raspberry Pi:
Ở đây, bạn chỉ cần chạy một số lệnh để bắt đầu nhận nguồn cấp dữ liệu video đầu tiên qua mạng. Trước đó, hãy kiểm tra chính xác xem Raspberry Pi của bạn có được kết nối với Internet hay không, sử dụng mạng LAN hoặc Wi-Fi và sau đó làm theo các bước sau:
Bước 1: Đầu tiên hãy chạy lệnh dưới đây để cập nhật Hệ điều hành Raspbian trên Raspberry Pi:
sudo apt-get cập nhật
Bước 2: Sau đó cài đặt Thư viện 'Chuyển động' bằng lệnh dưới đây:
sudo apt-get install chuyển động
Bước 3: Bây giờ đặt Motion daemon thành yes bằng cách chỉnh sửa tệp: / etc / default / motion để nó luôn chạy. Chỉnh sửa tệp này bằng trình chỉnh sửa 'nano' với 'sudo' như dưới đây:
sudo nano / etc / default / motion
Sau đó, lưu tệp bằng cách nhấn 'CTRL + X', sau đó nhấn 'Y' và nhấn Enter.
Bước 4: Bây giờ chúng ta cần thiết lập quyền cho Target Directory (/ var / lib / motion /), trong đó Motion lưu tất cả các bản ghi Video và tệp hình ảnh. Chúng tôi cần đặt 'Motion' làm chủ sở hữu của thư mục này bằng cách đưa ra lệnh dưới đây:
chuyển động sudo chown: chuyển động / var / lib / chuyển động /
Quyền này là cần thiết nếu không bạn sẽ gặp lỗi dưới đây, khi bạn kiểm tra Trạng thái dịch vụ chuyển động bằng lệnh này: trạng thái chuyển động dịch vụ sudo
Bước 5: Bây giờ chúng ta gần như đã hoàn tất, chỉ cần thay đổi một tùy chọn cấu hình trong tệp cấu hình Motion (/etc/motion/motion.conf ) đã tắt stream_localhost. Chúng tôi phải tắt tính năng phát trực tuyến trên máy chủ cục bộ này, nếu không, chúng tôi sẽ không thể truy cập nguồn cấp dữ liệu Video trên mạng của mình và nó sẽ chỉ có thể truy cập từ chính Raspberry Pi. Để làm như vậy, hãy chỉnh sửa tệp Cấu hình chuyển động bằng trình chỉnh sửa 'nano' và tắt nó đi, như hình dưới đây:
sudo nano /etc/motion/motion.conf
Bây giờ chúng ta đã hoàn tất và sẵn sàng tải nguồn cấp dữ liệu trực tiếp từ máy ảnh web USB được kết nối với Pi. Chỉ cần khởi động dịch vụ Chuyển động bằng lệnh dưới đây và mở IP Raspberry Pi của bạn, với cổng 8081, trong trình duyệt của bạn (như 192.168.1.103:8081):
sudo /etc/init.d/motion start
Và bạn sẽ thấy nguồn cấp dữ liệu trực tiếp từ máy ảnh web của mình như bên dưới. Ở đây chúng tôi đã sử dụng máy ảnh web USB giá rẻ (máy ảnh web lượng tử QHM500LM), hoạt động trơn tru với Raspberry Pi của chúng tôi, nhưng bạn có thể sử dụng thêm máy ảnh chất lượng tốt để có độ phân giải tốt hơn.
Vì nó sẽ hiển thị trong trình duyệt, bạn có thể sử dụng bất kỳ thiết bị nào, để xem nguồn cấp dữ liệu, hỗ trợ trình duyệt web như Điện thoại di động, máy tính bảng, v.v. Dưới đây là một ảnh chụp nhanh từ Điện thoại di động:
Bạn luôn có thể bắt đầu, dừng, khởi động lại và nhận trạng thái của dịch vụ Chuyển động bằng cách sử dụng bốn lệnh dưới đây:
sudo /etc/init.d/motion start sudo /etc/init.d/motion dừng chuyển động dịch vụ sudo khởi động lại trạng thái chuyển động dịch vụ sudo
hoặc bạn có thể khởi động lại Raspberry Pi như một bước khắc phục sự cố khi cần thiết:
khởi động lại sudo
Lưu ý: Nếu bạn là mẫu Raspberry Pi dưới phiên bản 3, thì bạn có thể cần một dongle Wi-Fi để kết nối không dây raspberry Pi với bộ định tuyến. Raspberry Pi 3 có sẵn Wi-Fi trong đó. Ở đây chúng tôi đã sử dụng Raspberry Pi 2 Model B với một dongle Wi-Fi.
Tùy chỉnh cài đặt Phương tiện trong Chuyển động:
Vì vậy, chúng tôi hiện đang có Camera giám sát của mình đang chạy và hoạt động. Bây giờ chúng ta có thể xem xét một số tùy chọn cấu hình rất hữu ích, sử dụng chúng có thể tối ưu hóa nó theo nhu cầu của mình và có thể nhận được kết quả rất ấn tượng. Trong tệp Cấu hình Chuyển động, tất cả các cài đặt được giải thích rất độc đáo với giá trị mặc định và được đề xuất của chúng, chỉ cần kiểm tra bằng lệnh dưới đây:
sudo nano /etc/motion/motion.conf
Ngoài việc nhận nguồn cấp dữ liệu trực tiếp, Motion còn ghi và lưu các tệp video bất cứ khi nào phát hiện thấy Chuyển động. Vì vậy, bạn có thể điều chỉnh tốc độ khung hình, chất lượng, chiều rộng / chiều cao của video phát trực tuyến. Bạn có thể đặt tốc độ khung hình cao cho video thời gian thực, nhưng mạng của bạn phải đủ nhanh cho tốc độ này. Dưới đây là các giá trị mà chúng tôi đã sử dụng, bạn có thể thay đổi chúng cho phù hợp:
# Chiều rộng hình ảnh (pixel). Phạm vi hợp lệ: Phụ thuộc vào máy ảnh, mặc định: 352 chiều rộng 640 # Chiều cao hình ảnh (pixel). Phạm vi hợp lệ: Phụ thuộc vào máy ảnh, mặc định: 288 chiều cao 480 # Số khung hình tối đa được chụp mỗi giây. # Phạm vi hợp lệ: 2-100. Mặc định: 100 (gần như không giới hạn). tốc độ khung hình 50 stream_quality 90
Sẽ rất tốt nếu bạn lưu một số hình ảnh trước và sau khi nó phát hiện chuyển động và bắt đầu quay video. Sử dụng các cài đặt dưới đây cho điều đó:
# Chỉ định số lượng ảnh được chụp trước (vào bộ đệm) từ trước khi phát hiện chuyển động # sẽ được xuất khi phát hiện chuyển động. # Phạm vi đề xuất: 0 đến 5 (mặc định: 0) pre_capture 0 # Số khung hình để chụp sau khi không còn phát hiện chuyển động (mặc định: 0) post_capture 0
Theo mặc định, Motion chụp quá nhiều ảnh khi nó phát hiện ra Chuyển động và bạn sẽ có quá nhiều tệp 'jpg' cho một chuyển động nhỏ. Vì vậy, sẽ rất tốt nếu bạn đặt cài đặt này ( tắt output_pictures ) hoặc đặt nó thành 'tốt nhất':
output_pictures tốt nhất
Bạn cũng có thể chụp nhanh các khoảng thời gian đều đặn do bạn xác định bằng cách sử dụng tùy chọn bên dưới:
# Tạo ảnh chụp nhanh tự động N giây một lần (mặc định: 0 = bị tắt) snapshot_interval 0
Tính năng hấp dẫn nhất đối với tôi, đó là Timelapse Video, đây là một sự sắp xếp rất tốt cho những video timelapse đẹp với chi phí rất thấp. Tại đây, bạn có thể xác định khoảng thời gian cho các ảnh chụp nhanh cho Video Timelapse:
# Giá trị mặc định 0 = tắt - khác lưu khung hình sau mỗi giây thứ N ffmpeg_timelapse 2
Bạn có thể thay đổi Thư mục đích để lưu tất cả các tệp và ảnh đã ghi bằng cách sử dụng 'target_dir' và đừng quên đặt 'Motion' làm chủ sở hữu của thư mục này, như đã giải thích trước đó.
# Thư mục cơ sở đích cho ảnh và phim # Khuyến nghị sử dụng đường dẫn tuyệt đối. (Mặc định: thư mục làm việc hiện tại) target_dir / var / lib / motion
Bạn có thể thay đổi cổng phát trực tuyến web (mặc định là 8081):
# Máy chủ mini-http lắng nghe cổng này để tìm các yêu cầu (mặc định: 0 = bị tắt) stream_port 8081
Nếu bạn không muốn một tệp Video dài thì bạn có thể hướng dẫn Motion tạo một số clip có thời lượng cụ thể thay vì một tệp lớn. Bạn có thể đề cập đến thời lượng clip tính bằng giây (0 cho vô hạn):
# Thời lượng tối đa tính bằng giây của phim # Khi vượt quá giá trị, tệp phim mới sẽ được tạo. (Mặc định: 0 = vô hạn) max_movie_time 30
Bạn cũng có thể quyết định như cách xác định chuyển động và có thể đặt số lượng pixel hoặc khung hình cần được thay đổi để phát hiện Chuyển động thực:
# Ngưỡng cho số pixel đã thay đổi trong hình ảnh # kích hoạt phát hiện chuyển động (mặc định: 1500) ngưỡng 1500 # Khung ảnh phải chứa chuyển động ít nhất là số khung hình đã chỉ định # trong một hàng trước khi chúng được phát hiện là chuyển động thực. Ở mặc định là 1, tất cả chuyển động # đều được phát hiện. Phạm vi hợp lệ: 1 đến hàng nghìn, khuyến nghị 1-5 tối thiểu_mẫu_ khung 5
Theo mặc định Motions lưu nhật ký trong 'syslog' nhưng bạn có thể xác định tệp Nhật ký dành riêng cho Motion:
# Sử dụng tệp để lưu thông báo nhật ký, nếu stderr và nhật ký hệ thống chưa được xác định được sử dụng. (mặc định: không được xác định) logfile /tmp/motion.log
Đừng quên lưu và khởi động lại dịch vụ Chuyển động sau khi thay đổi bất kỳ cài đặt nào. Để lưu motion.conf, hãy nhấn CTRL + X rồi nhấn Y rồi Enter.
Vì vậy, đây là một số cài đặt phổ biến có thể được sử dụng để đạt được kết quả tốt. Nhưng nếu bạn tò mò thì hãy đào thêm tệp cấu hình và bắt đầu chơi với cài đặt. Có rất nhiều tùy chọn để đặt độ sáng, độ tương phản, tốc độ bit, kích hoạt, xác thực mật khẩu và nhiều tùy chọn khác.
Cách truy cập Nguồn cấp dữ liệu video qua internet:
Ở đây chúng tôi đã theo dõi nguồn cấp dữ liệu của cam web qua mạng cục bộ bằng cách sử dụng IP cục bộ của Raspberry Pi. Nhưng nếu bạn muốn giám sát nó từ bất kỳ đâu qua internet thì bạn cần thiết lập Port Forwarding trong Router / Modem của mình. Về cơ bản, bạn cần chuyển tiếp cổng 80 (được sử dụng cho HTTP hoặc internet) đến địa chỉ IP cục bộ hoặc riêng tư của bạn của bạn Raspberry Pi (như (192.168 * trong trường hợp của chúng tôi). Sau khi chuyển tiếp cổng, tất cả các kết nối đến cổng 80 sẽ được chuyển tiếp đến địa chỉ cục bộ này và bạn có thể xem nguồn cấp dữ liệu trực tiếp bằng cách nhập địa chỉ IP công khai của mình trên internet với tính năng phát trực tuyến cổng mà chúng tôi đã thiết lập trước đó (8081). Mỗi Bộ định tuyến có giao diện người dùng khác nhau để thiết lập Chuyển tiếp cổng, vì vậy bạn có thể đăng nhập vào bộ định tuyến của mình (192.168.1.1) và có thể tìm thấy tùy chọn tương tự. Nhưng hãy nhớ rằng, để truy cập Raspberry Pi qua internet, bạn cần có địa chỉ IP Công cộng tĩnh và nó không được thay đổi mỗi khi khởi động lại modem. Địa chỉ IP tĩnh được cung cấp bởi nhà cung cấp dịch vụ Internet của bạn.
Vì vậy, đây là cách chúng ta có thể dễ dàng thiết lập một Camera giám sát chi phí rất thấp bằng cách sử dụng Raspberry Pi và Camera web đơn giản.