"@context": [
"dtmi:iotcentral:context;2",
"dtmi:dtdl:context;2"
若要详细了解 DTDL 模型,请参阅 IoT 即插即用建模指南。
IoT Central 定义了 DTDL v2 语言的一些扩展。 若要了解详细信息,请参阅 IoT Central 扩展。
默认情况下,属性是只读的。 只读属性意味着设备将属性值更新报告给你的 IoT Central 应用程序。 IoT Central 应用程序无法设置只读属性的值。
还可以将接口上的属性标记为可写。 设备可以从你的 IoT Central 应用程序中接收可写属性的更新,以及向应用程序报告属性值更新。
设备无需连接即可设置属性值。 当设备下一次连接到应用程序时,将传输更新的值。 此行为同时适用于只读属性和可写属性。
不要使用属性从设备发送遥测数据。 例如,一种只读属性(例如 temperatureSetting=80
)意味着设备温度已设置为 80,并且设备尝试达到或停留在此目标温度。
对于可写属性,设备应用程序会返回所需状态的状态代码、版本和说明,以指示是否已收到并应用属性值。
你还可以将云属性添加到模型的根组件。 云属性使你可以指定要存储在 IoT Central 应用程序中的任何设备元数据。 云属性值存储在 IoT Central 应用程序中,永远不会与设备同步。 云属性不影响设备开发者为实现设备模型而编写的代码。
解决方案开发者可以将云属性与设备属性一起添加到设备视图和窗体中,使操作员能够管理连接到应用程序的设备。 解决方案开发者还可以使用云属性作为规则定义的一部分,使操作员可以编辑阈值。
以下 DTDL 代码片段显示了一个示例云属性定义:
"@id": "dtmi:azureiot:Thermostat:CustomerName",
"@type": [
"Property",
"Cloud",
"StringValue"
"displayName": {
"en": "Customer Name"
"name": "CustomerName",
"schema": "string"
使用 IoT Central,可以在设备视图和图表中查看遥测数据,并通过规则在达到阈值时触发操作。 IoT Central 使用设备模型中的信息(如数据类型、单位和显示名称)来确定如何显示遥测值。 还可以在应用程序和个人仪表板上显示遥测值。
你可以使用 IoT Central 数据导出功能将遥测数据流式传输到其他目标(例如存储或事件中心)。
默认情况下,命令必须在 30 秒内执行,并且设备在命令到达时必须处于已连接状态。 如果设备未按时响应或设备未连接,则该命令将失败。
命令可以包含请求参数并返回响应。
如果设备当前脱机,则可通过为设备模板中的命令启用“脱机时排队”选项,选择排队命令。
脱机命令是从解决方案到设备的单向通知。 脱机命令可以有请求参数,但不返回响应。
如果将模型导出为 DTDL,则脱机命令将标记为 durable
。
脱机命令使用 IoT 中心云到设备的消息将命令和有效负载发送到设备。
设备接收的消息的有效负载是参数的原始值。 名为 method-name
的自定义属性存储 IoT Central 命令的名称。 下表显示了一些有效负载的示例:
IoT Central 请求架构
设备接收的有效负载示例
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:https://aka.ms/ContentUserFeedback。
提交和查看相关反馈