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

使用 Azure IoT Central 解决方案中的属性

本操作指南介绍了如何使用 Azure IoT Central 应用程序的设备模板中定义的设备属性。

属性表示时间点值。 例如,设备可使用属性来报告它尝试达到的目标温度。 默认情况下,设备属性在 IoT Central 中是只读的。 使用可写属性,你可以在设备与 Azure IoT Central 应用程序之间同步状态。

你还可以在 Azure IoT Central 应用程序中定义云属性。 云属性值永远不会与设备进行交换,并且不在本文的讨论范围内。

若要了解有关 IoT 即插即用属性约定的详细信息,请参阅 IoT 即插即用约定

若要详细了解设备与 IoT Central 交换的属性数据,请参阅遥测、属性和命令有效负载

若要了解如何使用 IoT Central REST API 管理属性,请参阅如何使用 IoT Central REST API 控制设备

若要了解如何在不使用设备 SDK 的情况下在设备中实现属性,请参阅使用 MQTT 协议与 IoT 中心通信

定义属性

属性是表示设备状态的数据字段。 使用属性来表示设备的持久状态,例如设备的开/关状态。 属性还可以表示基本设备属性,例如设备的软件版本。 请将属性声明为只读属性或可写属性。

以下屏幕截图显示了 Azure IoT Central 应用程序中的属性定义。

Screenshot that shows a property definition in an Azure IoT Central application.

下表显示了属性功能的配置设置。

字段 说明
Display name “仪表板磁贴”和“设备”窗体上使用的属性值的显示名称。
名称 属性的名称。 Azure IoT Central 会根据显示名称生成此字段的值,但你可以视需要选择自己的值。 此字段必须为字母数字。 设备代码使用此“名称”值。
功能类型 属性。
语义类型 属性的语义类型,如温度、状态或事件。 选择的语义类型将决定以下哪些字段可用。
架构 属性数据类型,如 double、string 或 vector。 语义类型决定可用的选项。 架构不可用于事件和状态语义类型。
可写 如果属性不是可写的,则设备可向 Azure IoT Central 报告属性值。 如果属性是可写的,则设备可向 Azure IoT Central 报告属性值。 然后,Azure IoT Central 可以将属性更新发送到设备。
严重性 仅适用于事件语义类型。 严重性为“错误”、“信息”或“警告”
状态值 仅适用于状态语义类型。 定义可能的状态值,其中每个状态值都具有显示名称、名称、枚举类型和值。
计价单位 属性值的单位,例如 mph、% 或 °C。
显示单位 “仪表板磁贴”和“设备”窗体上使用的显示单位。
评论 有关属性功能的任何注释。
说明 属性功能的说明。

若要了解 Azure IoT Central 用于在设备模板中定义属性的数字孪生体定义语言 (DTDL),请参阅 IoT 即插即用约定 > 只读属性

可选字段(例如显示名称和说明)允许你向接口和功能添加更多详细信息。

创建属性时,你可以指定复杂架构类型,例如 Object 和 Enum

Screenshot that shows how to add a capability.

选择复杂架构(例如 Object)时,需要定义对象架构。

Screenshot that shows how to define an object.

实现只读属性

默认情况下,属性是只读的。 使用只读属性,设备可以将属性值更新报告给 Azure IoT Central 应用程序。 Azure IoT Central 应用程序无法设置只读属性的值。

Azure IoT Central 使用设备孪生在设备与 Azure IoT Central 应用程序之间同步属性值。 设备属性值使用设备孪生报告属性。 有关详细信息,请参阅设备孪生

设备以 JSON 有效负载形式发送属性更新。 有关详细信息,请参阅遥测、属性和命令有效负载

可以使用 Azure IoT 设备 SDK 将属性更新发送到 Azure IoT Central 应用程序。

有关多种语言实现的示例,请参阅创建客户端应用程序并将其连接到 Azure IoT Central 应用程序

Azure IoT Central 应用程序中的以下视图显示了设备只读属性:

Screenshot that shows the view of a read-only property.

实现可写属性

IoT Central 操作员在窗体上设置可写属性。 Azure IoT Central 将属性发送到设备。 Azure IoT Central 要求设备进行确认。

有关多种语言实现的示例,请参阅创建客户端应用程序并将其连接到 Azure IoT Central 应用程序

响应消息应当包含 acav 字段。 ad 字段为可选。 若要了解详细信息,请参阅 IoT 即插即用约定 > 可写属性

当操作员在 Azure IoT Central UI 中设置可写属性时,该应用程序会使用设备孪生所需属性将值发送到设备。 然后,设备使用设备孪生报告的属性做出响应。 Azure IoT Central 在收到报告的属性值时会将属性视图的状态更新为“已接受”。

当你输入值并选择“保存”后,初始状态为“挂起”。 当设备接受更改后,状态将更改为“已接受”

在未分配的设备上使用属性

可以在未分配给设备模板的设备上查看和更新可写属性。

若要在未分配的设备上查看现有属性,请在“设备”部分中导航到该设备,选择“管理设备”,然后选择“属性”:

Screenshot that shows properties on an unassigned device.

可以在此视图中更新可写属性:

Screenshot that shows how to update properties.

后续步骤

现在,你已了解如何使用 Azure IoT Central 应用程序中的属性,请参阅: