기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 IDT 무료로 디바이스 풀 생성RTOS
테스트할 디바이스는 디바이스 풀에서 구성됩니다. 각 디바이스 풀은 하나 이상의 동일한 디바이스로 구성됩니다. 단일 디바이스 또는 풀의 여러 디바이스를 테스트하도록 IDT를 무료로RTOS 구성할 수 있습니다. 검증 프로세스를 가속화하기 IDT 위해 for FreeRTOS는 동일한 사양을 가진 디바이스를 병렬로 테스트할 수 있습니다. 라운드 로빈 방법을 사용하여 디바이스 풀에 있는 각 디바이스에 대해 다른 테스트 그룹을 실행합니다.
device.json
파일의 최상위 수준에는 배열이 있습니다. 각 배열 속성은 새 디바이스 풀입니다. 각 디바이스 풀에는 디바이스 배열 속성이 있으며, 이 속성에는 여러 디바이스가 선언되어 있습니다. 템플릿에는 디바이스 풀이 있으며 이 디바이스 풀에는 디바이스가 하나뿐입니다. configs
폴더에서 device.json
템플릿의 devices
섹션을 편집하여 디바이스 풀에 하나 이상의 디바이스를 추가할 수 있습니다.
참고
동일한 풀의 모든 디바이스는 기술 사양과 가 동일해야 합니다SKU. 서로 다른 테스트 그룹에 대해 소스 코드의 병렬 빌드를 활성화하려면 IDT for FreeRTOS는 소스 코드를 IDT for FreeRTOS 추출 폴더 내의 결과 폴더에 복사합니다. 빌드 또는 플래시 명령에 있는 소스 코드 경로는 testdata.sourcePath
변수를 사용하여 참조해야 합니다. IDT for FreeRTOS는 이 변수를 복사된 소스 코드의 임시 경로로 바꿉니다. 자세한 내용은 IDT 자유RTOS 변수용 단원을 참조하십시오.
다음은 여러 디바이스가 있는 디바이스 풀을 생성하는 데 사용된 예제 device.json
파일입니다.
[ { "id": "pool-id", "sku": "sku", "features": [ { "name": "Wifi", "value": "Yes | No" }, { "name": "Cellular", "value": "Yes | No" }, { "name": "BLE", "value": "Yes | No" }, { "name": "PKCS11", "value": "RSA | ECC | Both" }, { "name": "OTA", "value": "Yes | No", "configs": [ { "name": "OTADataPlaneProtocol", "value": "MQTT | HTTP | None" } ] }, { "name": "KeyProvisioning", "value": "Onboard | Import | Both | No" } ], "devices": [ { "id": "device-id", "connectivity": { "protocol": "uart", "serialPort": "/dev/tty*" }, "secureElementConfig" : { "publicKeyAsciiHexFilePath": "absolute-path-to/public-key-txt-file: contains-the-hex-bytes-public-key-extracted-from-onboard-private-key", "publiDeviceCertificateArn": "arn:partition:iot:region:account-id:resourcetype:resource:qualifier", "secureElementSerialNumber": "secure-element-serialNo-value", "preProvisioned" : "Yes | No", "pkcs11JITPCodeVerifyRootCertSupport": "Yes | No" }, "identifiers": [ { "name": "serialNo", "value": "serialNo-value" } ] } ] } ]
device.json
파일에서 사용되는 속성은 다음과 같습니다.
-
id
-
디바이스 풀을 고유하게 식별하는 사용자 정의 영숫자 ID입니다. 풀에 속한 디바이스는 동일한 유형이어야 합니다. 테스트 제품군을 실행할 때 풀에 있는 디바이스는 워크로드를 병렬화하는 데 사용됩니다.
-
sku
-
테스트하는 보드를 고유하게 식별하는 영숫자 값입니다. SKU 는 적격 보드를 추적하는 데 사용됩니다.
참고
AWS 파트너 디바이스 카탈로그에 보드를 나열하려면 여기에 SKU 지정하는 이 나열 프로세스에서 사용하는 SKU 와 일치해야 합니다.
-
features
-
디바이스의 지원되는 기능이 포함된 배열입니다. 이 정보를 AWS IoT Device Tester 사용하여 실행할 자격 테스트를 선택합니다.
지원되는 값은 다음과 같습니다.
-
Wifi
-
보드에 Wi-Fi 기능이 있는지 여부를 나타냅니다.
-
Cellular
-
보드에 셀룰러 기능이 있는지 여부를 나타냅니다.
-
PKCS11
-
보드가 지원하는 퍼블릭 키 암호화 알고리즘을 나타냅니다. PKCS11 는 검증에 필요합니다. 지원되는 값은
ECC
,RSA
,Both
입니다.Both
는ECC
및RSA
알고리즘을 모두 지원하는 보드를 가리킵니다. -
KeyProvisioning
-
신뢰할 수 있는 X.509 클라이언트 인증서를 보드에 작성하는 방법을 나타냅니다.
유효한 값은
Import
,Onboard
,Both
,No
입니다.Onboard
,Both
또는No
키 프로비저닝은 검증에 필요합니다.Import
단독으로는 검증을 위한 유효한 옵션이 아닙니다.-
보드에서 프라이빗 키 가져오기를 허용하는 경우에는
Import
만 사용합니다. 선택Import
은 검증을 위한 유효한 구성이 아니며 테스트 용도로만 사용해야 합니다. 특히 PKCS11 테스트 사례에서는Onboard
Both
또는No
가 검증에 필요합니다. -
보드가 온보드 프라이빗 키를 지원하는 경우(예: 디바이스에 보안 요소가 있거나 자체적인 디바이스 키 페어 및 인증서를 생성하려는 경우)에는
Onboard
을 사용합니다. 각 디바이스 섹션에secureElementConfig
요소를 추가하고 퍼블릭 키 파일에 대한 절대 경로를publicKeyAsciiHexFilePath
필드에 입력합니다. -
보드가 키 프로비저닝에 프라이빗 키 가져오기와 온보드 키 생성을 모두 지원하는 경우
Both
를 사용합니다. -
보드가 키 프로비저닝을 지원하지 않는 경우
No
를 사용합니다.No
는 디바이스도 사전 프로비저닝된 경우에만 유효한 옵션입니다.
-
-
OTA
-
보드가 (OTA) 업데이트 기능을 지원하는 over-the-air지 여부를 나타냅니다.
OtaDataPlaneProtocol
속성은 디바이스가 지원하는 OTA 데이터플레인 프로토콜을 나타냅니다. OTA HTTP 또는 MQTT 데이터플레인 프로토콜이 있는 는 검증에 필요합니다. 테스트 중에 OTA 테스트 실행을 건너뛰려면 OTA 기능을 로 설정하고No
OtaDataPlaneProtocol
속성을 로 설정합니다None
. 그러면 이 테스트는 검증 실행이 아닙니다. -
BLE
-
보드가 Bluetooth Low Energy()를 지원하는지 여부를 나타냅니다BLE.
-
-
devices.id
-
테스트 대상 장치의 고유한 사용자 정의 식별자입니다.
-
devices.connectivity.serialPort
-
테스트할 디바이스에 연결하는 데 사용되는 호스트 컴퓨터의 직렬 포트입니다.
-
devices.secureElementConfig.PublicKeyAsciiHexFilePath
-
보드가 NOT
pre-provisioned
제공PublicDeviceCertificateArn
되거나 제공되지 않은 경우 필수입니다.Onboard
는 필수 유형의 키 프로비저닝이므로 현재 테스트 그룹에 이 필드가 필요합니다 FullTransportInterfaceTLS. 디바이스가pre-provisioned
인 경우PublicKeyAsciiHexFilePath
는 선택 사항이므로 포함할 필요는 없습니다.다음 블록은
Onboard
프라이빗 키에서 추출한 16진수 바이트 퍼블릭 키를 포함하는 파일에 대한 절대 경로입니다.3059 3013 0607 2a86 48ce 3d02 0106 082a 8648 ce3d 0301 0703 4200 04cd 6569 ceb8 1bb9 1e72 339f e8cf 60ef 0f9f b473 33ac 6f19 1813 6999 3fa0 c293 5fae 08f1 1ad0 41b7 345c e746 1046 228e 5a5f d787 d571 dcb2 4e8d 75b3 2586 e2cc 0c
퍼블릭 키가 .der 형식인 경우 퍼블릭 키를 직접 16진수 인코딩하여 16진수 파일을 생성할 수 있습니다.
.der 퍼블릭 키에서 16진수 파일을 생성하려면 다음 xxd 명령을 입력합니다.
xxd -p pubkey.der > outFile
퍼블릭 키가 .pem 형식인 경우 base64로 인코딩된 헤더 및 푸터를 추출하여 바이너리 형식으로 디코딩할 수 있습니다. 그런 다음 바이너리 문자열을 16진수 인코딩하여 16진수 파일을 생성합니다.
.pem 퍼블릭 키용 16진수 파일을 생성하려면 다음 작업을 수행합니다.
-
다음 base64 명령을 실행하여 퍼블릭 키에서 base64 헤더 및 푸터를 제거합니다. 그러면
base64key
라는 디코딩된 키가pubkey.der
파일로 출력됩니다.base64 —decode base64key > pubkey.der
-
다음 xxd 명령을 실행하여
pubkey.der
을 16진수 형식으로 변환합니다. 결과 키가
로 저장됩니다.outFile
xxd -p pubkey.der >
outFile
-
-
devices.secureElementConfig.PublicDeviceCertificateArn
-
ARN 에 업로드된 보안 요소의 인증서 . AWS IoT Core인증서를 에 업로드하는 방법에 대한 자세한 내용은 AWS IoT 개발자 안내서의 X.509 클라이언트 인증서를 AWS IoT Core참조하세요.
-
devices.secureElementConfig.SecureElementSerialNumber
-
(선택 사항) 보안 요소의 일련 번호입니다. 일련 번호는 선택적으로 JITR 키 프로비저닝을 위한 디바이스 인증서를 생성하는 데 사용됩니다.
-
devices.secureElementConfig.preProvisioned
-
(선택 사항) 디바이스에 잠긴 보안 인증 정보를 가진 사전 프로비저닝된 보안 요소가 있고 객체를 가져오거나 생성하거나 삭제할 수 없는 경우 ‘예’로 설정합니다. 이 속성을 예로 설정하는 경우 해당 pkcs11 레이블을 제공해야 합니다.
-
devices.secureElementConfig.pkcs11JITPCodeVerifyRootCertSupport
-
(선택 사항) 디바이스의 코어PKCS11 구현이 에 대한 스토리지를 지원하는 경우 예로 설정합니다JITP. 이렇게 하면 코어 PKCS 11을 테스트할 때 JITP
codeverify
테스트가 활성화되며 코드 확인 키, JITP 인증서 및 루트 인증서 PKCS 11 레이블을 제공해야 합니다. -
identifiers
-
(선택 사항) 임의 이름-값 페어의 배열입니다. 다음 단원에서 설명하는 빌드 및 플래시 명령에 이러한 값을 사용할 수 있습니다.