본문 바로가기

Windows/Windows

Microsoft LifeCam HD-3000 으로 CCTV처럼 감시용으로 사용하기

이 글을 쓰기에 앞서 본인 나즈나는 분명 이 웹캠을 화상채팅 및 통화용으로 샀을텐데 정신차려보니 이러고 있더라구요.

어쩌다가 이렇게 되었는지 고찰을 가져봅니다.


3, 2, 1, 끝.



이 포스팅은 

Microsoft LifeCam HD-3000

Microsoft Robotics Developer Studio 4

Microsoft Server 2012

의 환경에서 작성 및 테스트되었습니다만 굳이 위 환경과 똑같지 않더라도 Microsoft Robotics Developer Studio 4만 잘 동작하면 어느 제품을 사용하더라도 동일하게 동작하리라 생각합니다.

Microsoft Robotics Developer Studio 4(이하 MSRDS라고 합시다)를 아래 링크에서 내려받아 설치하겠습니다.

용량이 좀 있는 관계로 내려받는동안 웹캠을 아직 설치하지 않으셨다면 설치해주세요.

https://www.microsoft.com/en-us/download/details.aspx?id=29081


웹캠이나 블루투스 장치 드라이버는 정상적으로는 서버 OS에서는 설치가 되지 않는 것 같습니다.

엄밀히 말하자면 MS제품은 드라이버 설치 시 인스톨러의 윈도우와 정확히 일치하지 않으면 비슷한 기반이더라도 진행이 안되더라구요.

그런데 어떻하나 싶어서 레거시 드라이버로는 안될까 싶어 장치 관리자(devmgmt.msc)에서 확인하니 이미 설치되 있더라는 겁니다..

아마 같은 MS제품이어서 그런지 드라이버 설치가 안되었음에도 장치가 잘 설치된걸로 나오더군요. 

아무래도 내장된 드라이버중에 있었던듯..


MSRDS는 를 다 다운받으셨으면 설치를 해주세요.

별다른 선택지는 없고 다음다음 신공 하셔도 무방합니다만 설치 경로를 옮기고 싶다면 확인하고 넘어가셔야겠죠.

또한, 이 강좌는 서버 2012를 기반으로 했습니다. xp에서는 다른 경로로 설치가 되는듯 싶으니 확인해주시기 바랍니다.


설치가 완료 되었으면 시작메뉴에 자잘자잘한게 많이 있을텐데 다 필요가 없습니다.

이 프로그램이 본래 로봇개발, 운용하는 프로그램인듯한데 이것으로 로봇을 만들겠다 하는 것이 아니라면 쓸 일이 없으니까요.

저희는 스크립트로 만들어 실행할 것이기 때문에 다른건 필요가 없게 됩니다.


우선 설치 경로를 확인해주세요.

제 경우는 C:\Users\nazuna\Microsoft Robotics Dev Studio 4에 설치되었습니다.

설치 경로로 이동하셔서 bin폴더로 내려갑니다.


폴더 아래에 위와같은 파일이 있을겁니다.(.bak 제외)

여기서 원격지에서도 확인을 하려면 DssHost.exe.config를 수정해야합니다.

확장자가 숨겨져서 헷갈리실 텐데 위에서 두번째의 파일입니다.

내부 네트워크(공유기에 물린 기기 끼리)에서만 확인하려면 이 과정은 패스합니다.

메모장과 같은 간단한 워드 프로그램으로 열어 아래 항목을 찾아 false를 true로 변경해주세요.

아마 108번째 라인에 있을 겁니다.

Microsoft.Dss.Services.Transports.AllowUnsecuredRemoteAccess



이 옵션을 false로 놔두면 호스트명을 지정해줘도 보안정책상 옵션으로 받아들이지 않게 됩니다.

저장을 마치셨으면 배치나 파워쉘 스크립트로 아래와 같이 작성해주시면 편하게 실행할 수 있습니다.


cd 설치경로\bin

./dsshost.exe /p:포트번호 /h:호스트명 /m:../samples/config/webcam.manifest.xml


호스트명은 본인이 외부에서 접속할 호스트명을 넣어주시면 됩니다.(IP라던지 도메인)

물론, 이 부분은 추후 가이드라인을 보고 자기 입맛에 바꾸어 만들어서 쓰셔도 됩니다.

이것은 말 그대로 쉽게 연결 및 사용만 가능하게끔 되어 있는 샘플이니까요.


저장 하셨으면 그대로 실행하면 동작하지 않는 경우가 있으실겁니다.

이유는 파워쉘의 경우 사인되지 않은 프로그램이나 스크립트는 동작하지 않게끔 설정된 경우입니다.(기본값입니다.)

이 경우에는 


Set-ExecutionPolicy Unrestricted를 최초 1회만 해주시면 이후 스크립트 실행 시 문제가 없게 됩니다.

ExecutionPolicy에 대해서는 Get-Help about_execution_policies 로 더 자세히 알 수 있습니다.

위 도움말 페이지를 참고하여 자신의 입맛대로 선택하시기 바랍니다.


두번째 이유는 관리자 권한이 아닌 경우입니다.

본인의 계정이 Administrator 이거나 UAC가 Off인 경우에는 그대로 통과가 될지 모르겠으나(전자는 통과가 될겁니다)

저의 경우 UAC조차 On으로 사용하기 때문에 cmd나 ps를 반드시 관리자 권한으로 실행해야합니다.

배치파일 혹은 스크립트는 %WINDIR%\system32 에 넣어주세요.

일반적으로 관리자 권한으로 cmd나 ps를 실행하면 저 경로에서 시작하게 됩니다.

넣으셨으면 배치파일은 그대로 입력해주시면 실행될 것 같고 파워쉘 스크립트는 ./ 를 반드시 붙이셔야 합니다.

이 또한 설정으로 바꿀순 있는데 굳이 이것까지 설정으로 변경해줄 필요는 없을거 같아 저는 저대로 사용하고 있습니다.


스크립트 내용을 잘 작성했다면 서너줄 문구가 뜨면서 실행되게 됩니다.



이제 아무 브라우저나 실행하고 http://localhost:50000/webcam 을 입력하고 접속하세요.

아마 최초 1회는 로그인 과정 없이 패스가 될겁니다.

이후로는 로그인이 필요한데요. 로그인은 윈도우의 켈베로스를 따르는 것으로 기억합니다.

본인의 계정이 패스워드를 이미 사용중이라면 그대로 넘어가시면 되지만 아니라면 전용 계정을 하나 만드셔야겠죠.

계정은 도메인 계정이든 로컬 계정이든 접속만 가능하면 상관이 없습니다.


로그인을 하지 않고 누구나 아이피와 포트만 알면 접근이 가능하게 하고자 한다면

Security Manager에서 아래와 같이 Disable 해주시면 됩니다.






그러면 위와같이 빨간 경고문이 뜹니다.

내용은 익히 하실테니 실행했던 스크립트 종료하고 다시 실행하시면됩니다.


설정을 다 마쳤으면 

7 : 시작 -> firewall -> 방화벽 상태 확인

8, 2012 : Win+W -> firewall -> 방화벽 상태 확인


고급 방화벽 설정 -> 인바운드 규칙 -> 설정해주신 포트를 연결 허용으로 추가해주세요.

그리고 호스트명에 지정한 도메인이나 아이피로 접속해봅시다.

접속이 성공했다면 언제든 브라우저와 인터넷만 있다면 컴퓨터를 누가 쓰고 있는지 확인이 가능하게 됩니다.


P.S. 방금 해보니 안드로이드에서도 되더랍니다.(갤노트1 4.1 젤리빈 기준)

아이폰은 기기가 없어서(...)