使用 Azure 门户和 Azure CLI 通过设备孪生和模块孪生来管理设备。 为简单起见,本文重点介绍设备孪生,但所有概念和过程对模块孪生同样适用。
本文介绍 Azure 门户或 Azure CLI 中提供的用于远程管理设备孪生的设备孪生管理任务。 若要了解如何开发设备应用程序以处理设备孪生更改,请参阅设备孪生入门。
在 IoT 中心,设备孪生是存储状态信息的 JSON 文档。 创建每个设备标识时,都会自动将其与设备孪生相关联。 后端应用或用户可以更新设备孪生的两个元素:
- 所需属性:所需属性是一组关联状态信息中的一半。 后端应用或用户可以更新孪生体上的所需属性来传达所需状态更改,而设备可以更新报告的属性来传达其当前状态。
- 标记:可以使用设备孪生标记来组织和管理 IoT 解决方案中的设备。 可以为任何有意义的类别(如设备类型、位置或功能)设置标签。
有关详细信息,请参阅了解和使用 IoT 中心的设备孪生或了解和使用 IoT 中心的模块孪生。
说明
本文所述的功能只能用于 IoT 中心的标准层。 有关基本层和标准/免费 IoT 中心层的详细信息,请参阅 为解决方案选择正确的 IoT 中心层和大小。
先决条件
在开始之前,请先准备好以下内容。
了解用于设备组织的标签
设备孪生标记可用作帮助您整理设备的强大工具。 如果在 IoT 解决方案中具有多种设备,则可以使用标记来设置类型、位置等。例如:
{
"deviceId": "mydevice1",
"status": "enabled",
"connectionState": "Connected",
"cloudToDeviceMessageCount": 0,
"authenticationType": "sas",
"tags": {
"deploymentLocation": {
"building": "43",
"floor": "1"
},
"deviceType":"HDCamera"
},
"properties": {
...
}
}
查看和更新设备孪生
创建设备标识信息后,将在 IoT 中心内隐式创建设备孪生。 可以使用 Azure 门户或 Azure CLI 检索给定设备的设备孪生。 还可以添加、编辑或移除标记和所需属性。
在 Azure 门户中导航到 IoT 中心。
在 IoT 中心,从导航菜单的“设备管理”部分中选择“设备”。
默认 的设备 列表显示最多15个设备,但没有提供完整的设备库存。 要查找未显示的设备,请在搜索框中输入其设备ID。 你也可以应用筛选或运行查询。 有关详细信息,请参阅查询设备孪生。
Important
默认列表不会显示设备双标签值。 这个限制并不意味着设备没有标签。 在设备详细信息页面、设备孪生中,或在筛选结果或查询结果中查看标签。
默认列表中的类型值可以将IoT Edge设备显示为物联网设备,因为该视图中无法提供能力信息。 要查找 IoT Edge 设备,请在设备管理中选择 IoT Edge,或筛选设备至 IoT Edge 设备。
选择设备 ID 以打开设备详细信息页面。
设备详细信息页显示所选设备的任何当前标记。 在“标记”参数旁边选择“编辑”以添加、更新或移除标记。
提示
若要添加或更新嵌套标记,请选择高级选项卡并提供 JSON。
选择设备孪生,以查看和更新设备孪生 JSON。
设备孪生标记位于
tags对象中。 可以直接在文本框中键入以更新标记或所需属性。 若要移除标记或指定的属性,请将项的值设置为null。选择“保存”以保存更改。
返回设备详细信息页,选择刷新,更新页面以反映更改。
如果设备具有与之关联的任何模块标识,这些模块也会显示在设备详细信息页上。 选择模块名称,然后选择 模块标识孪生,以查看和更新模块孪生 JSON。
查询设备孪生信息
IoT 中心 将你的 IoT 中心 的设备孪生公开为名为“devices”的文档集合。 可以根据设备孪生值查询设备。
本部分介绍如何在 Azure 门户和 Azure CLI 中运行孪生查询。 若要了解如何编写孪生查询,请参阅 IoT 中心设备孪生和模块孪生的查询。
说明
设备孪生查询具有最终一致性。 新创建的设备和最近的双胞胎变更可能不会立即显示,删除的设备也可能暂时保留在结果中。 查询结果中缺少设备或标签并不意味着它们被删除了。 要检索已知设备的当前设备孪生值,请直接发出 Get Twin 请求。 更多信息请参见 双胞胎查询限制。
在 Azure 门户中,转到你的 IoT 中心。
在 设备 上使用过滤器或在 查询 中运行查询,根据设备孪生的详细信息查找设备:
使用筛选器查找设备:
在“设备管理”下选择“设备”。
选择 添加筛选器,然后从下拉菜单中选择 设备标记 作为筛选器类型。
输入你想要的标签名称和值,然后选择 “应用 ”以获得符合条件的设备。
筛选结果可显示设备孪生标签。 如果有 “加载更多” 可用,选择它以请求更多筛选结果。 这与默认列表不同,默认列表显示最多15个没有设备双标签值的设备。
使用查询查找设备:
在设备管理下选择查询。
保留预填充的
SELECT * FROM devices查询以获取设备孪生,或者输入查询以按标签进行筛选。 例如,以下查询返回标签为devicetypetestIoTDevice的设备的设备ID和标签:SELECT deviceId, tags FROM devices WHERE tags.devicetype = 'testIoTDevice'将标签名称和值替换为你的设备所使用的名称和值。
选择 运行查询 并查看结果。
使用作业更新设备孪生
作业功能可以在计划时间对一组设备执行设备孪生更新。 有关详细信息,请参阅在多台设备上计划作业。