Amazon Web Services 한국 블로그

AWS IoT Things Graph – 시각적 애플리케이션 개발 도구 정식 출시

AWS가 지난 11월에 발표한 AWS IoT Things Graph는 IoT 애플리케이션을 시각적으로 구축할 수 있는 도구입니다. 오늘부터 이 서비스가 제공됨에 따라 지금 바로 사용을 시작할 수 있습니다!

본 서비스는 디바이스 및 서비스로 구성된 흐름에 비즈니스 논리를 나타낼 수 있습니다. Things Graph에서 각 웹 서비스 및 각 디바이스 유형(센서, 카메라, 디스플레이 등)은 모델로 표현됩니다.

모델에는 디바이스의 특정 브랜드 또는 모델과 관련된 구현 세부 정보가 표시되지 않으며 모델을 사용하면 하드웨어에 따라 변화하는 흐름을 구축할 수 있습니다. 각 모델에는 작업(입력), 이벤트(출력) 및 상태(속성) 세트가 있습니다.

Things Graph에는 미리 정의된 모델 세트가 포함되며 이러한 모델을 직접 정의할 수도 있습니다. 또한 흐름에서 매핑을 사용하여 한 장치의 출력을 다른 장치에 필요한 형태로 변환할 수 있습니다. 흐름을 구축한 후에는 AWS IoT Greengrass 지원 디바이스에 배포하여 로컬로 실행할 수 있습니다. 배포된 흐름은 로컬로 연결된 디바이스와 웹 서비스 간의 상호 작용을 오케스트레이션합니다.

AWS IoT Things Graph 사용해 보기

AWS IoT Things Graph 콘솔을 간략하게 살펴보도록 하겠습니다!

첫 번째 단계는 흐름에서 사용하려는 디바이스 및 웹 서비스를 나타내는 모델이 있는지 확인하는 것입니다. 콘솔 탐색에서 [Models]를 클릭하여 시작합니다.

모델을 생성할 때 따라야 하는 3개 단계와 기존 모델 목록이 콘솔에 표시됩니다.

위에서 각 디바이스의 URN에 있는 aws/examples는 해당 디바이스가 미리 정의되었으며 퍼블릭 AWS IoT Things Graph 네임스페이스의 일부임을 나타냅니다. [Camera]를 클릭하여 이 모델에 대한 세부 정보를 확인합니다. [Properties], [Actions] 및 [Events]를 볼 수 있습니다.

모델은 GraphQL을 사용하여 정의됩니다. 모델 정의가 포함된 파일을 보거나 편집하거나 업로드할 수 있습니다. 다음은 카메라에 대한 정의입니다.

이 모델은 추상적인 카메라 디바이스를 정의합니다. 이 모델은 [Devices] 섹션에 나열된 것과 같은 하나 이상의 실제 디바이스에 대한 정의를 참조할 수 있습니다.

각 디바이스도 GraphQL을 사용하여 정의됩니다. 특히 MQTT 주제 및 메시지를 사용하여 작업이 정의된 것을 알 수 있습니다.

앞서 웹 서비스 또한 모델로 나타낼 수 있다고 말했습니다. 이 유형의 모델을 참조하는 흐름을 배포하는 경우 모델의 작업이 활성화되면 Greengrass Lambda 함수가 호출됩니다. 다음은 웹 서비스의 정의를 보여줍니다.

이제 흐름을 생성할 수 있습니다. 탐색에서 [Flows]를 클릭하고 [Create flow]를 클릭합니다.

흐름의 이름을 지정하고 설명을 입력합니다.

빈 캔버스에서 시작하여 노드([Devices], [Services] 또는 [Logic])를 캔버스로 끌어옵니다.

이 데모(전체 설명은 AWS IoT Things Graph 사용 설명서 참조)에서는 [MotionSensor], [Camera] 및 [Screen]을 사용합니다.

장치를 연결하여 흐름을 정의합니다.

흐름을 구성하고 사용자 지정합니다. 선택할 수 있는 항목과 설정이 많습니다. 여기서는 주요 기능을 몇 가지 보여드리며 자세한 내용은 사용 설명서를 참조하십시오. [MotionSensor]를 설정하여 이 흐름에서 상태 변경이 시작되도록 합니다.

또한 여기에는 표시되지 않았지만 [Capture] 작업을 수행할 [Camera]와 이를 표시할 [Screen]을 구성합니다. 미리 정의된 [Services]를 사용할 수도 있습니다.

흐름에 [Logic]을 추가할 수도 있습니다.

모델과 마찬가지로 흐름도 GraphQL을 사용하여 정의됩니다(원하는 경우 보고 직접 편집할 수 있음).

이제 흐름이 정의되었으니 [Publish]를 클릭하여 배포에 사용할 수 있도록 합니다.

다음 단계는 다음과 같습니다.

연결 – 이 단계에서는 실제 AWS IoT 사물을 디바이스 모델에 연결합니다. [Thing]을 선택한 후 디바이스 모델을 선택하고 흐름의 각 디바이스 모델에 대해 이 단계를 반복합니다.

배포 – 흐름 구성을 생성하고 클라우드 또는 Greengrass에서 대상으로 지정한 후 이를 사용하여 흐름을 배포합니다(자세한 내용은 흐름 구성 생성 참조).

알아 둘 사항

여기서는 간단한 내용만 살펴봤습니다만 AWS IoT Things Graph가 제공하는 다수의 기능 및 유연성에 대한 자세한 내용은 기술 문서를 참고하시기 바랍니다.  추가로 몇 가지 참고할 사항을 알려드리겠습니다.

요금 – 요금은 실행된 단계 수(클라우드 배포의 경우) 또는 배포(엣지 배포의 경우)를 기준으로 부과되며 AWS IoT Things Graph 요금 페이지에 자세히 설명되어 있습니다.

API 액세스 – 콘솔 액세스에 더해 AWS IoT Things Graph API를 사용하여 모델 및 흐름을 구축할 수 있습니다.

리전AWS IoT Things Graph미국 동부(버지니아 북부), 미국 서부(오레곤), EU(아일랜드), 아시아 태평양(시드니)아시아 태평양(도쿄) 리전에서 제공됩니다.

Jeff;