오늘날 보안은 주요 관심사이며 현재 사용자의 장소를 안전하게 유지하고 모니터링 할 수있는 많은 기술이 있습니다. CCTV 카메라 는 집이나 사무실을 감시하는 데 매우 유용합니다. 이러한 유형의 카메라는 처음부터 가격이 크게 낮아졌지만 네트워크를 통해 날짜를주고받을 수있는 IP 카메라는 여전히 매우 비쌉니다. True Surveillance의 경우 카메라는 인터넷을 통해 피드를 전송할 수 있어야 전 세계 어디서나 볼 수 있습니다.
오늘 우리는 Raspberry Pi와 웹캠을 사용하여 매우 저렴한 Surveillance Motion Capture Camera를 만들고 있습니다. 이것은 구성 가능한 옵션이 많고 몇 분 안에 구축 할 수있는 훌륭하고 매우 저렴한 보안 도구입니다. 여기에서는 이 Motion Capture 카메라를 만들기 위해 Raspberry Pi와 USB 웹 카메라 만 사용합니다. Raspberry Pi 보드에 Raspbian Jessie OS가 설치되어 있습니다. Raspbian OS를 설치하고 Raspberry Pi를 시작하려면이 문서를 확인해야합니다.
여기에서는 먼저 빠른 시작 가이드를 살펴보고 모든 기본 구성을 사용하여 몇 분 안에 감시 카메라를 준비 할 수 있으며 그 후에는 다른 세부 정보 및 구성 옵션을 살펴보고 필요에 따라 사용자 정의 할 수 있습니다.
하지만 그 전에이 프로젝트의 핵심 인 Motion (Surveillance Software) 에 대해 알아 봅시다. Motion은 Linux 용으로 개발 된 무료 오픈 소스 동작 감지기 CCTV 소프트웨어입니다. 움직임을 감지하여 영상 녹화를 시작합니다. Raspberry Pi에 'Motion'을 설치하면 마법처럼 Raspberry Pi를 보안 카메라로 전환하고 다음 기능을 사용할 수 있습니다.
1. 포트와 함께 Pi의 IP 주소를 입력하여 웹 브라우저에서 라이브 비디오 피드를 볼 수 있습니다.
2.보기 영역에서 움직임이나 장애가 감지 될 때마다 비디오를 녹화하고 저장합니다. 움직임이있을 때까지 비디오를 계속 녹화 한 다음 중지하고 파일을 저장하며 나중에 볼 수 있습니다.
3. 아름다운 타임 랩스 비디오를 만들 수 있습니다.
4. 일정한 간격으로 또는 움직임이있을 때 스냅 샷을 찍을 수 있습니다. 스냅 샷도 나중에 사용할 수 있도록 디스크에 저장됩니다.
그 외에도 곧 논의 할 몇 가지 구성 옵션이 있으며 특정 이벤트에 대해 사용자 정의 '트리거'를 설정할 수도 있습니다. Motion은 현재 기본적으로 USB 카메라 만 지원합니다. Pi 카메라를 사용하려면 Motion의 특수 빌드를 사용해야합니다.
Raspberry Pi로 모션 캡처 보안 카메라를 빠르게 구축:
여기서는 네트워크를 통해 첫 번째 비디오 피드를 시작하기 위해 몇 가지 명령 만 실행하면됩니다. 그 전에 LAN 또는 Wi-Fi를 사용하여 Raspberry Pi가 인터넷에 연결되어 있는지 확인한 다음 아래 단계를 따르십시오.
1 단계: 먼저 아래 명령을 실행하여 Raspberry Pi 에서 Raspbian OS 를 업데이트합니다.
sudo apt-get 업데이트
2 단계: 다음 명령을 사용하여 '모션'라이브러리 를 설치 합니다.
sudo apt-get 설치 모션
3 단계: 이제 항상 실행되도록 파일 / etc / default / motion 을 편집하여 Motion daemon을 yes 로 설정 합니다. 다음과 같이 'sudo'와 함께 'nano'편집기를 사용하여이 파일을 편집합니다.
sudo nano / etc / default / motion
그런 다음 'CTRL + X', 'Y'및 Enter를 눌러 파일을 저장하십시오.
4 단계: 이제 Motion이 모든 비디오 녹화물과 사진 파일을 저장 하는 대상 디렉터리 (/ var / lib / motion /)에 대한 권한 을 설정 해야 합니다. 아래 명령을 실행하여이 디렉토리의 소유자로 'Motion'을 설정해야합니다.
sudo chown motion: motion / var / lib / motion /
이 권한이 필요합니다. 그렇지 않으면 다음 명령을 사용하여 모션 서비스 상태를 확인할 때 아래 오류가 발생합니다. sudo service motion status
5 단계: 이제 거의 완료되었습니다. Motion 구성 파일 (/etc/motion/motion.conf )에서 stream_localhost off 인 구성 옵션 하나만 변경 하면됩니다. 우리는해야 스트리밍이 로컬 호스트를 해제 그렇지 않으면 우리는 우리의 네트워크에서 비디오 피드에 액세스 할 수 없습니다, 그리고 그것은 라즈베리 파이 자체에만 액세스 할 수 있습니다. 이렇게하려면 아래와 같이 'nano'편집기로 모션 구성 파일을 편집하고 끄십시오.
sudo nano /etc/motion/motion.conf
이제 완료되었으며 Pi에 연결된 USB 웹 카메라에서 라이브 피드를 가져올 준비가되었습니다. 아래 명령을 사용하여 Motion 서비스를 시작하고 브라우저 (예: 192.168.1.103:8081)에서 포트 8081로 Raspberry Pi의 IP를 엽니 다.
sudo /etc/init.d/motion start
그리고 아래와 같이 웹 카메라의 라이브 피드를 볼 수 있습니다. 여기에서는 Raspberry Pi와 원활하게 작동하는 저렴한 USB 웹 카메라 (Quantum web camera QHM500LM)를 사용했지만 더 나은 해상도를 위해 양질의 카메라를 사용할 수 있습니다.
브라우저에 표시되므로 모든 기기를 사용하여 모바일, 태블릿 등과 같은 웹 브라우저를 지원하는 피드를 볼 수 있습니다. 아래는 휴대 전화의 스냅 샷입니다.
아래의 네 가지 명령을 사용하여 언제든지 Motion 서비스를 시작, 중지, 다시 시작하고 상태를 가져올 수 있습니다.
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion restart sudo service motion status
또는 필요한 경우 문제 해결 단계로 Raspberry Pi를 재부팅 할 수 있습니다.
sudo 재부팅
참고: 버전 3 이하의 Raspberry Pi 모델 인 경우, Raspberry Pi를 라우터에 무선으로 연결하려면 Wi-Fi 동글이 필요할 수 있습니다. Raspberry Pi 3에는 Wi-Fi가 내장되어 있습니다. 여기에서는 Wi-Fi 동글과 함께 Raspberry Pi 2 Model B를 사용했습니다.
Motion에서 미디어 설정 사용자 지정:
이제 우리는 감시 카메라를 실행하고 있습니다. 이제 우리는 필요에 따라 최적화하고 매우 인상적인 결과를 얻을 수있는 매우 유용한 구성 옵션을 살펴볼 수 있습니다. 에서 동작 구성 파일, 모든 설정은 명령 아래 사용하여 확인, 기본 및보다 추천 값이 매우 잘 설명되어 있습니다:
sudo nano /etc/motion/motion.conf
실시간 피드를받는 것 외에도 Motion은 Motion을 감지 할 때마다 비디오 파일을 녹화하고 저장합니다. 따라서 스트리밍 비디오의 프레임 속도, 품질, 너비 / 높이를 조정할 수 있습니다. 실시간 비디오의 경우 프레임 속도를 높게 설정할 수 있지만 네트워크는이를 위해 충분히 빨라야합니다. 다음은 우리가 사용한 값입니다. 그에 따라 변경할 수 있습니다.
# 이미지 너비 (픽셀). 유효 범위: 카메라에 따라 다름, 기본값: 352 너비 640 # 이미지 높이 (픽셀). 유효 범위: 카메라에 따라 다름, 기본값: 288 높이 480 # 초당 캡처 할 최대 프레임 수. # 유효 범위: 2-100. 기본값: 100 (거의 제한 없음). 프레임 속도 50 stream_quality 90
움직임을 감지 하고 비디오 녹화를 시작 하기 전후에 일부 사진 을 저장하는 것이 좋습니다. 이를 위해 아래 설정을 사용하십시오.
# 모션 감지시 출력 될 모션 #이 감지되기 전의 사전 캡처 (버퍼링 된) 사진 수를 지정합니다. # 권장 범위: 0 ~ 5 (기본값: 0) pre_capture 0 # 움직임이 더 이상 감지되지 않은 후 캡처 할 프레임 수 (기본값: 0) post_capture 0
Motion은 기본적으로 Motion을 감지 할 때 너무 많은 사진을 찍고 작은 동작에 대해 너무 많은 'jpg'파일로 끝납니다. 따라서이 설정 ( output_pictures off )을 끄거나 'best'로 설정하는 것이 좋습니다.
output_pictures 최고
아래 옵션을 사용하여 사용자가 정의한 정기적 인 간격으로 스냅 샷을 찍을 수도 있습니다.
# N 초마다 자동 스냅 샷 만들기 (기본값: 0 = 비활성화 됨) snapshot_interval 0
저에게 가장 매력적인 기능은 타임 랩스 비디오입니다. 매우 저렴한 비용으로 아름다운 타임 랩스 비디오를위한 아주 좋은 배열입니다. 여기에서 타임 랩스 비디오의 스냅 샷 간격을 정의 할 수 있습니다.
# 기본값 0 = 꺼짐-그렇지 않으면 N 초마다 프레임 저장 ffmpeg_timelapse 2
'target_dir' 을 사용하여 녹화 된 모든 파일과 사진을 저장 하도록 Target Directory 를 변경할 수 있으며 앞서 설명한대로 'Motion' 을이 디렉토리의 소유자로 설정하는 것을 잊지 마십시오.
# 사진 및 영화의 대상 기본 디렉토리 # 절대 경로를 사용하는 것이 좋습니다. (기본값: 현재 작업 디렉토리) target_dir / var / lib / motion
웹 스트리밍 포트를 변경할 수 있습니다 (기본값은 8081).
# mini-http 서버는 요청을 위해이 포트를 수신합니다 (기본값: 0 = 비활성화 됨) stream_port 8081
긴 비디오 파일을 원하지 않는 경우 Motion 이 하나의 큰 파일 대신 특정 기간의 여러 클립을 만들도록 지시 할 수 있습니다. 클립 지속 시간을 초 단위로 언급 할 수 있습니다 (무제한의 경우 0).
# 동영상의 최대 길이 (초) # 값을 초과하면 새 동영상 파일이 생성됩니다. (기본값: 0 = 무한) max_movie_time 30
모션을 정의하는 방법과 같이 결정하고 True Motion을 감지하기 위해 변경해야하는 픽셀 또는 프레임 수를 설정할 수도 있습니다.
# 움직임 감지를 트리거하는 이미지의 변경된 픽셀 수에 대한 임계 값 (기본값: 1500) 임계 값 1500 # 사진 프레임은 실제 움직임으로 감지되기 전에 # 지정된 프레임 수 이상의 움직임을 포함해야합니다. 기본값 1에서는 모든 # 동작이 감지됩니다. 유효 범위: 1에서 수천, 권장 1-5 minimum_motion_frames 5
기본적으로 Motions는 로그를 'syslog'에 저장하지만 Motion에 대한 전용 로그 파일을 정의 할 수 있습니다.
# 정의되지 않은 stderr 및 syslog가 사용되는 경우 파일을 사용하여 로그 메시지를 저장합니다. (기본값: 정의되지 않음) logfile /tmp/motion.log
설정을 변경 한 후 Motion 서비스 를 저장하고 다시 시작하는 것을 잊지 마십시오. motion.conf를 저장하려면 CTRL + X, Y, Enter를 차례로 누르십시오.
따라서 이것은 좋은 결과를 얻기 위해 사용할 수있는 몇 가지 일반적인 설정입니다. 그러나 궁금하다면 구성 파일을 더 많이 파고 설정으로 재생하십시오. 밝기, 대비, 비트 전송률, 트리거, 암호 인증 등을 설정하는 많은 옵션이 있습니다.
인터넷을 통해 비디오 피드를 얻는 방법:
여기에서는 Raspberry Pi의 로컬 IP를 사용하여 로컬 네트워크를 통해 웹 캠 피드를 모니터링했습니다. 그러나 인터넷을 통해 어디서든 모니터링하려면 라우터 / 모뎀에서 포트 포워딩 을 설정해야합니다. 기본적으로 포트 80 (HTTP 또는 인터넷에 사용됨)을 로컬 또는 개인 IP 주소로 전달해야합니다. Raspberry Pi (예: (예: 192.168 *)) 포트 포워딩 후 포트 80으로 들어오는 모든 연결이이 로컬 주소로 포워딩되며 스트리밍을 통해 인터넷에 공용 IP 주소를 입력하여 라이브 피드를 볼 수 있습니다. 이전에 설정 한 포트 (8081)입니다. 모든 라우터에는 포트 포워딩 설정을위한 사용자 인터페이스가 다르기 때문에 라우터 (192.168.1.1)에 로그인하여 동일한 옵션을 찾을 수 있습니다. 인터넷을 통한 Raspberry Pi는 고정 공용 IP 주소가 있어야하며 모뎀을 다시 시작할 때마다 변경해서는 안됩니다. 고정 IP 주소는 ISP에서 제공합니다.
그래서 이것이 Raspberry Pi와 Simple Web Camera를 사용하여 매우 저렴한 감시 카메라를 쉽게 설정할 수있는 방법 입니다.