본문 바로가기
Project/Embedded + Cloud Project

클라우드 기반 Smart CCTV Project (2)

by kjy1010 2024. 2. 2.

Architecture

 

해당 프로젝트의 Architecture 입니다.

침입을 모니터링하는 CCTV와 센서쪽의  Monitoring Process, 서비스를 제공받는 User  Process 로 나누어 소개드리도록 하겠습니다.

 

Monitoring Process

빨간색 박스로 강조한 부분이 이번에 소개드릴 CCTV Process에 대한 부분입니다.

CCTV의 영상이 들어와 처리되는 부분과 센서로 침입을 감지하는 부분의 Process로 나누어 보여드리겠습니다.

 

첫번째로 영상이 처리되는 Process입니다.

 

순차적으로 따라가보도록 합니다!

1. 촬영된 영상은 S3버킷에 업로드 됩니다.

2. 업로드된 영상은 MediaConvert를 거쳐 스트리밍에 용이한 동영상 포멧으로 가공됩니다.

3. 기존의 영상을 MediaConvert를 거친 영상으로 대체합니다.

4. 이를 트리거로 Lambda함수를 호출합니다.

5. Lambda에서 객체감지를 위한 Rekognition서비스로 영상을 보내줍니다.

6. 보내진 영상에서 우리가 지정한 사람이나 동물등을 발견하면 이 결과를 SNS와 IoT Core로 보내줍니다.

7. 침입이 감지되었음을 유저에서 메일이나 문자로 알려주며 침입 현장에는 경보를 울립니다.

 

두번째는 센서를 통한 침입감지 Process입니다.

 

위 Process는 영상으로 찍을 수 없는 사각지대를 통해 침입하는 경우를 방지하기 위해서 사각지대에 센서를 달아,

접촉이 된다면 해당 상황을 User에게 전달 할 수 있도록 하였습니다.

순차적으로 살펴봅시다.

1. 센서를 통해 침입이 감지되면 이를 IoT Core로 보냅니다. 아키텍쳐에는 생략되었지만, 센서 감지되면 피해 현장에는

곧바로 경보를 울리도록 설정해두었습니다.

2. IoT Core를 통해 침입이 감지되었다는 IoT action에 메시지가 도달하면, 이를 트리거로 Lambda 함수를 호출합니다.

3. Lambda함수는 SNS서비스를 호출하여 지정된 메시지를 User에게 송신합니다.

4. 웹에서는 해당 이벤트 발생시간을 로그를 통해 저장합니다.

 

User Process

 

빨간색 박스로 강조한 부분이 User가 Cloud에 접속하여 저장된 영상을 확인 할 수 있도록한 아키텍쳐입니다.

Cognito서비스를 사용하여 User는 Google 계정이나 페이스북 계정을 통해 편리하게 웹에 접속 할 수 있습니다.

웹은 Route 53을 통해 우리가 지정한 Domain에 접속 할 수 있습니다.

서버는 하나의 VPC안에 2개의 가용영역을 사용하고 이를 ALB를 통해 로드벨런싱하여 서버의 과부하를 줄여줄수있도록 구성하였습니다. 

 

다음 포스팅에서는 프로젝트의 구성요소에 대해 소개하는 시간을 가지도록 하겠습니다.