【问题标题】:Azure IOT PnP Digital Twin API/SDK to retrieve Property, Command and Telemetry definitions for Device/TwinAzure IOT PnP 数字孪生 API/SDK 用于检索设备/孪生的属性、命令和遥测定义
【发布时间】:2020-10-21 20:03:42
【问题描述】:

我目前正在学习 Azure IOT 即插即用和数字孪生。

我正在运行以下设备示例:Azure\IOT Plug and Play\azure-iot-samples-csharp\iot-hub\Samples\device\PnpDeviceSamples\Thermostat

以及对应的服务示例:Azure\IOT Plug and Play\azure-iot-samples-csharp\iot-hub\Samples\service\PnpServiceSamples\Thermostat

与恒温器交互:https://github.com/Azure/opendigitaltwins-dtdl/blob/master/DTDL/v2/samples/Thermostat.json

我想通过基于孪生 ID 的 API/SDK 了解设备/孪生可用的属性、遥测和命令,但是我注意到 Microsoft.Azure.Devices.Device 和 Microsoft.Azure.Devices .Shared.Twin 类仅包含属性信息,不定义命令或遥测。

Microsoft.Azure.Devices.RegistryManager registryManager = _registryManager;

Microsoft.Azure.Devices.Device device = await registryManager.GetDeviceAsync(_digitalTwinId);

Microsoft.Azure.Devices.Shared.Twin twin = await _registryManager.GetTwinAsync(_digitalTwinId);

谁能告诉我如何获取命令和遥测定义?

【问题讨论】:

    标签: azure azure-iot-hub azure-iot-sdk


    【解决方案1】:

    要在您的应用程序中动态发现设备模型的所有详细信息,应执行以下操作:

    1. 识别设备的型号 ID
    2. 将其解析为存储库中的模型文件
    3. 解析模型文件

    在此处查看文档: https://docs.microsoft.com/en-us/azure/iot-pnp/concepts-model-discovery

    要解析模型,您可以直接读取 json,或者使用模型解析器库为设备模型获取丰富的对象模型。请参阅此处的文档: https://docs.microsoft.com/en-us/azure/iot-pnp/concepts-model-parser

    【讨论】: