获取用于预置的设备 JSON 文件
将 Sidewalk 设备添加到适用于 Amazon Sidewalk 的 AWS IoT Core 后,下载包含预置终端设备所需信息的 JSON 文件。您可以使用 AWS IoT 控制台或 AWS CLI 来检索此信息。有关如何预置设备的更多信息,请参阅《Amazon Sidewalk 文档》中的预置和注册终端设备
获取 JSON 文件(控制台)
要获取用于预置 Sidewalk 设备的 JSON 文件,请执行以下操作:
-
转至 Sidewalk 设备中心
。 -
选择您添加到适用于 Amazon Sidewalk 的 AWS IoT Core 的设备以查看其详细信息。
-
在您添加的设备的详细信息页面中,选择下载设备 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)
要使用适用于 Amazon Sidewalk 的 AWS IoT Core API 或 AWS CLI 获取用于预置 Sidewalk 终端设备的 JSON 文件,请将检索有关设备配置文件和无线设备的信息时获得的 API 响应临时保存为 JSON 文件,例如
和 wireless_device.json
。您将使用它们来预置 Sidewalk 设备。device_profile.json
以下内容说明如何检索这些 JSON 文件。
步骤 1:以 JSON 文件格式获取设备配置文件信息
使用 GetDeviceProfile
API 操作或 get-device-profile
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
。下面显示了一个 JSON 文件,其中包含来自 API 的示例响应信息。有关 API 响应中的参数的更多信息,请参阅 GetDeviceProfile
。
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:以 JSON 文件形式获取 Sidewalk 设备信息
使用 GetWirelessDevice
API 操作或 get-wireless-device
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 响应中的参数的更多信息,请参阅 GetWirelessDevice
。
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" }, ... }
后续步骤
临时存储 JSON 文件
和 wireless_device.json
,因为您将在下一步中使用它们来预置和注册终端设备以连接到硬件平台。有关更多信息,请参阅《Amazon Sidewalk 文档》中的预置和注册终端设备device_profile.json