AWS IoT Events- 대규모 이벤트 감지 및 대응 서비스 정식 출시
지난 수년 간, AWS에서는 다양한 IoT(사물 인터넷) 서비스와 기능을 제공하고 있습니다.
- 2015년 10월 – AWS IoT Core – Cloud Services for Connected Devices 연결된 디바이스를 위한 클라우드 서비스입니다.
- 2017년 6월 – AWS Greengrass – 연결된 디바이스에서 AWS Lambda 함수를 실행하는 기능입니다.
- 2017년 11월 – AWS IoT Device Management – 연결된 디바이스의 온보딩, 구성, 모니터링 및 원격 관리를 지원합니다.
- 2017년 11월 – AWS IoT Analytics – IoT 디바이스를 위한 고급 데이터 분석 서비스입니다.
- 2017년 11월 – Amazon FreeRTOS – 마이크로컨트롤러를 위한 IoT 운영 체제입니다.
- 2018년 4월 – Greengrass ML Inference – 엣지에서 기계 학습 추론을 실행하는 데 필요한 성능을 제공합니다..
- 2018년 8월 – AWS IoT Device Defender – 연결된 디바이스를 안전하게 보호하도록 지원하는 서비스입니다.
지난 11월에는 다음과 같은 4가지 새로운 IoT 서비스의 출시 계획도 발표했습니다.
- 산업용 장비에서 대규모로 데이터를 수집하고, 구조화하며, 검색하는 AWS IoT SiteWise
- 대규모로 이벤트를 감지하고 거기에 대응하는 AWS IoT Events
- IoT 애플리케이션을 시각적으로 빌드하는 AWS IoT Things Graph
- 디바이스 연결 프로세스를 간소화하고 가속화하는 AWS IoT Greengrass Connectors
이들 서비스는 개별적으로 사용하거나 함께 사용하여 강력한 연결된 애플리케이션을 다양하게 개발할 수 있습니다.
AWS IoT Events 정식 출시
오늘부터 4개 AWS 리전에서 AWS IoT Events를 정식 출시합니다. 이 서비스는 대규모로 이벤트(장비 또는 시설의 변경 사항을 식별하는 데이터 패턴)를 모니터링하여 대응할 수 있습니다. 공장에서 잘못 정렬된 로봇 작업, 영업 시간이 아닌 시간에 트리거되는 동작 센서, 제대로 닫히지 않은 냉동고 문, 허용 오차를 벗어나 작동하는 모터 등을 감지하여 정보를 바탕으로 빠르게 의사 결정을 내리는 데 활용할 수 있습니다.
잠시 후에 살펴보겠지만 디바이스 상태, 상태 간의 전환(입력이라고 하는 센서 및 이벤트에 의한 전환)을 나타내는 감지기 모델을 손쉽게 만들 수 있습니다. 이 같은 모델은 중요한 이벤트가 감지되면 작업을 트리거하여 강력하고 고도로 자동화된 시스템을 구축하는 데 활용할 수 있습니다. 예를 들어 서비스 담당 기술자에게 문자 메시지를 보내거나 AWS Lambda 함수를 호출하는 작업을 트리거할 수 있습니다.
AWS IoT Events에는 AWS IoT Event 콘솔에서 액세스하거나 AWS IoT Events API 함수를 호출하는 코드를 작성하여 액세스할 수 있습니다. 여기서는 콘솔을 사용해보겠습니다. 먼저 감지기 모델을 생성합니다. [Create detector model(감지기 모델 생성)]을 클릭하여 시작합니다.
여기서는 3가지 옵션 중 하나를 선택할 수 있습니다. [Launch demo with inputs(입력이 포함된 데모 시작)]를 클릭하겠습니다.
이 바로 가기는 입력과 모델을 생성하고 모델에 데이터를 전송하는 “데모” 기능을 활성화합니다. 이 모델은 다음과 같습니다.
모델을 설명하기 전에 먼저 입력을 살펴보겠습니다. 왼쪽 탐색 메뉴에서 [Inputs(입력)]를 클릭하여 입력을 표시합니다.
모든 입력을 한눈에 살펴볼 수 있습니다. 새로 생성된 입력을 클릭하여 자세히 살펴봅니다.
이 입력은 특정 powerwallId에 연결되어 있는 디바이스에서 측정된 배터리 전압을 나타냅니다.
이제 감지기 모델로 다시 돌아가, 모델을 분석해보겠습니다. 탐색 메뉴로 돌아가 [Detector models(감지기 모델)]을 클릭하고, 모델을 찾아 클릭합니다.
상단에 3가지 [Send(전송)] 옵션이 있는데, 각 옵션은 데이터(입력)를 감지기 모델에 전송합니다. [Send data for Charging(충전 중 상태 데이터 전송)]을 클릭하여 시작합니다. 그러면 다음과 같은 메시지가 생성됩니다. [Send data(데이터 전송)]를 클릭하여 데이터를 전송합니다.
그런 다음 [Send data for Charged(완충 상태 데이터 전송)]를 클릭하여 배터리가 완전히 충전되었음을 나타냅니다. 콘솔에 감지기의 상태가 표시됩니다.
입력이 수신될 때마다 감지기가 입력을 처리합니다. 감지기를 자세히 살펴보겠습니다. 감지기에는 세 가지 상태([Charging(충전 중)], [Charged(완충)], [Discharging(방전 중))가 있습니다.
감자기는 [Charging(충전 중)] 상태로 시작하여 Full_charge 이벤트가 트리거되면 [Charged(완충)] 상태로 전환됩니다. 트리거 로직을 포함한 이벤트의 정의는 다음과 같습니다.
이 트리거 로직은 수신되는 입력을 평가합니다(IoT 앱이 BatchPutMessage
를 호출하여 AWS IoT Events에 알려야 함). 트리거 로직이 true 상태로 평가하면, 모델이 새(대상) 상태로 전환되며 이벤트 작업을 시작할 수 있습니다. 이 전환의 경우에는 작업이 정의되어 있지 않습니다. [Add action(작업 추가)]을 클릭하여 작업을 하나 이상 추가할 수 있습니다. 여기서는 다음 작업을 선택합니다.
- [Send MQTT Message(MQTT 메시지 전송)] – MQTT 주제에 메시지를 전송합니다.
- [Send SNS Message(SNS 메시지 전송)] – ARN에 의해 식별되는 SNS 대상에 메시지를 전송합니다.
- [Set Timer(타이머 설정)] – 타이머를 설정, 재설정 또는 제거합니다. 시간은 초, 분, 시간, 일 또는 월로 표시할 수 있습니다.
- [Set Variable(변수 설정)] – 변수를 설정하거나, 증가시키거나, 감소시킬 수 있습니다.
다시 감지기로 돌아가 원하는 대로 상태를 수정할 수 있습니다. 예를 들어 LowBattery 상태를 추가하여 감지기의 [Discharging(방전 중)] 상태를 세분화할 수 있습니다.
입력 및 감지기를 생성한 후에는 IoT 디바이스가 유용하게 활용할 수 있도록 모델을 게시합니다. [Publish(게시)]를 클릭하고 몇 가지 세부 정보를 입력합니다.
[Detector generation method(감지기 생성 방법)]에는 2가지 옵션이 있습니다. [Create a detector for each unique key value(각각의 고유 키 값에 대해 감지기 생성)](디바이스가 여러 개인 경우)를 선택하거나 [Create a single detector(단일 감지기 생성)](디바이스가 하나인 경우)를 선택할 수 있습니다. 첫 번째 옵션을 선택할 경우 디바이스를 서로 구분하는 키를 선택해야 합니다.
감지기를 게시한 후에는 AWS IoT Analytics, IoT Core 또는 Lambda 함수를 통해 감지기에 데이터를 전송할 수 있습니다.
지금 바로 시작하기
AWS IoT Events는 미국 동부(버지니아 북부), 미국 동부(오하이오), 미국 서부(오레곤), 유럽(아일랜드) 리전에서 출시되며, 바로 사용할 수 있습니다.
— Jeff;