你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:针对 IoT 即插即用快速入门和教程设置环境

需要在 Azure 订阅中配置 IoT 中心和设备预配服务 (DPS),然后才能完成任何 IoT 即插即用快速入门和教程。 你还需要具备示例应用程序和 Azure IoT 资源管理器工具所使用的模型文件的本地副本。

重要

本文介绍使用共享访问签名连接到服务的步骤。 虽然可使用此身份验证方法进行测试和评估,但使用 Microsoft Entra ID 或托管标识对设备进行身份验证是一种更安全的方法。 有关详细信息,请参阅安全最佳做法和云安全

先决条件

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

为 Azure CLI 准备环境

创建资源

为资源创建一个 Azure 资源组:

az group create --name my-pnp-resourcegroup --location centralus

创建 IoT 中心。 以下命令使用名称 my-pnp-hub 作为要创建的 IoT 中心的名称示例。 为 IoT 中心选择一个唯一名称来替代 my-pnp-hub

az iot hub create --name my-pnp-hub --resource-group my-pnp-resourcegroup --sku F1 --partition-count 2

创建一个 DPS 实例。 以下命令使用名称 my-pnp-dps 作为要创建的 DPS 实例的名称示例。 为 DPS 实例选择一个唯一名称来替代 my-pnp-dps

az iot dps create --name my-pnp-dps --resource-group my-pnp-resourcegroup

若要将 DPS 实例链接到 IoT 中心,请使用以下命令。 将 my-pnp-dpsmy-pnp-hub 替换为之前选择的唯一名称:

hubConnectionString=$(az iot hub connection-string show -n my-pnp-hub --key primary --query connectionString -o tsv)
az iot dps linked-hub create --dps-name my-pnp-dps --resource-group my-pnp-resourcegroup --location centralus --connection-string $hubConnectionString

检索设置

某些快速入门和教程对 IoT 中心使用连接字符串。 设置 Azure IoT 资源管理器工具时,也需要连接字符串。 检索该连接字符串并立即记下它。 将 my-pnp-hub 替换为 IoT 中心选择的唯一名称:

az iot hub connection-string show -n my-pnp-hub --key primary --query connectionString

大多数快速入门和教程都使用 DPS 配置的 ID 范围。 检索该 ID 范围并立即记下它。 将 my-pnp-dps 替换为 DPS 实例选择的唯一名称:

az iot dps show --name my-pnp-dps --query properties.idScope

所有快速入门和教程都使用 DPS 设备注册。 使用以下命令在 DPS 实例中创建my-pnp-device 单设备注册。 将 my-pnp-dps 替换为 DPS 实例选择的唯一名称。 记下注册 ID 和主密钥,以便在快速入门和教程中使用:

az iot dps enrollment create --attestation-type symmetrickey --dps-name my-pnp-dps --resource-group my-pnp-resourcegroup --enrollment-id my-pnp-device --device-id my-pnp-device --query '{registrationID:registrationId,primaryKey:attestation.symmetricKey.primaryKey}'

创建环境变量

设置 5 个环境变量以在快速入门和教程中配置示例,从而使用 设备预配服务 (DPS) 连接到 IoT 中心:

  • IOTHUB_DEVICE_SECURITY_TYPE:值 DPS
  • IOTHUB_DEVICE_DPS_ID_SCOPE::你之前记下的 DPS ID 范围。
  • IOTHUB_DEVICE_DPS_DEVICE_ID:值 my-pnp-device
  • IOTHUB_DEVICE_DPS_DEVICE_KEY:你之前记下的注册主密钥。
  • IOTHUB_DEVICE_DPS_ENDPOINT:值 global.azure-devices-provisioning.net

服务示例需要以下环境变量来确定要连接到的中心和设备:

  • IOTHUB_CONNECTION_STRING:之前记下的 IoT 中心连接字符串。
  • IOTHUB_DEVICE_IDmy-pnp-device

例如,在 Linux bash shell 中:

export IOTHUB_DEVICE_SECURITY_TYPE="DPS"
export IOTHUB_DEVICE_DPS_ID_SCOPE="<Your ID scope>"
export IOTHUB_DEVICE_DPS_DEVICE_ID="my-pnp-device"
export IOTHUB_DEVICE_DPS_DEVICE_KEY="<Your enrolment primary key>"
export IOTHUB_DEVICE_DPS_ENDPOINT="global.azure-devices-provisioning.net"
export IOTHUB_CONNECTION_STRING="<Your IoT hub connection string>"
export IOTHUB_DEVICE_ID="my-pnp-device"

例如,在 Windows 命令行:

set IOTHUB_DEVICE_SECURITY_TYPE=DPS
set IOTHUB_DEVICE_DPS_ID_SCOPE=<Your ID scope>
set IOTHUB_DEVICE_DPS_DEVICE_ID=my-pnp-device
set IOTHUB_DEVICE_DPS_DEVICE_KEY=<Your enrolment primary key>
set IOTHUB_DEVICE_DPS_ENDPOINT=global.azure-devices-provisioning.net
set IOTHUB_CONNECTION_STRING=<Your IoT hub connection string>
set IOTHUB_DEVICE_ID=my-pnp-device

下载模型文件

快速入门和教程对温度控制器和恒温器设备使用示例模型文件。 若要下载示例模型文件:

  1. 在本地计算机上创建名为 models 的文件夹。

  2. 右键单击 TemperatureController.json 并将 JSON 文件保存到 models 文件夹中。

  3. 右键单击 Thermostat.json 并将 JSON 文件保存到 models 文件夹中。

安装 Azure IoT 资源管理器

快速入门和教程使用 Azure IoT 资源管理器工具。 请转到 Azure IoT 资源管理器版本,展开最新版本的资产列表。 下载并安装适合你的操作系统的最新版应用程序。

首次运行该工具时,系统将提示你输入 IoT 中心连接字符串。 使用你之前记下的连接字符串。

将工具配置为使用你之前下载的模型文件。 在工具的主页中,选择“IoT 即插即用设置”,然后选择“+添加”>“本地文件夹”。 选择你之前创建的模型文件夹。 然后,选择“保存”来保存设置。

若要了解详细信息,请参阅安装并使用 Azure IoT 资源管理器

清理资源

可对所有 IoT 即插即用快速入门和教程使用 IoT 中心和 DPS 实例,因此你只需完成本文中所述步骤一次即可。 完成后,可使用以下命令从订阅中删除它们:

az group delete --name my-pnp-resourcegroup

后续步骤

你现已设置好环境,接下来可尝试一个快速入门或教程,例如: