BLOG
오늘은 가전 제품 제조업체가 AWS 서비스를 사용하여 스마트 홈 솔루션을 구축하고 유지 관리하는 방법을 소개해 드리겠습니다. 이러한 솔루션은 연결된 제품에 전원을 공급하는 플랫폼이자 소비자가 해당 제품을 제어하는 데 사용하는 애플리케이션입니다. 그 중에서도 가전 제품을 제조하여 전 세계에 판매 중인 한 중국 고객사의 실제 사용 사례를 보여 드리려 합니다. 본 글에서는 엔드 투 엔드 솔루션을 설명하는 참조 아키텍처를 살펴보고, 다른 AWS 서비스와 함께 AWS IoT를 사용하는 방법을 다룰 예정입니다. 또한 고객이 스마트 가전 제품을 사용하는 가족과 정보를 공유할 수 있는 안전한 방법을 구축한 방법과 AWS China Region 내에서 고객이 규모에 맞게 가전 제품을 안전하게 관리하는 방법에 대해 알아봅니다.
이 블로그 게시물에는 Python 코드 조각이 포함되어 있으므로 유사한 솔루션을 구현할 수 있습니다. 여기서 장치는 스마트 홈 IoT 플랫폼으로 데이터를 전송하고 장치에서 고객 대상 모바일 또는 웹 애플리케이션으로 멀티미디어 파일을 안전하게 공유합니다.
가전제품들은 사용자와 상호작용하면서 더욱 스마트해지고 있습니다.
IoT와 AI의 지속적인 발전으로 스마트 홈 기기의 성장이 가속화되었습니다. 스마트 기기와 스마트 홈 전체를 향한 추세는 주로 다음 두 가지 목표를위한 것입니다.
- 가전 제품과 최종 사용자 간의 지능적이고 개인화 된 상호 작용
- 둘 이상의 지능형 가전 제품 간의 상호 운용에 대한 용이성
AWS IoT를 사용하면 인프라를 관리 할 필요없이 커넥 티드 홈 디바이스에서 생성 된 데이터를 수집, 처리, 분석 및 처리하는 확장 가능한 IoT 애플리케이션을 쉽게 구축 할 수 있습니다. 또한 AWS IoT는 다른 AWS 서비스와 통합되므로 완전한 스마트 홈 솔루션을 쉽게 구축하고 새로운 경험을 제공하고 소비자에게 더 많은 가치를 추가하는 데 집중할 수 있습니다.
여기선 AWS IoT 서비스 포트폴리오 내의 두 가지 주요 서비스 인 AWS IoT Core 및 AWS IoT Greengrass에 중점을 둡니다. AWS IoT Core 및 Greengrass 외에도 AWS는 에지에서 클라우드에 이르기까지 광범위하고 심층적 인 IoT 서비스를 보유하고 있으며 고객이 IoT 장치 및 플랫폼을 구축, 관리 및 지속적으로 개선하는 데 도움이되는 강력하고 포괄적 인 기술 및 솔루션 에코 시스템을 제공합니다. AWS IoT에 대한 자세한 내용은 https://aws.amazon.com/iot/ 를 살펴봐 주시기 바랍니다 .
AWS IoT 코어
AWS IoT Core는 서버를 프로비저닝하거나 관리할 필요없이 IoT 디바이스를 AWS 클라우드 및 다른 IoT 디바이스에 연결할 수있는 완전 관리형 서비스입니다. AWS IoT Core에 대한 자세한 내용은 AWS IoT 기술 설명서 ( https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html)를 참조하십시오.
AWS IoT Greengrass
AWS IoT Greengrass는 AWS 서비스를 물리적 디바이스로 원활하게 확장하여 관리, 분석 및 영구 스토리지를 위해 AWS 클라우드를 계속 사용하면서 생성 된 데이터에서 로컬로 작동 할 수 있도록합니다. AWS IoT Greengrass에 대한 자세한 내용은 AWS IoT Greengrass 기술 설명서 ( https://docs.aws.amazon.com/Greengrass)를 참조하십시오.
다음 섹션에서는이 고객이 스마트 홈 사용 사례를 위해 IoT 인프라를 구축하는 데 사용한 다른 여러 AWS 서비스에 대해 설명합니다.
AWS IoT 서비스로 구동되는 스마트 홈 플랫폼
이 섹션에서는 실제 고객 사용 사례를 논의하고 AWS IoT 서비스가 스마트 홈 솔루션에서 어떻게 주요 역할을 수행하는지 설명합니다.
솔루션 배경
먼저 고객이 극복하고자하는 과제의 배경과 스마트 홈 솔루션의 기술 아키텍처를 이해합시다. 이 고객은 세계적 수준의 가전 제품 제조업체이자 판매자입니다. 그들은 이러한 어플라이언스를 클라우드에 쉽게 연결하고 대규모로 관리하며 제품을보다 지능적으로 만들 수 있도록 새로운 IoT 인프라를 구축하기를 원했습니다. 이러한 목표를 달성하기 위해 다음과 같은 여러 AWS 서비스를 사용하여 솔루션을 구축했습니다.
- AWS IoT Core : 쉽고 안전하게 디바이스를 클라우드에 연결하고 수십억 개의 디바이스와 수조 개의 메시지로 안정적으로 확장
- AWS IoT 디바이스 관리 : 연결된 디바이스를 대규모로 등록, 구성, 모니터링 및 원격 관리
- AWS IoT Greengrass : 로컬 컴퓨팅, 메시징, 데이터 관리, 동기화 및 ML 추론 기능을 엣지 디바이스로 가져옵니다 .
- Amazon Cognito : 간단하고 안전한 사용자 등록, 로그인 및 액세스 제어 제공
- Amazon API Gateway : 모든 규모의 API 생성, 유지 관리 및 보호
- AWS Lambda : 서버 나 클러스터에 대해 생각하지 않고 코드를 실행합니다. 사용한만큼만 지불
- Amazon S3 : 어디서나 원하는 양의 데이터를 저장하고 검색하도록 구축 된 객체 스토리지
- Amazon Relational Database Service (RDS) : 몇 번의 클릭만으로 클라우드에서 관계형 데이터베이스를 설정, 운영 및 확장
솔루션 아키텍처
고객 솔루션의 기술 아키텍처는 엣지 디바이스 (예 : 냉장고), 원격 관리를위한 모바일 앱, 대규모 가전 제품 관리에 사용되는 클라우드 기반 스마트 홈 IoT 플랫폼으로 구성됩니다. AWS IoT Greengrass는 전자 레인지와 같은 다른 스마트 홈 장치와 스마트 홈 IoT 플랫폼 간의 게이트웨이 역할을하는 냉장고에 배포되었습니다. 모바일 앱에서 사용자 인증은 고객의 기존 SSO 솔루션과 Amazon Cognito ID 풀의 통합을 통해 처리됩니다. 스마트 홈 IoT 플랫폼은 AWS IoT Core 및 AWS Lambda로 구축되어 고객 디바이스 등록, 규모에 따른 손쉬운 디바이스 플릿 관리,이 플랫폼에 연결된 최종 사용자 및 가전 제품의 상호 연결을 제공합니다.
그림 1 : AWS 중국 리전에서 AWS 서비스를 사용하여 구축 된 IoT 플랫폼 아키텍처
그림 1에 표시된 것처럼 솔루션 구현은 다음과 같습니다.
- 1 단계 : 냉장고는 인터넷에 연결하고 MQTT 프로토콜을 통해 AWS IoT Core에 메시지를 보냅니다. 전자 레인지는 냉장고에 배포 된 AWS Greengrass에 연결 한 다음 인터넷 및 MQTT 프로토콜을 통해 AWS IoT Core에 연결합니다.
- 2 단계 : AWS IoT Core는 규칙 엔진을 사용하여 메시지에서 필요한 데이터를 추출하고 데이터를 AWS Lambda 함수에 전달합니다.
- 3 단계 : AWS Lambda 함수는 Amazon S3 미리 서명 된 URL을 생성 한 다음 반환하여 이미지, 오디오 파일 및 비디오와 같은 멀티미디어를 저장합니다.
- 4 단계 : AWS Lambda 함수가 Amazon RDS MySQL에 데이터 쓰기
- 5 단계 : 모바일 앱은 이전에 고객의 AWS Directory Service와 통합 된 Amazon Cognito 계정에서 ID 토큰을 요청한 다음 AWS ALB로 요청을 보냅니다.
- 6 단계 : Amazon EC2 인스턴스에 배포 된 애플리케이션 계층 방화벽은 Amazon API Gateway에서 지원하는 API를 보호합니다.
- 7 단계 : Amazon API Gateway는 모바일 앱에서 요청을 수신하고 AWS Lambda 함수를 트리거하여 요청을 수행합니다.
엣지에서 행동을 취하고 통찰력을 이끌어 내기
이 솔루션은 냉장고 도어에 Android 태블릿을 사용하여 최종 사용자 인터페이스와 냉장고 도어 내부에 설치된 여러 대의 카메라를 제공합니다. Android 인터페이스는 실내 카메라를 통한 입력, 구두 명령 및 시각과 같은 상호 작용을 지원합니다. 이 카메라는 타사의 이미지 인식 솔루션을 활용하여 냉장고에서 어떤 음식이 추가되고 제거되는지 감지합니다. 해당 데이터는 Amazon RDS MySQL 데이터베이스에서 업데이트됩니다. 그런 다음 고객은 Android 태블릿 또는 휴대폰 앱을 통해 최종 사용자에게 데이터를 표시하여 최종 사용자가 냉장고에서 사용할 수있는 음식에 대한 실시간 통찰력을 얻을 수 있도록했습니다.
그림 2 : 냉장고의 태블릿 인터페이스 및 실내 카메라
사용 사례를위한 솔루션
이 솔루션의 핵심 사용 사례를 살펴 보겠습니다. 사용 사례는 다음과 같습니다.
- 최종 사용자는 고객의 스마트 홈 플랫폼에 장치를 추가하는 모바일 앱을 사용하여 냉장고를 등록합니다.
- 최종 사용자는 모바일 앱에 로그인하여 스마트 홈 플랫폼과 상호 작용합니다.
- 최종 사용자는 태블릿 및 / 또는 모바일 앱을 사용하여 기존 재료를 검색하고 냉장고에 새 재료를 추가합니다.
- 고객은 스마트 홈 플랫폼에 등록 된 냉장고를 안전하게 관리합니다.
사용 사례 1 : 사용자 등록 냉장고
먼저 냉장고가 스마트 홈 IoT 플랫폼에 등록되는 과정을 간략히 설명하겠습니다. 각 냉장고에는 스마트 홈 IoT 플랫폼 용 AWS IoT Core에 액세스 할 수 있도록 제조업체에서 생성 한 사전 설정 인증서가 태블릿에 배치됩니다. 사전 설정 인증서에는 AWS IoT Core에서 사물을 생성하는 데 필요한 권한 만 부여되므로 고객의 스마트 홈 IoT 플랫폼에 새 디바이스가 추가되고 냉장고에 인증서를 다운로드하여 고객에게 보안이 제공됩니다. 냉장고는 이러한 사전 설정 인증서를 사용하여 AWS IoT Core에 연결하고 자체적으로 사물을 생성합니다.클라이언트 ID를 저장하고 인증서를 로컬 저장소에 다운로드합니다. 이러한 새 인증서는 냉장고가 모바일 앱 사용자와 페어링 될 때까지 활성화되지 않습니다. 최종 사용자는 모바일 앱을 사용하여 냉장고에있는 바코드를 스캔합니다. 바코드에는 고유 한 일련 번호 및 하드웨어 유형과 같은 냉장고의 장치 정보가 포함됩니다. 모바일 앱이 바코드를 스캔하면 정보가 스마트 홈 IoT 플랫폼으로 전송되고 확인됩니다. 확인이 성공하면 냉장고는 고객의 디바이스 관리 서비스 데이터베이스에 기록되고 냉장고에 대한 인증서는 AWS IoT Core에서 활성화됩니다. 그런 다음 냉장고는 스마트 홈 IoT 플랫폼에서 등록 프로세스를 완료합니다. 이 프로세스는 아래 그림에서 강조 표시됩니다.
그림 3 : 최종 사용자는 스마트 홈 플랫폼에 냉장고를 등록합니다.
사용 사례 2 : 최종 사용자가 스마트 홈 플랫폼에 로그인하는 솔루션
최종 사용자는 냉장고를 원격으로 제어하기 위해 스마트 홈 IoT 플랫폼에 등록하고 로그인해야합니다. 첫 번째 사용 사례 솔루션에서 설명한대로 장치를 등록한 후 최종 사용자는 Android 태블릿을 사용하여 스마트 홈 IoT 플랫폼에 로그인 할 필요없이 음성 메시지 전송과 같은 작업을 냉장고 앞에서 수행 할 수 있습니다. 사용자 관리의 관점에서이 솔루션은 동일한 냉장고를 제어하는 최종 사용자를 가족 그룹으로 취급합니다. 예를 들어 남편은 최종 사용자로 iPhone을 사용하여 IoT 플랫폼의 iOS 앱에 로그인하여 냉장고를 제어 할 수 있고, 아내는 다른 최종 사용자로 Android 폰 앱을 사용하여 IoT 플랫폼에 로그인하여 동일한 냉장고를 제어 할 수 있습니다. 더 중요한 것은, 냉장고의 Android 태블릿도 냉장고를 제어 할 수 있지만 IoT 플랫폼에 로그인 할 필요가없는 최종 사용자로 취급됩니다. 대신 태블릿은 인증서를 ID로 사용하여 스마트 홈 IoT 플랫폼과 통신합니다. 이러한 인증 접근 방식은 스마트 홈 IoT 플랫폼이 냉장고와 냉장고에서 생성되는 데이터를 안전하게 유지하기위한 다양한 인증 요구 사항을 충족하는 동시에 최종 사용자 경험을 최적화하는 데 도움이됩니다.
그림 5 : 최종 사용자가 스마트 홈 플랫폼에 로그인
사용 사례 3 : 최종 사용자가 태블릿 및 모바일 앱에서 재료를 추가하고 검색합니다.
사용자가 냉장고 문을 닫으면 “재료 추가”의 AWS Lambda 기능이 트리거되고 Amazon API Gateway 서비스로 관리되는 REST API에 의해 호출됩니다 . 타사 이미지 인식 솔루션은 새로운 재료가 냉장고에 추가 또는 제거되었는지 감지하고 추가 또는 제거 된 경우 MySQL 용 Amazon RDS를 사용하여 데이터베이스에 삽입 / 삭제됩니다 .그런 다음 또 다른 Lambda 기능 ‘성분 검색’은 현재 냉장고에있는 모든 성분을 검색하여 냉장고에 설치된 태블릿과 스마트 홈 IoT 플랫폼에 연결된 사용자의 모바일 앱으로 다시 보냅니다. 태블릿과 모바일 앱 모두 실내 카메라에서 스트리밍된 영상 데이터를 통해 냉장고 속 성분을 실시간으로 확인할 수 있어 문을 열고 에너지를 절약하고 음식 품질을 보존하거나 식료품점 등 어디서나 이동 중일 때 냉장고에서 어떤 음식이 있는지 찾아볼 수 있습니다.
그림 6 : 최종 사용자는 태블릿 및 모바일 앱에서 재료를 추가하고 검색합니다.
사용 사례 4 : 안전한 차량 관리를위한 솔루션
고객의 스마트 홈 IoT 플랫폼은 AWS IoT Device Management를 활용하여 냉장고를 구성 및 관리하고 디바이스 레코드를 데이터베이스에 저장합니다. AWS IoT Core 의 사물 섀도우 는 냉장고의 상태와 동기화되며 AWS IoT Device Management는 사물 섀도우에서 “RunningMode”및 “DoorOpened”와 같은 속성을 인덱싱합니다. 그런 다음 스마트 홈 IoT 플랫폼은 특정 속성 값으로 냉장고를 필터링하고 해당 속성에 따라 조치를 취할 수 있습니다. 예를 들어 ‘DoorOpened’상태로 냉장고 사물 그룹을 구성하고 냉장고가 10 분 이상 ‘DoorOpened’상태 인 경우 Android 태블릿과 사용자의 모바일 앱 모두에 알람을 트리거 할 수 있습니다.
그림 4 : AWS IoT Device Management를 활용하여 냉장고 관리
그림 4 : AWS IoT Device Management를 활용하여 냉장고 관리
Amazon S3 사전 서명 된 URL 은 객체에 대한 액세스 자격 증명없이 사용자가 소유 한 오디오 및 영상 파일과 같은 멀티미디어와 같은 객체를 다른 사용자와 일시적으로 공유하기 위해 Amazon S3 서비스에서 제공합니다. 이를 통해 사용자는 버킷의 객체를 읽고 쓸 수있는 권한을 허용하지 않고도 레시피 카드 또는 음성 메시지와 같은 객체를 Amazon S3 버킷에 업로드하거나 다운로드 할 수 있습니다. 이는 스마트 홈 IoT 플랫폼이 최종 사용자가 냉장고의 태블릿을 통해 멀티미디어 정보를 전송할 때 스마트 홈 플랫폼에 대한 액세스 자격 증명을 제공하지 않는 시나리오를 지원해야하기 때문에 매우 중요합니다. Amazon S3를 사용하여 객체를 사임 된 URL과 공유하는 방법에 대한 자세한 내용은 여기에있는 기술 문서를 참조하십시오.https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/examples-s3-presign.html.
글을 마치며…
AWS IoT에 구축 된 스마트 홈 IoT 솔루션을 사용하면 냉장고, 전자 레인지와 같은 가전 제품의 실시간 상태를 사용자에게 제공하고 어디서나 이러한 가전 제품을 제어하고 작업을 실행할 수 있습니다. 사용자가 다른 가족 구성원과 장치 상태를 안전하게 공유하고 이미지 및 비디오와 같은 멀티미디어 정보를 사용하여 쉽게 통신 할 수 있도록 할 수 있습니다. 이를 통해 최종 사용자가 재료를 계획하고, 레시피를 작성하고, 건강한 식단을 유지하면서 가족과 더 많은 시간을 보내는 것이 더 쉽고 편리합니다. 이 예제를 사용하여 AWS IoT로 스마트 홈의 미래를 구축하는 방법을 기대합니다! 연결된 스마트 홈을위한 AWS IoT 솔루션에 대해 자세히 알아 보려면 솔루션 페이지를 참조하십시오.https://aws.amazon.com/iot/solutions/connected-home/ 또는 https://pages.awscloud.com/connectedhomecontact.html에서 직접 문의하십시오 .
저자 정보
Shi Yin은 캘리포니아에 기반을 둔 AWS Professional Services의 IoT 컨설턴트입니다. Shi는 많은 대기업과 협력하여 AWS IoT 서비스를 활용하여 IoT 플랫폼을 구축하고 센서와 디바이스를 플랫폼에 연결했습니다.
메가존 클라우드 TechBlog는 AWS BLOG 영문 게재 글이나 관련 기사 중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아 정기적으로 게재하고 있습니다. 추가로 번역 및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS 페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.