你当前正在访问 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 运行时。
- 将包含视图和表单的设备模板添加到应用程序。
- 在应用程序中查看从设备发送的遥测数据。
先决条件
完成本教程中的步骤需要具备以下各项:
一个有效的 Azure 订阅。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
根据自定义应用程序模板创建的 IoT Central 应用程序。 若要了解详细信息,请参阅创建 IoT Central 应用程序和关于你的应用程序。
还需要能够将配置文件从本地计算机上传到 IoT Central 应用程序。
导入部署清单
部署清单指定 IoT Edge 设备的配置,包括设备应下载和运行的任何自定义模块的详细信息。 连接到 IoT Central 应用程序的 IoT Edge 设备从应用程序下载其部署清单。
若要将部署清单添加到 IoT Central 以在本教程中使用,请执行以下操作:
下载 EnvironmentalSensorManifest-1-4.json 部署清单并将其保存到本地计算机。
在你的 IoT Central 应用程序中,导航到“Edge 清单”页。
选择“+ 新建” 。
在“自定义”页上,输入“环境传感器”作为名称,然后上传 EnvironmentalSensorManifest-1-4.json 文件。
验证清单文件后,选择“下一步”。
“查看并完成”页显示清单中定义的模块,包括 SimulatedTemperatureSensor 自定义模块。 选择“创建” 。
“Edge 清单”列表现在包括“环境传感器”清单:
添加 IoT Edge 设备
在 IoT Edge 设备可以连接到 IoT Central 应用程序之前,需要首先将其添加到设备列表并获取其凭据:
在 IoT Central 应用程序中,导航到“设备”页。
在“设备”页上,确保选中“所有设备”。 然后选择“+ 新建”。
在“创建新设备”页上:
- 输入“环境传感器 - 001”作为设备名称。
- 输入 env-sens-001 作为设备 ID。
- 确保未分配设备模板。
- 确保未模拟设备。
- 将“Azure IoT Edge 设备”设置为“是”。
- 选择“环境传感器 IoT Edge部署清单”。
选择“创建” 。
“设备”页上的设备列表现在包括“环境传感器 - 001”设备。 设备状态为“已注册”:
在部署 IoT Edge 设备之前,需要执行以下操作:
- IoT Central 应用程序的“ID 范围”。
- IoT Edge设备的设备 ID 值。
- IoT Edge设备的主键值。
若要查找这些值,请从“设备”页导航到“环境传感器 - 001 设备”,然后选择“连接”。 在继续之前,请记下这些值。
部署 IoT Edge 设备
本教程介绍如何将 IoT Edge 运行时部署到 Azure 中的 Linux 虚拟机。 若要部署和配置虚拟机,请选择以下按钮:
在“自定义部署”页上,使用以下值完成表单:
设置 | 值 |
---|---|
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 设备的部署是否成功,请执行以下操作:
在 IoT Central 应用程序中,导航到“设备”页。 检查“环境传感器 - 001”设备的状态是否为“已预配”。 设备连接时,你可能需要等待几分钟。
导航到“环境传感器 - 001”设备。
在“模块”页上,检查三个模块的状态为“正在运行”。
在“模块”页上,可以查看有关模块的状态信息,并执行查看其日志和重启它们等操作。
查看原始数据
在“环境传感器 - 001”设备的“原始数据”页上,可以看到它正在发送的遥测数据及其报告的属性值。
目前,IoT Edge 设备未分配设备模板,因此设备中的所有数据均为“未建模”。 如果没有设备模板,IoT Central 应用程序中就没有用于显示自定义设备信息的视图或仪表板。 但是,可以使用数据导出将数据转发到其他服务进行分析或存储。
添加设备模板
部署清单可能包括模块公开的属性的定义。 例如,SimulatedTemperatureSensor 模块的部署清单中的配置包括以下内容:
"SimulatedTemperatureSensor": {
"properties.desired": {
"SendData": true,
"SendInterval": 10
}
}
以下步骤演示如何为 IoT Edge 设备添加设备模板以及部署清单中的模块属性定义:
在 IoT Central 应用程序中,导航到“设备模板”页,然后选择“+ 新建”。
在“选择类型”页上,选择“Azure IoT Edge”,然后选择“下一步: 自定义”。
在“自定义”页上,输入“环境传感器”作为设备模板名称。 在完成时选择“下一步: 查看”。
在“查看”页上,选择“创建” 。
在“创建模型”页面上,选择“自定义模型”。
在“环境传感器”页上,选择“模块”,然后选择“从清单导入模块”。
在“导入模块”对话框中,选择“环境传感器”部署清单,然后选择“导入”。
设备模板现在包含名为 SimulatedTemperatureSensor 的模块,该模块具有名为 management 的接口。 此接口包括部署清单中 SendData 和 SendInterval 属性的定义。
部署清单只能定义模块属性,不能定义命令或遥测。 若要将遥测定义添加到设备模板:
下载 EnvironmentalSensorTelemetry.json 接口定义并将其保存到本地计算机。
导航到“环境传感器”设备模板中的 SimulatedTemperatureSensor 模块。
选择“添加继承的接口”(可能需要选择“...”才会看到此选项)。 选择“导入接口”。 然后导入之前下载的 EnvironmentalSensorTelemetry.json 文件。
该模块现在包含一个遥测接口,用于定义“machine”、“ambient”和“timeCreated”遥测类型:
若要添加绘制来自设备的遥测数据的视图,请执行以下操作:
在“环境传感器”设备模板中,选择“视图”。
在“选择添加新视图”页上,选择“可视化设备”。
输入“环境遥测”作为视图名称。
选择“开始使用设备”。 然后添加以下遥测类型:
- ambient/temperature
- humidity
- machine/temperature
- pressure
选择“添加磁贴”,然后选择“保存”。
要发布模板,请选择“发布”。
查看遥测和控制模块
若要查看来自设备的遥测数据,需要将设备附加到设备模板:
导航到“设备”页,然后选择“环境传感器 - 001 设备”。
选择“迁移”。
在“迁移”对话框中,选择“环境传感器”设备模板,然后选择“迁移”。
导航到“环境传感器 - 001”设备,然后选择“环境遥测”视图。
折线图绘制为视图选择的四个遥测值:
“原始数据”页现在包含“machine”、“ambient”和“timeCreated”遥测值的列。
若要使用部署清单中定义的属性控制模块,请导航到“环境传感器 - 001”设备,然后选择“管理”视图。
IoT Central 根据 SimulatedTemperatureSensor 模块的 manage 接口自动创建了此视图。 “原始数据”页现在包含 SendData 和 SendInterval 属性的列。
清理资源
如果不打算完成更多 IoT Central 快速入门或教程,则可删除 IoT Central 应用程序:
- 在 IoT Central 应用程序中,导航到“应用程序”“管理”。
- 选择“删除”,然后确认操作。
若要删除运行 Azure IoT Edge 的虚拟机,请导航到 Azure 门户并删除之前创建的资源组。 如果使用了建议的名称,则资源组称为 MyIoTEdgeDevice_rg。
后续步骤
若要继续浏览 IoT Central 系列教程并详细了解如何构建 IoT Central 解决方案,请参阅: