Amazon Web Services 한국 블로그

AWS IoT Events- 대규모 이벤트 감지 및 대응 서비스 정식 출시

지난 수년 간, AWS에서는 다양한 IoT(사물 인터넷) 서비스와 기능을 제공하고 있습니다.

지난 11월에는 다음과 같은 4가지 새로운 IoT 서비스의 출시 계획도 발표했습니다.

이들 서비스는 개별적으로 사용하거나 함께 사용하여 강력한 연결된 애플리케이션을 다양하게 개발할 수 있습니다.

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;