在C Sdk - Azure IoT Hub中获得设备双胞胎



是否有办法从Azure IoT-Hub获得设备的设备双胞胎,使用Azure SDK for C?据我所知,我能够使用Azure SDK为NodeJS获得设备双胞胎。

在nodejs中我们这样做。

const Client = require('azure-iot-device').Client;
cosnt Protocol = require('azure-iot-device-mqtt').Mqtt;
var client = Client.fromConnectionString(connectionString, Protocol);
function main() {
client.open(function (err) {
//If connection is success
client.getTwin();
}
});

是否有任何方法可以获得设备的双胞胎数据并在Azure SDK中获得twinchange通知,即当双胞胎数据发生变化时回调函数?

是否有任何方法可以获得设备的双胞胎数据并在Azure SDK中获得twinchange通知,即当双胞胎数据发生变化时回调函数?

是的,你可以参考回调函数的例子,如在设备端Get更新:

尝试从文档中获取以下代码片段:

static void deviceTwinCallback(DEVICE_TWIN_UPDATE_STATE update_state, const unsigned char* payLoad, size_t size, void* userContextCallback)
{
(void)userContextCallback;
printf("Device Twin update received (state=%s, size=%zu): %srn", 
MU_ENUM_TO_STRING(DEVICE_TWIN_UPDATE_STATE, update_state), size, payLoad);
}

你也可以参考iothub_devicetwin_sample.c和iothub_device_client.c

在Linux上有一个带有C SDK的示例,展示了如何处理Device Twin: https://github.com/Azure/azure-sdk-for-c/blob/main/sdk/samples/iot/docs/how_to_iot_hub_samples_linux.md#iot-hub-twin-sample

最新更新