快速入门:使用适用于 IoT 中心设备预配服务的 Node.js 设备 SDK 创建和预配 X.509 模拟设备
在本快速入门中,我们在 Windows 计算机上创建一台模拟 X.509 设备。 我们使用设备预配服务 (DPS) 的单个注册,通过设备示例 Node.js 代码将此模拟设备连接到 IoT 中心。
先决条件
- 熟悉预配概念。
- 完成通过 Azure 门户设置 IoT 中心设备预配服务。
- 具有活动订阅的 Azure 帐户。 试用订阅。
- Node.js v4.0+。
- Git。
- OpenSSL。
注意
初始的设备孪生状态配置仅在 IoT 中心的标准层中提供。 有关基本和标准 IoT 中心层的详细信息,请参阅如何选择合适的 IoT 中心层。
准备环境
在继续操作之前,请完成通过 Azure 门户设置 IoT 中心设备预配服务中的步骤。
请确保已在计算机上安装 Node.js v4.0 或更高版本。
确保在计算机上安装 Git 并将其添加到可供命令窗口访问的环境变量。
确保在计算机上安装 OpenSSL 并将其添加到可供命令窗口访问的环境变量。 此库可以从源生成和安装,也可以从第三方(例如这个第三方)下载和安装。
注意
如果已创建“根” 、“中间” 和/或“叶” X.509 证书,则可跳过此步骤以及与生成证书相关的所有后续步骤。
创建自签名的 X.509 设备证书和单个注册项
在本部分,你将使用自签名的 X.509 证书。请务必记住以下事项:
- 自签名证书仅用于测试,不应在生产环境中使用。
- 自签名证书的默认过期日期为一年。
你将使用来自 Azure IoT SDK for Node.js 的示例代码创建要与模拟设备的个体注册条目一起使用的证书。
Azure IoT 设备预配服务支持两类注册:
本文演示单个注册。
打开命令提示符。 克隆代码示例的 GitHub 存储库:
git clone https://github.com/Azure/azure-iot-sdk-node.git --recursive
导航到证书生成器脚本,然后生成该项目。
cd azure-iot-sdk-node/provisioning/tools npm install
使用自己的 certificate-name 运行脚本,创建叶 X.509 证书。 叶证书的公用名称会成为注册 ID,因此请确保只使用小写的字母数字和连字符。
node create_test_cert.js device {certificate-name}
登录到 Azure 门户,选择左侧菜单上的“所有资源”按钮,打开设备预配服务实例 。
在“设备预配服务”菜单中,选择“管理注册” 。 选择“个人注册”选项卡,然后选择顶部的“添加个人注册”按钮 。
在“添加注册”面板中,输入以下信息:
模拟设备
Azure IoT 中心 Node.js 设备 SDK 提供了进行设备模拟的简单方式。 若要阅读更多材料,请参阅设备概念。
在 Azure 门户中,选择设备预配服务的“概览”边栏选项卡,记下“全局设备终结点”和“ID 范围”的值。
将证书和密钥复制到示例文件夹。
copy .\{certificate-name}_cert.pem ..\device\samples\{certificate-name}_cert.pem copy .\{certificate-name}_key.pem ..\device\samples\{certificate-name}_key.pem
导航到设备测试脚本,然后生成项目。
cd ..\device\samples npm install
编辑 register_x509.js 文件。 进行下述更改,然后保存文件。
- 将
provisioning host
替换为在上面的“步骤 1”中注明的“全局设备终结点”。 - 将
id scope
替换为在上面的“步骤 1”中记下的“ID 范围”。 - 将
registration id
替换为在上一部分中记下的“注册 ID” 。 - 将
cert filename
和key filename
替换为在上面的“步骤 2”中复制的文件。
- 将
执行脚本,验证该设备是否已成功预配。
node register_x509.js
在门户中导航到已链接到预配服务的 IoT 中心,然后打开“IoT 设备”边栏选项卡。 将模拟的 X.509 设备成功预配到中心以后,设备 ID 会显示在“IoT 设备”边栏选项卡上,“状态”为“已启用” 。 如果在运行示例设备应用程序之前已打开边栏选项卡,则可能需要按顶部的“刷新”按钮 。
如果从设备的注册项中的默认值更改了“初始设备孪生状态”,则它会从中心拉取所需的孪生状态,并执行相应的操作。 有关详细信息,请参阅了解并在 IoT 中心内使用设备孪生。
清理资源
如果打算继续使用和探索设备客户端示例,请勿清理在本快速入门中创建的资源。 如果不打算继续学习,请按以下步骤删除本快速入门中创建的所有资源。
- 关闭计算机上的设备客户端示例输出窗口。
- 在 Azure 门户的左侧菜单中选择“所有资源”,然后选择设备预配服务。 打开服务的“管理注册”边栏选项卡,然后选择“单个注册”选项卡 。选中在本快速入门中注册的设备的“注册 ID”旁边的复选框,然后按窗格顶部的“删除”按钮。
- 在 Azure 门户的左侧菜单中选择“所有资源”,然后选择 IoT 中心 。 打开中心的“IoT 设备”边栏选项卡,选中在本快速入门中注册的设备的“设备 ID”旁边的复选框,然后按窗格顶部的“删除”按钮。
后续步骤
在本快速入门中,你已创建模拟 X.509 设备,并已使用门户中的 Azure IoT 中心设备预配服务将其预配到 IoT 中心。 若要了解如何以编程方式注册 X.509 设备,请继续阅读快速入门中关于 X.509 设备的编程注册内容。