개요
아기 침대에 카메라를 설치해 두고 잠시 식사나 집안일을 할 때 네스트 허브, 핸드폰으로 모니터링할 수 있어서 유용합니다.
여러 대안들이 있었는데
- ESP32-CAM : 성능 미달 ㅠ
- 저렴한 WiFi 캠 : 죄다 중국산에 백도어 이슈 ㅠ
- 국산 WiFi 캠 : 비용이… ㅠ
- 남는 핸드폰으로 WiFi 캠 앱으로 Synology 연결 : 나이트 비전 미지원 ㅠ
최종적으로는 TP-Link C110으로 결정했고 보안 관련 이슈는 외부와 통신하지 못하도록 처리 하였습니다.
이 사례는 Synology NAS를 활용하는 것을 전제로 합니다. 동작 감지 알림, 영상 저장, Synology 보안 + 외부에서 접근이 가능해집니다. (일부 저사양 제품은 Surveillance를 사용하지 못하는 경우도 있습니다.)
TP-Link C110은 아래와 같은 특징이 있습니다.
- 3만 원대로 저렴
- 여러 오픈 마켓에서 손쉽게 구매 가능
- RTSP, ONVIF 지원 (Synology Surveillance 연동)
- 2K 해상도
- 나이트비전 지원
- PTZ 불가능 (저는 이게 안 되는 제품이 좋습니다.)
1. TP-Link Tapo C110 구매
사진처럼 생겼습니다. C100의 경우 FHD 인데 몇천 원 차이가 안 나서 상위 모델로 구매하는 것이 좋습니다.
장치 연결은 Tapo 앱에서 장치를 추가하는 간단한 과정을 진행하면 됩니다.
이제 저렴하고 손쉽게 3만원 대로 2K CCTV를 사용할 수 있습니다.
여기까지는 공식 앱을 통해서 사용하는 단계 입니다. 그런데 이대로 사용하긴 찝찝한 마음을 지울 수 없습니다.
그래서 외부와 통신을 차단하는 설정을 해줍니다.
2. 외부 통신 차단하기
공유기 마다 방화벽 설정이 다르니 제조사의 매뉴얼을 참고해서 설정 해줍니다.
외부에서 들어오는 통신과 내부에서 외부로 나가는 통신을 모두 차단해 줍니다.
reverse tunneling 조차도 사용하지 못하게 인바운드, 아웃바운드 모두 차단하는 것이 속 편합니다.
unifi console에서는 아래와 같이 설정 가능합니다.
Traffic Rules 정책 추가
Traffic Rules의 경우 unifi에서 제공하는 rule set로 편하게 세팅 가능
또는 Firewall Rules 의 경우 좀 더 세부적인 설정이 가능
- 인바인드 룰 추가
- 아웃바운드 룰 추가
이제 외부와 접속이 차단되어 Tapo 앱에서 LTE, 5G 상태에서 접속하면 접속이 안 됩니다. 움직임, 아기 울음 알림도 오지 않습니다.
하지만, WiFi 상태에서는 앱 사용은 가능합니다.
여기까지만 설정되어도 격리된 홈 네트워크 내에서 모니터링 정도는 가능해집니다.
이 단계까지 외부와의 “격리”가 가장 중요하고 나머지 아래에 추가적인 기능은 부가적인 부분입니다.
격리되고 외부와 단절되지만 Synology를 통해서 외부와 연결하게 됩니다.
23.10.10 추가
네이버 HA 까페 지니군님이 언급해주셨는데 캠이 재부팅 될 때 시간 설정을 서버에서 불러 오는데 외부와 통신이 막혀있으니 최초 시간으로 초기화되는 문제가 있습니다. 시간이 영상에 찍히지 않도록 수정하였습니다.
23.10.18 추가
방화벽에서 외부통신은 모두 막아두되 NTP 서비스만 허용하도록 변경하였습니다.
카메라가 ntp를 위해 접속하는 ip를 확인해봤습니다. udm pro의 경우 ssh, tcpdump 모두 기본 제공이라 바로 확인이 가능했습니다.
이 글을 보시는 분이면 그냥 아래에 적혀있는 아이피만 추가하고 테스트 해보시면 될 것 같습니다.
검은색으로 마킹해둔 부분을 제외하면
130.217.74.61
119.18.30.48
131.107.13.100
52.231.114.183
128.138.140.44
129.6.15.29
129.6.15.28
61.100.12.187
192.36.144.22
9가 반복되면서 요청하는 걸 확인할 수 있었고, 간단하게 traffic rule만 추가 해주는걸로 인터넷과 통신은 막으면서 시간 동기화가 가능해졌습니다. (사용중인 공유기 제조사 또는 모델에 따라 다를 수 있습니다)
3. Synology, Home Assistant 연동하기
2단계까지는 동일 네트워크상에서만 동작하는 모니터링 기능입니다.
다른 서비스와 연결이 필수로 필요하지 않지만, 녹화를 위해 ONVIF를 통해 Surveillance와 연결해 줍니다.
3-1. ONVIF, RTSP 설정
https://www.tp-link.com/kr/support/faq/2680/
(공식 사이트 가이드로 대체합니다)
위 설정을 완료하면 RTSP, ONVIF를 통해 연동이 가능합니다. 동시에 활성화되는 것 같습니다.
3-2. Synology 연결
SurveillanceStation 설정
SurveillanceStation > IP 카메라 > 추가 누르면 화면에서 자동으로 검색됩니다.
추가 후 위 접속 계정에서 설정한 Username, Password를 입력해서 추가 해줍니다.
여기까지 되었으면 SurveillanceStation 상에서 스트리밍 되는 것을 확인할 수 있고 영상도 녹화해서 NAS 디스크에 저장되게 됩니다.
1번의 Tapo 앱과의 차이점은 내 영상이 어디로 전송되는 것이 아닌 홈 네트워크상에서 머무른다는 점입니다.
그러면서도 Synology에서 제공하는 기능을 활용할 수 있게 됩니다.
3-3. HomeAssistant 연결
3-2에서 시놀로지 연결 없이 HA에 연결하려는 경우 configuration.yaml에서 아래 설정을 추가 하면 사용 가능합니다.
시놀로지 통합구성요소 사용중이신분은 이 내용 스킵.
camera:
- platform: ffmpeg
name: baby_cam
# input: "rtsp://ID:비번@IP/stream1" # 1080P
input: "rtsp://ID:비번@IP/stream2" # 360P
3-2까지 설정되어있고 Synology 통합구성요소가 설치 되어있다면 별도의 설정없이 카메라 구성요소가 자동으로 추가 됩니다.
대시보드에 구성요소 추가하면 됩니다.
대시보드에 추가 되어있으면 네스트 허브에서 Google Cast 서비스 호출하여 스트리밍 가능합니다.
식탁 위에 있는 네스트 허브 활용 예시. 문제는 10초에 한번 갱신이라 효과가 미비합니다.
세팅법 참고.
https://cafe.naver.com/koreassistant/10230
https://cafe.naver.com/koreassistant/10100
실시간 처리는 아래 링크 참고해서 진행 해보시기 바랍니다.
https://cafe.naver.com/koreassistant/12101
네스트 허브가 여러 제약도 많기도 하고 이미 폰으로 스트리밍하는 방식을 잘 사용하고 있어서 더 진행하지 않았습니다.
폰에 있는 HA 앱에서도 스트리밍 가능하고 DS Cam 앱을 사용할 경우 소리까지 재생 가능합니다.
저는 보통 DS Cam이나 Tapo 앱에서 로컬로 재생시켜 놓습니다.
아래 이미지는 DS Cam 앱으로 접속한 상태에서 나이트 비전이 활성화된 상황.
비용이 저렴하니 필요하신분은 한번 시도해보세요~