

# 프로비저닝에 사용할 디바이스 JSON 파일 확보
<a name="sidewalk-json-get"></a>

Sidewalk 디바이스를 Amazon Sidewalk용 AWS IoT Core에 추가한 후 엔드 디바이스를 프로비전하는 데 필요한 정보가 들어 있는 JSON 파일을 다운로드하세요. AWS IoT 콘솔이나 AWS CLI를 사용하여 이 정보를 검색할 수 있습니다. 디바이스를 프로비저닝하는 방법에 대한 자세한 내용은 **Amazon Sidewalk 설명서의 [엔드 디바이스 프로비저닝 및 등록](https://docs.sidewalk.amazon/provisioning/)을 참조하세요.

## JSON 파일 확보 (콘솔)
<a name="iot-sidewalk-json-get-console"></a>

Sidewalk 디바이스를 프로비저닝하기 위한 JSON 파일을 확보하는 방법:

1. [Sidewalk 디바이스 허브](https://console.aws.amazon.com/iot/home#/wireless/devices?tab=sidewalk)로 이동합니다.

1. AWS IoT Core에 추가한 디바이스를 선택하여 세부 정보를 확인합니다.

1. 추가한 디바이스의 세부 정보 페이지에서 **디바이스 JSON 파일 다운로드**를 선택하여 JSON 파일을 확보합니다.

   엔드 디바이스를 프로비저닝하는 데 필요한 정보가 포함된 `certificate.json` 파일이 다운로드됩니다. 다음은 샘플 JSON 파일을 보여줍니다. 여기에는 디바이스 인증서, 프라이빗 키, Sidewalk 제조 일련번호(SMSN), `DeviceTypeID`가 포함됩니다.

   ```
   {
     "p256R1": "grg8izXoVvQ86cPVm0GMyWuZYHEBbbH ... DANKkOKoNT3bUGz+/f/pyTE+xMRdIUBZ1Bw==",
     "eD25519": "grg8izXoVvQ86cPVm0GMyWuZYHEBbbHD ... UiZmntHiUr1GfkTOFMYqRB+Aw==",
     "metadata": {    
       "devicetypeid": "fe98",
       "applicationDeviceArn": "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/897ce68e-3ca2-4ed0-85a2-30b0666c4052",
       "applicationDeviceId": "897ce68e-3ca2-4ed0-85a2-30b0666c4052",
       "smsn": "82B83C8B35E856F43CE9C3D59B418CC96B996071016DB1C3BE5901F0F3071A4A",
       "devicePrivKeyP256R1": "3e704bf8d319b3a475179f1d68c60737b28c708f845d0198f2d00d00c88ee018",
       "devicePrivKeyEd25519": "17dacb3a46ad9a42d5c520ca5f47f0167f59ce54d740aa13918465faf533b8d0"
     },
     "applicationServerPublicKey": "5ce29b89c2e3ce6183b41e75fe54e45f61b8bb320efbdd2abd7aefa5957a316b"
   }
   ```

Sidewalk 디바이스의 세부 정보 페이지에는 다음에 대한 정보도 표시됩니다.
+ 디바이스 ID, Amazon 리소스 이름(ARN) 및 디바이스와 연결된 모든 AWS IoT 사물의 세부 정보.
+ 디바이스 프로필 및 대상 세부 정보.
+ 디바이스로부터 마지막 업링크 메시지를 수신한 시간.
+ 디바이스가 프로비저닝되었는지 또는 등록되었는지를 나타내는 상태.

## JSON 파일 확보 (CLI)
<a name="iot-sidewalk-json-get-api"></a>

Amazon Sidewalk용 AWS IoT Core API 또는 AWS CLI를 사용하여 Sidewalk 엔드 디바이스를 프로비저닝하는 데 필요한 JSON 파일을 확보하려면 디바이스 프로필 및 무선 디바이스에 대한 정보를 검색한 결과 얻은 API 응답을 JSON 파일(예: *`wireless_device.json`* 및 *`device_profile.json`*)로 임시 저장합니다. 이를 사용하여 Sidewalk 디바이스를 프로비저닝합니다.

다음은 JSON 파일을 검색하는 방법을 보여줍니다.

**Topics**
+ [1단계: 디바이스 프로필 정보를 JSON 파일로 가져오기](#iot-sidewalk-profile-get)
+ [2단계: Sidewalk 디바이스 정보를 JSON 파일로 가져오기](#iot-sidewalk-get-device)

### 1단계: 디바이스 프로필 정보를 JSON 파일로 가져오기
<a name="iot-sidewalk-profile-get"></a>

[https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html) API 작업 또는 [https://docs.aws.amazon.com/cli/latest/reference/get-device-profile.html](https://docs.aws.amazon.com/cli/latest/reference/get-device-profile.html) CLI 명령을 사용하여 Amazon Sidewalk용 AWS IoT Core 계정에 추가한 디바이스 프로필에 대한 정보를 가져옵니다. 디바이스 프로필에 대한 정보를 검색하려면 프로필 ID를 지정합니다.

그러면 API가 지정된 식별자 및 디바이스 ID와 일치하는 디바이스 프로필에 대한 정보를 반환합니다. 이 응답 정보를 파일로 저장하고 *`device_profile.json`*과 같은 이름을 지정합니다.

다음은 CLI 명령의 예시입니다.

```
aws iotwireless get-device-profile \ 
    --id "12345678-a1b2-3c45-67d8-e90fa1b2c34d" > device_profile.json
```

이 명령을 실행하면 디바이스 프로필, 애플리케이션 서버 퍼블릭 키 및 `DeviceTypeID`의 파라미터가 반환됩니다. 다음은 API의 샘플 응답 정보가 포함된 JSON 파일을 보여줍니다. API 응답의 파라미터에 대한 자세한 내용은 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetDeviceProfile.html) 섹션을 참조하세요.

**`GetDeviceProfile` API 응답(`device_profile.json`의 내용)**

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:DeviceProfile/12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Id": "12345678-a1b2-3c45-67d8-e90fa1b2c34d",
    "Name": "Sidewalk_profile",
    "LoRaWAN": null,
    "Sidewalk":
    {        
        "ApplicationServerPublicKey": "a123b45c6d78e9f012a34cd5e6a7890b12c3d45e6f78a1b234c56d7e890a1234",
        "DAKCertificateMetadata": [
            {                
                "DeviceTypeId: "fe98",
                "CertificateId": "43564A6D2D50524F544F54595045",
                "FactorySupport": false,
                "MaxAllowedSignature": 1000                
            }
        ],
        "QualificationStatus": false
    }
}
```

### 2단계: Sidewalk 디바이스 정보를 JSON 파일로 가져오기
<a name="iot-sidewalk-get-device"></a>

[https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html) API 작업 또는 [https://docs.aws.amazon.com/cli/latest/reference/get-wireless-device.html](https://docs.aws.amazon.com/cli/latest/reference/get-wireless-device.html) CLI 명령을 사용하여 Amazon Sidewalk용 AWS IoT Core 계정에 추가한 Sidewalk 디바이스에 대한 정보를 가져옵니다. 엔드 디바이스에 대한 정보를 가져오려면 디바이스를 추가할 때 얻은 무선 디바이스의 식별자를 제공합니다.

그러면 API가 지정된 식별자 및 디바이스 ID와 일치하는 디바이스에 대한 정보를 반환합니다. 이 응답 정보를 JSON 파일로 저장합니다. 파일에 의미 있는 이름을 지정합니다(예 *`wireless_device.json`*).

다음은 CLI르 사용한 명령 실행의 예시를 보여줍니다.

```
aws iotwireless get-wireless-device --identifier-type WirelessDeviceId \ 
    --identifier "23456789-abcd-0123-bcde-fabc012345678" > wireless_device.json
```

이 명령을 실행하면 디바이스 세부 정보, 디바이스 인증서, 프라이빗 키 및 Sidewalk 제조 일련번호(SMSN)가 반환됩니다. 다음은 이 명령 실행의 예시 출력을 보여줍니다. API 응답의 파라미터에 대한 자세한 내용은 [https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html](https://docs.aws.amazon.com/iot-wireless/2020-11-22/apireference/API_GetWirelessDevice.html) 섹션을 참조하세요.

**`GetWirelessDevice` API 응답(`wireless_device.json`의 내용)**

```
{
    "Arn": "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/23456789-abcd-0123-bcde-fabc012345678",
    "Id": "23456789-abcd-0123-bcde-fabc012345678",
    "DestinationName": "SidewalkDestination",   
    "Type": "Sidewalk",
    "Sidewalk": {        
        "CertificateId": "4C7438772D50524F544F54595045",
        "DeviceCertificates": [
            {
                "SigningAlg": "Ed25519",
                "Value": "hDdkJw9L2uMCORjImjMHqzNR6nYYh6QKncSl5GthQNl7NKe4ounb5UMQtLjnm7zOUPYOqghCeVOLCBUiQe2ZiMBEW18JDUXIhffPobqZgohK91+LKFJ10X/F+GeltcafZcFKhS+O5NPcVNR/fHYaf/cn5iUbRwlz/T+ODXvGdwkBkgDyFgoUJgn7JdzFjaneE5qzTWXUbL79i1sXToGGjP8hiD9jJhidPWhIswleydAWgO1OZGA4CjzIaSGVM1VtaLB0VDphAkEpjMkZrtVDH3S8U1vDZTVi6YSbnkYZgfWv/uMMBfgAeL8Tdv5LkFIPIB3ZX9zt8zzmAuFRzI4MuNjWfIDnOF6AKu37WWU6/QYhZoQrW9D/wndiCcsRGl+ANn367r/HE02Re4DOiCfs9f2rjc4LT1LKt7g/KW2ii+W+9HYvvY0bBAI+AHx6Cx4j+djabTsvrgW2k6NU2zUSM7bdDP3z2a2+Z4WzBji/jYwt/OP8rpsy5Ee4ywXUfCsfQ0rKOr0zay6yh27p3I3MZle2oCO4JIlqK0VbIQqsXzSSyp6XXS0lhmuGugZ1AAADGz+gFBeX/ZNN8VJwnsNfgzj4me1HgVJdUo4W9kvx9cr2jHWkC3Oj/bdBTh1+yBjOC53yHlQK/l1GHrEWiWPPnE434LRxnWkwr8EHD4oieJxC8fkIxkQfj+gHhU79Z+oAAYAAAzsnf9SDIZPoDXF0TdC9POqTgld0oXDl2XPaVD4CvvLearrOSlFv+lsNbC4rgZn23MtIBM/7YQmJwmQ+FXRup6Tkubg1hpz04J/09dxg8UiZmntHiUr1GfkTOFMYqRB+Aw=="
            },
            {
                "SigningAlg": "P256r1",
                "Value": "hDdkJw9L2uMCORjImjMHqzNR6nYYh6QKncSl5GthQNmHmGU8a+SOqDXWwDNt3VSntpbTTQl7cMIusqweQo+JPXXWElbGh7eaxPGz4ZeF5yM2cqVNUrQr1lX/6lZ+OLuycrFrLzzB9APi0NIMLqV/Rt7XJssHQs2RPcT1ul/2XVpa6ztULJeQi2JwhTb/k48wbh/EvafG/ibrIBIx9v7/dwGRAPKHq7Uwb9hHnhpa8qNOUtjeUdIwJNh9vCBFX9s22t4PdortoFxbXo9C149PDDD4wqUHJGYlCsVX/Sqqjf7Aug3h5dwdYN6cDgsuuiOm0+aBcXBGpkh7OxVxlwXkIP+11dt23TkrSUKd0B01sc9Mc/0yEBCzx5RutKBwsefzyOl4vQX3AHgV7oD/XV73THMgGiDxQ55CPaaxN/pm791VkQ76BSZaBeF+Su6tg0k/eQneklt8Du5uqkyBHVxy8MvxsBIMZ73vIFwUrLHjDeq3+nOOyQqSBMnrHKU2mAwN3zb2LolwjPkKNOh1+NNnv99L2pBcNCnhnoBULWmWAZNXJpMx9QrcSwI9AHylcgUbGQJgf9Ryun+BgewzYNdWrXyKkp4O3ZDa4f+5SVWvbY5eyDDXcohvz/OcCtuRjAkzKBCvIjBDnCv1McjVdCO3+utizGntfhAo1RZstnOoRkgVF2WuMT9IrUmzYximuTXUmWtjyFSTqgNBZwHWUTlMmjlpLCVzZQWM4zOisXUAAALPsP34BS6EzJO5AsS5pC7QTpjBtAbLN9SdXOT9w4H1x8Nkp0ujLxWRN37IEy0V9DrPK2w1g74uqWPfUPnSBjtvM55JnQpmm23WQNvHa1Vr6zmWDjzjHpcNirPbzXyBlKEhkX4xylaSMnm4UrVXtAMaAJ/csC4HPTKr3dazdvEkhwGAAAIFByCjSp/5WHc4AhsyjMvKCsZQiKgiI8ECwjfXBaSZdY4zYsRlO3FC428H1atrFChFCZT0Bqt5LPXD38bMSB+vAUJiP8XqiEdXeqf2mYMJ5ykoDpwkve/cUQfPpjzFQlQfvwjBwiJDANKkOKoNT3bUGz+/f/pyTE+xMRdIUBZ1Bw=="
            }
        ],
        "DeviceProfileId": "0ff5b0c6-f149-4498-af34-21993acd52a7",
        "PrivateKeys": [
            {
                "SigningAlg": "Ed25519",
                "Value": "2c24d4572327f23b9bef38097137c29224a9e979081b3d90124ac9dfa477934e"
            },
            {
                "SigningAlg": "P256r1",
                "Value": "38d526f29cfaf142f596deca187bd809ef71bc13435eedc885b63bb825d63def"
            }
        ],        
        "SidewalkManufacturingSn": "843764270F4BDAE3023918C89A3307AB3351EA761887A40A9DC4A5E46B6140D9",
        "Status": "PROVISIONED"
    },
    
    ...
    
}
```

## 다음 단계
<a name="iot-sidewalk-json-next"></a>

JSON 파일 *`wireless_device.json`* 및 *`device_profile.json`*을 임시로 저장합니다. 이 파일은 다음 단계에서 하드웨어 플랫폼에 연결하기 위해 엔드 디바이스를 프로비저닝하고 등록하는 데 사용됩니다. 자세한 내용은 **Amazon Sidewalk 설명서의 [엔드 디바이스 프로비저닝 및 등록](https://docs.sidewalk.amazon/provisioning/)을 참조하세요.