Notice
Recent Posts
Recent Comments
Link
투케이2K
8. (Aws/Amazon) [Aws Iot Core] Aws Iot Core 프로비저닝 템플릿 (Template) 설명 본문
Aws (Amazon)
8. (Aws/Amazon) [Aws Iot Core] Aws Iot Core 프로비저닝 템플릿 (Template) 설명
투케이2K 2024. 12. 18. 19:12[개발 환경 설정]
개발 환경 : Aws / Amazon Web Services
[방법 설명]
// --------------------------------------------------------------------------------------
[개발 및 환경]
// --------------------------------------------------------------------------------------
- 인프라 : Aws / Amazon Web Services
- 기술 구분 : Aws Iot Core / Fleet 프로비저닝 / 템플릿 (Template)
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[설명 정리]
// --------------------------------------------------------------------------------------
1. 프로비저닝 템플릿 은 매개변수를 사용하여 기기가 상호 작용하는 데 사용해야 하는 리소스를 설명하는 JSON 문서입니다
2. AWS IoT 프로비저닝 템플릿에는 Parameters 와 Resources 2가지 섹션이 포함됩니다
3. Parameters 섹션 설명 :
>> Parameters 섹션은 Resources 섹션에서 사용할 파라미터를 선언합니다 (이름과 형식 그리고 기본 옵션 값을 선언)
>> Parameters 는 앱 또는 디바이스에서 해당 정의 된 규격에 맞게 데이터 준비 후 템플릿 등록 요청을 수행해야합니다
>> 샘플 데이터 예시 :
{
"Parameters": {
"ThingName": {
"Type": "String"
},
"SerialNumber": {
"Type": "String"
},
"Location": {
"Type": "String",
"Default": "WA"
},
"CSR": {
"Type": "String"
}
}
}
4. Resources 섹션 설명 :
>> Resources 섹션은 기기가 통신하는 데 필요한 리소스 (사물, 인증서, 하나 이상의 IoT 정책 등) 를 선언합니다
>> Resources 에는 논리적 이름과 유형, 그리고 여러 가지 속성을 지정할 수 있습니다
>> Resources 에서 지정 가능 한 유형 종류 :
- AWS::IoT::Thing (사물 리소스) : ThingName , Groups 등 을 지정할 수 있습니다
- AWS::IoT::Certificate (인증서 리소스) : AWS IoT 에 등록한 CA 인증서로 생성된 디바이스 인증성 활성화 설정 유무 등 을 지정할 수 있습니다
- AWS::IoT::Policy (정책 리소스) : Policy 정책 설정에 관한 항목을 지정할 수 있습니다
>> 샘플 데이터 예시 :
{
"Resources": {
"thing": {
"Type": "AWS::IoT::Thing",
"Properties": {
"ThingName": {
"Ref": "ThingName"
},
"AttributePayload": {
"version": "v1",
"serialNumber": {
"Ref": "SerialNumber"
}
},
"ThingTypeName": "lightBulb-versionA",
"ThingGroups": [
"v1-lightbulbs",
{
"Ref": "Location"
}
]
},
"OverrideSettings": {
"AttributePayload": "MERGE",
"ThingTypeName": "REPLACE",
"ThingGroups": "DO_NOTHING"
}
},
"certificate": {
"Type": "AWS::IoT::Certificate",
"Properties": {
"CertificateSigningRequest": {
"Ref": "CSR"
},
"Status": "ACTIVE"
}
},
"policy": {
"Type": "AWS::IoT::Policy",
"Properties": {
"PolicyDocument": "{ \"Version\": \"2012-10-17\", \"Statement\": [{ \"Effect\": \"Allow\", \"Action\":[\"iot:Publish\"], \"Resource\": [\"arn:aws:iot:us-east-1:123456789012:topic/foo/bar\"] }] }"
}
}
}
}
5. 참고 : App 또는 Device 는 템플릿 등록 요청을 수행하기 위해서는 [특정 템플릿 명칭] 구독 후 , 생성 요청 publish 수행이 필요합니다
>> App 또는 Device 가 publish 수행 시에는 상위 정의 된 파라미터 형식 대로 요청 필요
>> App 또는 Device 샘플 구독 및 publish 토픽 주소 :
- request publish : $aws/provisioning-templates/{AWS_TEMPLATE_NAME}/provision/json
- accepted subscribe : $aws/provisioning-templates/{AWS_TEMPLATE_NAME}/provision/json/accepted
- rejected subscribe : $aws/provisioning-templates/{AWS_TEMPLATE_NAME}/provision/json/rejected
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[참고 사이트]
// --------------------------------------------------------------------------------------
https://ap-northeast-1.signin.aws.amazon.com/console/
https://docs.aws.amazon.com/ko_kr/iot/latest/developerguide/provision-template.html
// --------------------------------------------------------------------------------------
반응형
'Aws (Amazon)' 카테고리의 다른 글
Comments