Azure IOT PnP 数字孪生 API/SDK 检索 属性,Device/Twin 的命令和遥测定义

Azure IOT PnP Digital Twin API/SDK to retrieve Property, Command and Telemetry definitions for Device/Twin

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

我是运行以下设备示例:Azure\IOT插头和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 发现 device/twin 可以使用哪些属性、遥测和命令,但是我注意到 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);

有人可以告诉我如何获得命令和遥测定义吗?

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

  1. 识别设备的model-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