C # Как обновить желаемое свойство twin устройства Azure IoT Hub - PullRequest
0 голосов
/ 14 января 2019

Я зарегистрировал устройства в IoT, и клиентское приложение (устройство) может обновить сообщенные свойства-близнецы. Теперь я должен обновить нужные свойства-близнецы из внутреннего приложения (в C #). Нужна помощь.

Ответы [ 3 ]

0 голосов
/ 23 января 2019

Только что нашел способ обновить нужные теги.

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);
0 голосов
/ 16 февраля 2019

Еще один способ сделать это - напрямую обновить 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);
}
0 голосов
/ 16 января 2019

Вот пример на GitHub. А вот учебник .

Вот соответствующий код:

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);
}
...