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

教程:将 IoT Edge 设备连接到 Azure IoT Central 应用程序

本教程介绍如何将 IoT Edge 设备连接到 Azure IoT Central 应用程序。 IoT Edge 设备运行一个模块,该模块将温度、压力和湿度遥测数据发送到应用程序。 使用设备模板启用视图和表单,以便与 IoT Edge 设备上的模块进行交互。

在本教程中,你将了解如何执行以下操作:

  • 将 IoT Edge 部署清单导入 IoT Central 应用程序中。
  • 将使用此部署清单的 IoT Edge 设备添加到应用程序中。
  • 将 IoT Edge 设备连接到应用程序。
  • 从应用程序监视 IoT Edge 运行时。
  • 将包含视图和表单的设备模板添加到应用程序。
  • 在应用程序中查看从设备发送的遥测数据。

先决条件

完成本教程中的步骤需要具备以下各项:

还需要能够将配置文件从本地计算机上传到 IoT Central 应用程序。

导入部署清单

部署清单指定 IoT Edge 设备的配置,包括设备应下载和运行的任何自定义模块的详细信息。 连接到 IoT Central 应用程序的 IoT Edge 设备从应用程序下载其部署清单。

若要将部署清单添加到 IoT Central 以在本教程中使用,请执行以下操作:

  1. 下载 EnvironmentalSensorManifest-1-4.json 部署清单并将其保存到本地计算机。

  2. 在你的 IoT Central 应用程序中,导航到“Edge 清单”页。

  3. 选择“+ 新建” 。

  4. 在“自定义”页上,输入“环境传感器”作为名称,然后上传 EnvironmentalSensorManifest-1-4.json 文件。

  5. 验证清单文件后,选择“下一步”。

  6. “查看并完成”页显示清单中定义的模块,包括 SimulatedTemperatureSensor 自定义模块。 选择“创建” 。

“Edge 清单”列表现在包括“环境传感器”清单:

Screenshot that shows the Edge Manifests list in the application.

添加 IoT Edge 设备

在 IoT Edge 设备可以连接到 IoT Central 应用程序之前,需要首先将其添加到设备列表并获取其凭据:

  1. 在 IoT Central 应用程序中,导航到“设备”页。

  2. 在“设备”页上,确保选中“所有设备”。 然后选择“+ 新建”。

  3. 在“创建新设备”页上:

    • 输入“环境传感器 - 001”作为设备名称。
    • 输入 env-sens-001 作为设备 ID。
    • 确保未分配设备模板。
    • 确保未模拟设备。
    • 将“Azure IoT Edge 设备”设置为“是”。
    • 选择“环境传感器 IoT Edge部署清单”。
  4. 选择“创建” 。

“设备”页上的设备列表现在包括“环境传感器 - 001”设备。 设备状态为“已注册”:

Screenshot that shows the registered and unassigned IoT Edge device.

在部署 IoT Edge 设备之前,需要执行以下操作:

  • IoT Central 应用程序的“ID 范围”。
  • IoT Edge设备的设备 ID 值。
  • IoT Edge设备的主键值。

若要查找这些值,请从“设备”页导航到“环境传感器 - 001 设备”,然后选择“连接”。 在继续之前,请记下这些值。

部署 IoT Edge 设备

本教程介绍如何将 IoT Edge 运行时部署到 Azure 中的 Linux 虚拟机。 若要部署和配置虚拟机,请选择以下按钮:

Deploy to Azure Button

在“自定义部署”页上,使用以下值完成表单:

设置
Resource group 创建名为“MyIoTEdgeDevice_rg”的新资源组。
Region 选择附近的区域。
Dns Label Prefix 虚拟机的唯一 DNS 前缀。
Admin Username AzureUser
Admin Password 用于访问虚拟机的所选密码。
Scope Id 之前记下的 ID 范围。
Device Id 你之前记录的设备 ID。
Device Key 你之前记录的设备密钥。

选择“查看 + 创建”,然后选择“创建” 。 等待部署完成,然后再继续。

管理 IoT Edge 设备

若要验证 IoT Edge 设备的部署是否成功,请执行以下操作:

  1. 在 IoT Central 应用程序中,导航到“设备”页。 检查“环境传感器 - 001”设备的状态是否为“已预配”。 设备连接时,你可能需要等待几分钟。

  2. 导航到“环境传感器 - 001”设备。

  3. 在“模块”页上,检查三个模块的状态为“正在运行”。

在“模块”页上,可以查看有关模块的状态信息,并执行查看其日志和重启它们等操作。

查看原始数据

在“环境传感器 - 001”设备的“原始数据”页上,可以看到它正在发送的遥测数据及其报告的属性值。

目前,IoT Edge 设备未分配设备模板,因此设备中的所有数据均为“未建模”。 如果没有设备模板,IoT Central 应用程序中就没有用于显示自定义设备信息的视图或仪表板。 但是,可以使用数据导出将数据转发到其他服务进行分析或存储。

添加设备模板

部署清单可能包括模块公开的属性的定义。 例如,SimulatedTemperatureSensor 模块的部署清单中的配置包括以下内容:

"SimulatedTemperatureSensor": {
    "properties.desired": {
        "SendData": true,
        "SendInterval": 10
    }
}

以下步骤演示如何为 IoT Edge 设备添加设备模板以及部署清单中的模块属性定义:

  1. 在 IoT Central 应用程序中,导航到“设备模板”页,然后选择“+ 新建”。

  2. 在“选择类型”页上,选择“Azure IoT Edge”,然后选择“下一步: 自定义”。

  3. 在“自定义”页上,输入“环境传感器”作为设备模板名称。 在完成时选择“下一步: 查看”。

  4. 在“查看”页上,选择“创建” 。

  5. 在“创建模型”页面上,选择“自定义模型”。

  6. 在“环境传感器”页上,选择“模块”,然后选择“从清单导入模块”。

  7. 在“导入模块”对话框中,选择“环境传感器”部署清单,然后选择“导入”。

设备模板现在包含名为 SimulatedTemperatureSensor 的模块,该模块具有名为 management 的接口。 此接口包括部署清单中 SendData 和 SendInterval 属性的定义。

部署清单只能定义模块属性,不能定义命令或遥测。 若要将遥测定义添加到设备模板:

  1. 下载 EnvironmentalSensorTelemetry.json 接口定义并将其保存到本地计算机。

  2. 导航到“环境传感器”设备模板中的 SimulatedTemperatureSensor 模块。

  3. 选择“添加继承的接口”(可能需要选择“...”才会看到此选项)。 选择“导入接口”。 然后导入之前下载的 EnvironmentalSensorTelemetry.json 文件。

该模块现在包含一个遥测接口,用于定义“machine”、“ambient”和“timeCreated”遥测类型:

Screenshot that shows the device template with the telemetry interface.

若要添加绘制来自设备的遥测数据的视图,请执行以下操作:

  1. 在“环境传感器”设备模板中,选择“视图”。

  2. 在“选择添加新视图”页上,选择“可视化设备”。

  3. 输入“环境遥测”作为视图名称。

  4. 选择“开始使用设备”。 然后添加以下遥测类型:

    • ambient/temperature
    • humidity
    • machine/temperature
    • pressure
  5. 选择“添加磁贴”,然后选择“保存”。

  6. 要发布模板,请选择“发布”。

查看遥测和控制模块

若要查看来自设备的遥测数据,需要将设备附加到设备模板:

  1. 导航到“设备”页,然后选择“环境传感器 - 001 设备”。

  2. 选择“迁移”。

  3. 在“迁移”对话框中,选择“环境传感器”设备模板,然后选择“迁移”。

  4. 导航到“环境传感器 - 001”设备,然后选择“环境遥测”视图。

  5. 折线图绘制为视图选择的四个遥测值:

    Screenshot that shows the telemetry line charts.

  6. “原始数据”页现在包含“machine”、“ambient”和“timeCreated”遥测值的列。

若要使用部署清单中定义的属性控制模块,请导航到“环境传感器 - 001”设备,然后选择“管理”视图。

IoT Central 根据 SimulatedTemperatureSensor 模块的 manage 接口自动创建了此视图。 “原始数据”页现在包含 SendData 和 SendInterval 属性的列。

清理资源

如果不打算完成更多 IoT Central 快速入门或教程,则可删除 IoT Central 应用程序:

  1. 在 IoT Central 应用程序中,导航到“应用程序”“管理”。
  2. 选择“删除”,然后确认操作。

若要删除运行 Azure IoT Edge 的虚拟机,请导航到 Azure 门户并删除之前创建的资源组。 如果使用了建议的名称,则资源组称为 MyIoTEdgeDevice_rg

后续步骤

若要继续浏览 IoT Central 系列教程并详细了解如何构建 IoT Central 解决方案,请参阅: