AWS IoT 1-Click 프로그래밍 모델 - AWS IoT 1-Click

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS IoT 1-Click 프로그래밍 모델

AWS IoT 1-Click 디바이스를 사용하여 애플리케이션을 빌드하기 위해 프로그래머는AWS IoT 1-Click 디바이스 APIAWS IoT 1-Click 프로젝트 API. 디바이스 API는 AWS IoT 1-Click 디바이스 구성 요소와 상호 작용하며, 디바이스에서 발생하는 이벤트를 처리합니다. 이러한 이벤트에는 장치 활성화 및 비활성화, 이벤트 형식 및 트리거되는 동작 (Lambda 함수) 정의 등이 포함됩니다. 디바이스 API는 제조업체가 디바이스를 등록한 리전에 있는 AWS 구성 요소와 긴밀하게 결합됩니다. 이것이 바로 그 이유입니다.AWS 디바이스 리전은 고객이 디바이스를 사용하고 있는 리전과 다를 수 있습니다. 프로젝트 API는 AWS IoT 1-Click 프로젝트 서비스와 상호 작용하며, AWS IoT 1-Click 디바이스를 함께 관리하는 데 사용되며, 이를 통해 다음을 수행할 수 있습니다.

  • 디바이스를 프로젝트로 그룹화.

  • 프로젝트의 모든 디바이스에 대한 작업을 설정하는 데 사용되는 템플릿 생성.

  • 프로젝트와 관련된 컨텍스트 데이터를 저장하는 속성 정의.

AWS IoT 1-Click 프로그래밍 모델을 사용하여 디바이스 API를 사용하여 개별 디바이스를 프로그래밍할 수 있습니다. 이 경우 AWS IoT 1-Click 디바이스 유형을 사용합니다. API는 표준 이벤트 형식과 해당 유형의 모든 장치에 대한 프로그래밍 인터페이스를 형성하는 메서드 목록을 정의합니다. 지정된 데이터 유형에 관련된 메서드를 호출하기 위해 프로그래머는 InvokeDeviceMethod API를 사용하고 디바이스 메서드를 파라미터로 지정할 수 있습니다.

예를 들어, 디바이스 유형 “버튼”이 있는 모든 AWS IoT 1-Click 디바이스는 클릭과 연관된 이벤트를 방출하며, 디바이스를 클릭할 때 호출되는 콜백 함수를 설정하는 메서드를 포함하고 있습니다. 버튼 인터페이스에 대한 자세한 내용은 디바이스 유형별 인터페이스를 참조하십시오. 다음은 이 콜백 함수를 설정하는 코드입니다.

String methodParameters = mapper.writeValueAsString( SetOnClickCallbackRequestParameters.builder() .deviceId(deviceId) .callback(DeviceCallback.builder() .awsLambdaArn(“arn:aws:lambda:us-west-2:123456789012:MyButtonListener”) .build()) .build()); InvokeDeviceMethodRequest request = new InvokeDeviceMethodRequest() .withDeviceMethod(new DeviceMethod() .withDeviceType("button") .withMethodName("setOnClickCallback")) .withDeviceMethodParameters(methodParameters);

프로젝트 API를 사용하여 여러 장치를 프로그래밍할 수 있습니다. API를 사용하여 먼저 각 배치의 장치 템플릿 및 속성을 포함하여 각 배치의 모양을 정의합니다. 이렇게 한 후에 특정 디바이스 ID로 배치를 생성합니다. 각 배치는 동일한 템플릿을 따릅니다. 이렇게 하기 위한 샘플 코드는 다음과 같습니다.

final Map<String, String> callbacks = new HashMap<>(); callbacks.put("onClickCallback", "arn:aws:lambda:us-west-2:123456789012:MyButtonListener"); final DeviceTemplate item = DeviceTemplate.builder() .withDeviceType(“button”) .withCallbackOverrides(callbacks) .build(); final Map<String, DeviceTemplate> deviceTemplateMap = new HashMap<>(); deviceTemplateMap.put(“MyDevice”, item); final Map<String, String> placementDefaultAttributes = new HashMap<>(); placementDefaultAttributes.put(“location”, “Seattle”) request = CreateProjectRequest.builder() .withProjectName(“HelloWorld”) .withDescription(“My first project!”) .withPlacementTemplate(PlacementTemplate.builder() .withDefaultAttributes(placementDefaultAttributes) .withDeviceTemplates(deviceTemplateMap) .build()) .build(); projectsClient.createProject(request)

AWS IoT 1-Click 이벤트

AWS IoT 1-Click에서 콜백을 등록하여 디바이스 이벤트를 구독할 수 있습니다. AWS IoT 1-Click 고객이 소유하고 구현한 AWS Lambda 함수를 예로 들 수 있습니다. 이 콜백은 사용할 수 있는 이벤트가 있을 때마다 호출됩니다. 이벤트 및 해당 페이로드에 대한 자세한 내용은 AWS IoT 1-Click 이벤트AWS IoT 1-Click Health 이벤트 단원을 참조하십시오.

AWS IoT 1-Click 이벤트

button 유형의 디바이스는 클릭할 때마다 클릭 이벤트를 게시합니다. 다음 방법으로 이 이벤트를 구독할 수 있습니다.

  • 디바이스에서 디바이스 SetOnClickCallback 메서드 호출.

  • 이전 프로젝트 코드 생성기 예제와 같이 관련 프로젝트를 적절하게 구성.

다음 예제에서는 디바이스에 관련 배치가 있는 경우에만 placementInfo 섹션이 있습니다. 자세한 내용은 프로젝트, 템플릿 및 배치 섹션을 참조하세요.

{ "deviceEvent": { "buttonClicked": { "clickType": "SINGLE", "reportedTime": "2018-05-04T23:26:33.747Z" } }, "deviceInfo": { "attributes": { "key3": "value3", "key1": "value1", "key4": "value4" }, "type": "button", "deviceId": " G030PMXXXXXXXXXX ", "remainingLife": 5.00 }, "placementInfo": { "projectName": "test", "placementName": "myPlacement", "attributes": { "location": "Seattle", "equipment": "printer" }, "devices": { "myButton": " G030PMXXXXXXXXXX " } } }

AWS IoT 1-Click Health 이벤트

디바이스는 AWS IoT 1-Click 서비스에서 계산한 상태 파라미터를 기반으로 상태 이벤트를 게시하지만 해당 임계값은 사용자가 설정합니다. 다음 예제는 남은 수명이 10%인 G030PMXXXXXXXXXX 디바이스에 대한 상태 이벤트의 JSON 페이로드를 나타냅니다("remainingLifeLowerThan":10 키/값 페어 참고).

{ "deviceEvent": { "deviceHealthMonitor": { "condition": { "remainingLifeLowerThan": 10 } } }, "deviceInfo": { "attributes": { "key2": "value2", "key1": "value1", "projectRegion": "us-west-2" }, "type": "button", "deviceId": "G030PMXXXXXXXXXX", "remainingLife": 5.4 } }

디바이스 메소드

AWS IoT 1-Click 디바이스 메서드는 다음 표에 나와 있는 것처럼 특정 디바이스 유형의 디바이스에서 지원하는 API입니다. 모든 디바이스에서 지원하는 디바이스 메서드의 전체 목록은 GetDeviceMethods 호출을 통해 검색할 수 있습니다.

디바이스 유형 메소드 이름 설명

device

getDeviceHealthParameters

다음과 같은 장치의 상태 매개 변수를 가져옵니다.remainingLife.

device

setDeviceHealthMonitorCallback

장치 상태 매개 변수가 임계값 미만일 때 호출될 콜백을 설정합니다.

device

getDeviceHealthMonitorCallback

상태 매개 변수가 임계 값 미만일 때 호출되는 구성된 콜백을 가져옵니다.

button

setOnClickCallback

버튼을 클릭했을 때 호출되는 콜백을 설정합니다.

button

getOnClickCallback

버튼을 클릭할 때 호출되는 구성된 콜백을 가져옵니다.