본문 바로가기

Code/기타

ubuntu를 이용한 CCTV 만들기

ubuntu를 쓰면서 오픈소스 프로그램을 손쉽게 쓸 수 있다는 데 감명을 받곤 하는데, CCTV를 설치하면서 또 한번 감탄할 수 밖에 없었다. usb를 연결하면 별 설정없이 카메라를 인식한다(chesse 라는 프로그램으로 확인해보면 된다. 보통 /dev/video0 로 잡힌단다).

그리고 CCTV를 만드려고 하면, 화면 상에 동작을 인식한 후, 동작이 발생한 시점부터 촬영을 하고 기록을 해야하는데, (윈도우에는 몇몇 CCTV 프로그램이 있지만 유료화되었다.) motion이라는 훌륭한 오픈 소스가 있다.

기본적인 작업 순서는 아래 링크에 잘 설명되어 있다. (요약하면, sudo apt-get install motion 만 치면 끝이다.)
 - http://blog.daum.net/ozrictentacles/2

설치까지는 쉽게 마무리할 수 있으나, 다음 문제는 daemon 설정일 것이다. 
나는 밤 시간에만 구동시키기 때문에 크론탭을 이용하여 밤 11시에 motion 데몬을 구동하고, 아침 9시에 motion 데몬을 종료하도록 설정하였다. 여기서 문제가 발생하는 데, 이상하게 크론탭에서는 /etc/init.d/motion 이라는 명령이 작동하지 않는다. 권한 문제인 것 같은데 이리 저리 해봐도 소용이 없었다.

다양한 시도 끝에 다음과 같은 해결책을 찾았다.

00 22 * * 1,2,3,4,5 /sbin/start-stop-daemon --start --exec /usr/bin/motion
10 09 * * 1,2,3,4,5 /sbin/start-stop-daemon --stop --exec /usr/bin/motion


/etc/init.d/motion 스크립트 안에 들어있는 명령을 직접 실행시키는 방법인데, 이 방법만이 제대로 작동하였다.
(참고로 크론탭 수정은 crontab -e 이다. 그리고 위 데몬은 루트 권한으로 돌려야 하므로, sudo crontab -e 라고 쳐야한다.)

그 외에 motion.conf 파일에 디렉토리나 파일명을 손 봐야 하지만, 이건 개인의 취향에 맡기도록 하자.

서버를 구동하면 항상 동작하도록 하기 위해서는 update-rc.d 라는 스크립트를 이용하여 부팅시 실행시킬수도 있다.
이 경우에는 다음과 같이 작성하면 된다. 

update-rc.d motion defaults



 

'Code > 기타' 카테고리의 다른 글

우분투에 air video 설치하기  (1) 2011.04.05
배치파일(.bat)에서 날짜 구해서 변수로 쓰기  (0) 2010.09.16
엑셀로 역행렬 구하기  (0) 2010.09.08
엑셀에서 Scientific Notation  (0) 2010.06.10
Eclipse Setting - Latex 용  (0) 2009.09.07