투케이2K

6. (Aws/Amazon) [Aws Iot Core] AWS IoT Device Shadow 섀도우 서비스 설명 정리 - 실시간 디바이스 상태 확인 및 제어 본문

Aws (Amazon)

6. (Aws/Amazon) [Aws Iot Core] AWS IoT Device Shadow 섀도우 서비스 설명 정리 - 실시간 디바이스 상태 확인 및 제어

투케이2K 2024. 12. 16. 19:43

[개발 환경 설정]

개발 환경 : Aws / Amazon Web Services

 

[방법 설명]

// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------

- 인프라 : Aws / Amazon Web Services

- 기술 구분 : AWS IoT Device Shadow 섀도우 서비스 설명 정리 - 실시간 디바이스 상태 확인 및 제어

// --------------------------------------------------------------------------------------






-----------------------------------------------------------------------------------------
[설명 정리]
-----------------------------------------------------------------------------------------

1. AWS IoT Device Shadow 서비스는 앱 및 클라우드에서 실시간 IOT 디바이스에 접근해 현재 상태에 대한 액세스, 제어, 변경할 수 있게 도움을 주는 서비스입니다


2. AWS IoT 사물 객체가 명시적으로 생성될 때까지 섀도우가 없으며, AWS IoT 콘솔을 사용하여 섀도우를 생성, 업데이트 및 삭제할 수 있습니다

  >> AWS IoT 사물 객체가 생성 되면 즉시 섀도우를 생성해야하며, Aws IoT 콘솔에서 생성 된 섀도우를 확인할 수 있습니다.


3. AWS IoT Device Shadow 는 MQTT 기반으로 동작하며, publish 제어 명령 수행 및 subscribe 구독으로 상태를 확인할 수 있습니다

  >> HTTPS 방법으로 get , update , delete 작업도 가능합니다

  >> AWS IoT Device Shadow 는 MQTT 기반으로 동작하기 때문에 특정 토픽 구독 후 publish 명령 전달이 필요합니다.

  >> 특정 토픽 구독 예시 : $aws/things/{thingName}/shadow/get/accepted"


4. AWS IoT 디바이스가 오프라인 상태가 되더라도 앱은 여전히 AWS IoT 및 디바이스의 섀도우와 통신할 수 있으며, 
   디바이스가 다시 연결되면 섀도우의 현재 상태를 수신하여 섀도우와 일치하도록 상태를 업데이트한 다음 업데이트된 상태로 메시지를 게시할 수 있습니다

  >> AWS IoT Device Shadow 는 디바이스 연결 여부와 관계없이 앱 및 기타 클라우드 서비스에서 디바이스 상태 데이터를 수집하고 보고할 수 있습니다.


5. AWS IoT Device Shadow 는 JSON 규격을 사용해 데이터를 저장하고 검색합니다

  >> desired : 앱은 desired 객체를 업데이트하여 디바이스 속성에 대해 원하는 상태를 지정합니다.

  >> reported : 디바이스는 reported 객체에 현재 상태를 보고합니다.

  >> delta : AWS IoT 는 delta 객체에서 원하는 상태와 보고된 상태의 차이를 보고합니다.


6. 앱 TO 디바이스 desired 업데이트 요청 예시 전문 : 

    {
    "state": {
        "desired": {
        "color": "GREEN"
        }
    },
    "version": 11,
    "timestamp": 123456778
    }


7. 디바이스 TO 앱 reported 업데이트 상태 보고 전문 : 

    {
    "state": {
        "reported": {
        "color": "GREEN"
        }
    },
    "version": 12,
    "timestamp": 123456779
    }

-----------------------------------------------------------------------------------------






// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------

[Aws 공식 사이트]

https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/iot-device-shadows.html


[Aws 플릿 프로비저닝 로직 정리]

https://blog.naver.com/kkh0977/223691943757


[Aws 섀도우 토픽 구독 관련]

https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/device-shadow-mqtt.html

// --------------------------------------------------------------------------------------
 
반응형
Comments