시놀로지 나스

ESP32-CAM으로 CCTV 시스템 만들기(motioneye)

do121 2024. 5. 11. 00:45

원래 esp32-cam에 pir 센서를 연결해서 사람이 감지되면 사진 촬영 후 텔레그램으로 전송하려는 계획이였는데 처리 속도가 느려 사람이 지나간 다음 촬영하여 초음파 센서로 변경하여 시도하였으나 마찬 가지라서 포기하고
시놀로지나스의 Surveillance Station에 모션 디텍트 기능이 있어서 여기에 연결해 볼려고 했으나 카메라 기능 값 로드 실패라는 에러와 함께 더이상 진행이 안됨
 
구글링 해보니  Surveillance Station 8.2부터는  mjepg(http)도 되는 것 같이 설명되어 있는데 dsm 6.2에는 7.2까지 밖에 설치가 안되어서 포기함
 

 
 
구글링 하다 보니 motioneye로 비슷한 기능 구현이 가능한거 같아서 설치해 본 바
모션 디텍팅이 나름 괜찮은 것 같음

장단점

https://www.smarthomebeginner.com/motioneye-docker-guide/

 

MotionEye Docker Guide for Beginners: Simplest NVR | SHB

MotionEye is a simple, efficient, and lightweight NVR that can run on a Pi. This Docker guide shows you how to easily set it up using MotionEye Docker Compose.

www.smarthomebeginner.com

The Good The Not-so-Good
Lightweight and easy on resources Lack of object recognition
Easy to set up Does not auto-discover ONVIF cameras
Motion detection Has not been updated in a long time
Home Assistant integration  
Support for multiple operating systems  
Web UI is straightforward to use  
Adding USB cameras is easy  


 motioneye 설치방법은 여러가지인데 나스에 도커가 설치되어 있다면 이미지를 받아서 설치하는게 가장 간단할거 같아
ccrisan/motioneye를 검색해서 설치함. 

 
intel cpu도 amd64 아키텍처를 사용하므로 amd64를 받으면 됨
 

포트는 기본적으로 2개가 필요함
컨테이너가 가상머신이므로 컨테이너의 포트는 외부에서 직접 접속할수 없고 나스를 통해서 접속해야 하므로 포트 매핑을 통해 나스 포트를 경유해서 접속가능함
8765포트는  motioneye시스템에 접속하기 위한 내부포트이므로 나스에서 접속할 포트를 지정해 줘야한다. 자동으로 해도 되고 지정해도됨.
8081포트는 스트리밍을 보기 위한 포트임 마찬가지로 나스에서 접속할 포트 번호를 지정해야함.
 
그리고 환경변수에 TZ 의 값을 Asia/Seoul 로 해줘야 시간이 한국시간으로 제대로 잡힘

그리고  motioneye에 저장된 카메라 영상에 접근하기 위해서는 /var/lib/motioneye폴더를 나스의 폴더에 마운트 해줘야 한다.
나스의 임의 폴더를 만들고 연결하면 되므로 반드시 docker폴더 밑에 만들 필요는없음
 
이미지 실행 후 원래 나스의 접속 주소에서 위에서 매핑한 포트 지정후 접속하면 아래의 로그인 화면을 볼수 있음
접속 주소 :192.168.x.x:7894(위에서 지정한 로컬포트, 8765로는 접속안됨):

 
초기화면은 비번없이 admin만 입력하면 됨, 보안을 위해 로그인 후 비번 설정이 필요함
 
접속 후 비디오 디바이스에 아래와 같이 설정후 apply하면 됨.
esp32-cam 기본 스트리밍 포트는 81이고 /stream을 붙이면 스트리밍 영상을 볼수 있음. 기본설정이 하나의 연결만 가능하므로 다른 웹브라우저 창에서 스트리밍 주소에 접속한 상태에서는  motioneye가 연결 불가능 해지므로 주의 해야함 

 
모션디텍트가 되면 텔레그램으로 알림을 주는 기능도 있으나 이미지는 보내주지 않고 텍스트만 보내줌
모션 디텍트된 화면을 보려면 사진 부분을 클릭하면 나옴

 
스트리밍 접속주소는 192.168.x.x:7895(위에서 지정한 로컬포트)
 
생각보다 기능이 좋은 것 같아 만족스러움. 근데 모션 디텍트는 Frigate NVR가 더 성능이 좋다고해서 다음번에 함 시도해 볼 계획임