问题描述
我目前正在学习Azure IOT即插即用和数字孪生。
我正在运行以下设备示例:Azure \ IOT即插即用\ azure-iot-samples-csharp \ iot-hub \ Samples \ device \ PnpDeviceSamples \ Thermostat
和相应的服务示例:Azure \ IOT即插即用\ azure-iot-samples-csharp \ iot-hub \ Samples \ service \ PnpServiceSamples \ Thermostat
与恒温器交互:json4delphi
我想通过基于孪生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);
有人可以告诉我如何获取命令和遥测定义吗?
解决方法
要在应用程序中动态发现设备模型的所有详细信息,请执行以下操作:
- 标识设备的型号ID
- 将其从存储库解析为模型文件
- 解析模型文件
在此处查看文档: 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