快速入门:使用 Node.js 服务 SDK 将 TPM 设备注册到 IoT 中心设备预配服务
在本快速入门中,你将使用 Node.js 服务 SDK 和示例 Node.js 应用程序以编程方式在 Azure IoT 中心设备预配服务中为 TPM 设备创建单个注册。 可以通过该单个注册项,选择性地将模拟的 TPM 设备注册到预配服务。
先决条件
- 完成使用 Azure 门户设置 IoT 中心设备预配服务。
- 具有活动订阅的 Azure 帐户。 试用订阅。
- Node.js v4.0+。 本快速入门将在下面安装 Node.js 服务 SDK。
- 认可密钥(可选)。 按照创建和预配模拟设备中的步骤操作,直到获得该密钥。 请勿使用 Azure 门户创建单个注册。
创建单个注册示例
在工作文件夹的命令窗口中,运行以下命令:
npm install azure-iot-provisioning-service
使用文本编辑器,在工作文件夹中创建 create_individual_enrollment.js 文件。 将以下代码添加到文件并进行保存:
'use strict'; var provisioningServiceClient = require('azure-iot-provisioning-service').ProvisioningServiceClient; var serviceClient = provisioningServiceClient.fromConnectionString(process.argv[2]); var endorsementKey = process.argv[3]; var enrollment = { registrationId: 'first', attestation: { type: 'tpm', tpm: { endorsementKey: endorsementKey } } }; serviceClient.createOrUpdateIndividualEnrollment(enrollment, function(err, enrollmentResponse) { if (err) { console.log('error creating the individual enrollment: ' + err); } else { console.log("enrollment record returned: " + JSON.stringify(enrollmentResponse, null, 2)); } });
运行单个注册示例
若要运行示例,需要适用于预配服务的连接字符串。
登录到 Azure 门户,选择左侧菜单上的“所有资源”按钮,打开设备预配服务 。
选择“共享访问策略”,然后选择想要用来打开其属性的访问策略 。 在“访问策略”窗口中,复制并记下主密钥连接字符串。
此外还需适用于设备的许可密钥。 如果已按照创建和预配模拟的设备快速入门教程创建模拟的 TPM 设备,请使用为该设备创建的密钥。 否则,若要创建示例单个注册,可以使用 Node.js 服务 SDK 随附的以下许可密钥:
AToAAQALAAMAsgAgg3GXZ0SEs/gakMyNRqXXJP1S124GUgtk8qHaGzMUaaoABgCAAEMAEAgAAAAAAAEAxsj2gUScTk1UjuioeTlfGYZrrimExB+bScH75adUMRIi2UOMxG1kw4y+9RW/IVoMl4e620VxZad0ARX2gUqVjYO7KPVt3dyKhZS3dkcvfBisBhP1XH9B33VqHG9SHnbnQXdBUaCgKAfxome8UmBKfe+naTsE5fkvjb/do3/dD6l4sGBwFCnKRdln4XpM03zLpoHFao8zOwt8l/uP3qUIxmCYv9A7m69Ms+5/pCkTu/rK4mRDsfhZ0QLfbzVI6zQFOKF/rwsfBtFeWlWtcuJMKlXdD8TXWElTzgh7JS4qhFzreL0c1mI0GCj+Aws0usZh7dLIVPnlgZcBhgy1SSDQMQ==
若要为 TPM 设备创建单个注册,请运行以下命令(包括命令参数的引号):
node create_individual_enrollment.js "<the connection string for your provisioning service>" "<endorsement key>"
成功创建以后,命令窗口会显示新的单个注册的属性。
验证是否已创建单个注册。 在 Azure 门户的设备预配服务摘要边栏选项卡上,选择“管理注册” 。 选择“单个注册”选项卡,然后选择新的注册项 (first),验证认可密钥和该项的其他属性 。
为 TPM 设备创建单个注册以后,如果需要注册模拟的设备,则可继续执行创建和预配模拟的设备中的剩余步骤。 请确保跳过该快速入门中通过 Azure 门户创建单个注册的步骤。
清理资源
如果打算学习 Node.js 服务示例,请勿清除本快速入门中创建的资源。 如果不打算继续学习,请按以下步骤删除本快速入门中创建的所有资源。
- 关闭计算机上的 Node.js 示例输出窗口。
- 如果已创建模拟的 TPM 设备,请关闭 TPM 模拟器窗口。
- 在 Azure 门户中导航到你的设备预配服务,选择“管理注册”,然后选择“单个注册”选项卡。 选中通过本快速入门创建的注册项的“注册 ID”旁边的复选框,然后按窗格顶部的“删除”按钮 。
后续步骤
本快速入门介绍了如何以编程方式为 TPM 设备创建单个注册项,以及如何选择性地在计算机上创建 TPM 模拟设备,并使用 Azure IoT 中心设备预配服务将其预配到 IoT 中心。 若要深入了解设备预配,请继续学习本教程有关如何在 Azure 门户中进行设备预配服务设置的内容。