분리된 내부망의 IoT 카메라 통합 관리 웹
웹 · 엣지 디바이스 · 네트워크 설계2025.07 ~ 2025.10
서로 끊긴 여러 내부망에 흩어진 카메라를 서버 한 대에서 찾아내고, 녹화 스케줄과 설정을 한 곳에서 거는 웹을 만들었습니다.

과제 배경
카메라가 여러 내부망에 나뉘어 있어 망마다 따로 들어가 상태를 보고 설정을 바꿔야 했습니다. 망이 분리되어 있으면 가운데서 한꺼번에 볼 방법이 없어, 장애가 나도 아는 데까지 시간이 걸립니다.
주요 설계 결정
망 분리
고정 서버 한 대가 각 내부망을 노드와 링크로 보고 훑도록 설계했습니다
망을 트는 것은 보안 결정이라 우리가 정할 수 없습니다. 망을 그대로 두고 서버 쪽에서 닿는 구조로 풀었습니다.
상태 판정
Alive/Dead 만 보지 않고 CPU 온도와 자원 사용량을 함께 올립니다
살아 있다는 신호와 정상이라는 것은 다릅니다. 죽기 전에 먼저 뜨거워집니다.
영상 전달
녹화본은 지정한 sFTP 로 보내고 실시간 확인은 RTSP 뷰어로 나눴습니다
보관과 확인은 요구가 다릅니다. 한 경로로 합치면 둘 다 어중간해집니다.
제공 기능
| 기능 | 내용 |
|---|---|
| 멀티 네트워크 스캔 | 분리된 내부망을 각각 훑어 카메라를 찾고 망 그룹별로 묶습니다. |
| 녹화 스케줄과 카메라 설정 | 녹화 시작 시각과 기간, 해상도와 화이트밸런스와 감마를 원격에서 겁니다. |
| 상태 모니터링과 라이브 뷰 | CPU 온도와 사용량을 위젯으로 보고, RTSP 로 현장 영상을 바로 봅니다. |
수행 결과
- 망마다 따로 하던 설정을 한 화면에서 겁니다.
- 장애 징후를 자원 사용량으로 먼저 봅니다.
- Docker 이미지로 묶어 설치 환경에 상관없이 같은 것이 뜹니다.
화면 구성
화면의 구조와 기능을 보여주는 시안이며, 색과 서체를 포함한 디자인은 다음 단계에서 정합니다.
기기녹화설정
기기 목록
- A망 12대 정상
- B망 8대 중 1대 응답 없음
이름망상태CPU 온도
기기 목록
망 그룹별로 카메라 상태를 한눈에 봅니다
CAM-A-03
RTSP 라이브 화면
- CPU 62도
- RAM 48%
- 마지막 응답 3초 전
적용
카메라 상세
한 대의 상태를 보고 설정을 바꿉니다
녹화 스케줄
녹화본은 지정한 sFTP 로 보냅니다
기기스케줄마지막 전송
녹화 스케줄
언제 찍고 어디로 보낼지 정합니다
시스템 구성도
점선은 외부 서비스를 사용하는 항목입니다.
설계 원칙
| 원칙 | 적용 방법 |
|---|---|
| 살아 있다는 신호와 정상은 다르다 | CPU 온도와 자원 사용량을 함께 올려 판정합니다 |
| 설치 환경이 달라도 같은 것이 뜬다 | Docker 이미지로 묶어 배포합니다 |
적용 기술
Next.jsRaspberry PiLinuxRTSPDockerSpringsFTP


