【问题标题】:C# How to update desired twin property of an Azure IoT Hub deviceC# 如何更新 Azure IoT 中心设备的所需孪生属性
【发布时间】:2019-01-14 17:41:00
【问题描述】:

我已在 IoT 中注册了设备,并且客户端应用程序(设备)可以更新报告的孪生属性。现在,我必须从后端应用程序(在 C# 中)更新所需的孪生属性。需要帮助。

【问题讨论】:

    标签: c# azure iot


    【解决方案1】:

    这是 GitHub 上的 sample。这是tutorial

    以下是相关代码:

    public async Task UpdateDesiredProperties(string deviceId)
    {
        var twin = await _registryManager.GetTwinAsync(deviceId);
    
        var patch =
            @"{
            properties: {
                desired: {
                  customKey: 'customValue'
                }
            }
        }";
    
        await _registryManager.UpdateTwinAsync(twin.DeviceId, patch, twin.ETag);
    }
    

    【讨论】:

    【解决方案2】:

    另一种方法是直接更新所需的TwinCollection

    using (var manager = RegistryManager.CreateFromConnectionString("Your IoT Hub ConnectionString"))
    {
       var twin = await manager.GetTwinAsync("your device id");
       twin.Properties.Desired["YourProperty"] = "some value";
       await manager.UpdateTwinAsync(twin.DeviceId, twin, twin.ETag);
    }
    

    【讨论】:

      【解决方案3】:

      刚刚找到更新所需标签的方法。

      RegistryManager registryManager = RegistryManager.CreateFromConnectionString(connectionString);
      var twin = await registryManager.GetTwinAsync(device.Id);
      var patch = "{ \"properties\": { \"desired\": { \"configVersion\" : 3.1 } } }"; //json string
      await registryManager.UpdateTwinAsync(device.Id, tags, twin.ETag);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-02-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多