AWS IoT Greengrass 기본 개념

yunyoung·2021년 1월 4일
0

KF99 프로젝트

목록 보기
4/20
post-thumbnail

2020년 11월 24일 기록

AWS IoT Greengrass

라즈베리파이와 어떻게 통신할지 고민하던 도중 알게 된 aws 서비스이다.

AWS IoT Greengrass를 쓰면, 클라우드의 기능을 로컬 디바이스로 확장시켜(옮겨서?) 사용할 수 있다.

로컬 디바이스 내에서 람다를 쓸 수도 있는 것 같다.

라즈베리파이에서 HTTP 통신도 가능하긴 하지만, 보안상 이게 더 좋다고 한다. 디바이스가 많을 경우 엄청나게 많은 센서들이 있는데 이 센서들이 모두 인터넷망으로 클라우드에 연결되면 네트워크 대역폭이 버티지도 못하고, 데이터 처리 시간도 길어진다. 그래서 IoT 가까이에 있는 네트워크(엣지)에서 1차적으로 데이터를 처리한 후 엣지를 클라우드와 연결해 DB 관련 처리를 하는 방식이다.

그리고 무엇보다 중요한 사실은 AI 모델을 로컬 디바이스 환경 내에서 사용할 수 있다. 마스크를 썼는지 안 썼는지 거의 실시간처럼 빠르게 판단되어야 하는 상황에서 API Gateway와 Lambda까지 왔다갔다하면 조금 느려지지 않을까 걱정했었는데 너무 좋은 기능인 것 같다.

현재 프로젝트는 출입 통제 시스템으로 한 장소에서만 고정되어 사용하는 서비스이지만, 만약 여기저기 이동해야 하는 서비스를 구현할 경우라면 가장 기본적인 ai 모델 예측을 인터넷에 연결하지 않고도 할 수 있다는 장점도 있다.

흐름도

출처 : https://aws.amazon.com/ko/blogs/korea/machine-learning-at-the-edge-using-and-retraining-image-classification-models-with-aws-iot-greengrass-part-1/

구현 순서

  1. 라즈베리파이에 Greengrass 그룹 배포 (설치 및 환경 구축)
  2. 람다 함수 생성 후 Greengrass 그룹의 람다로 추가
  3. 이미지 분류 모델 구축(SageMaker)
  4. Greengrass 그룹에 머신러닝 리소스 생성 (모델 선택해서)
  5. AWS IoT Greengrass Image Classification 커넥터 생성 (람다 함수가 모델에 접근 가능해짐)
  6. 캡쳐할 이미지를 저장할 로컬 디렉터리 구성(AWS, 라즈베리파이 둘 다)
  7. [테스트]를 사용해서 구독 구성. 이벤트 트리거는 여러 가지가 있음. response topic을 subscribe하고, request topic을 publish
profile
🌈TIL과 개발 노트

0개의 댓글