在 C SDK 中获取设备孪生 - Azure IoT 中心
Getting device twin in C Sdk - Azure IoT Hub
有没有办法使用 Azure SDK for C 从 Azure IoT-Hub 获取设备的设备孪生?据我所知,我可以使用适用于 NodeJS 的 Azure SDK 获得设备孪生。
在 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 for C 中获取双胞胎变化通知,即双胞胎数据发生变化时的回调函数?
Is there any way to get the twin data for a device and get twinchange notification in Azure SDK for C i.e A callback function when there is a change in twin data?
是的,可以参考回调函数的例子Get updates on the device side:
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): %s\r\n",
MU_ENUM_TO_STRING(DEVICE_TWIN_UPDATE_STATE, update_state), size, payLoad);
}
Linux 上有一个示例,其中包含适用于 C 的 SDK,展示了如何处理设备孪生: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
有没有办法使用 Azure SDK for C 从 Azure IoT-Hub 获取设备的设备孪生?据我所知,我可以使用适用于 NodeJS 的 Azure SDK 获得设备孪生。
在 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 for C 中获取双胞胎变化通知,即双胞胎数据发生变化时的回调函数?
Is there any way to get the twin data for a device and get twinchange notification in Azure SDK for C i.e A callback function when there is a change in twin data?
是的,可以参考回调函数的例子Get updates on the device side:
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): %s\r\n",
MU_ENUM_TO_STRING(DEVICE_TWIN_UPDATE_STATE, update_state), size, payLoad);
}
Linux 上有一个示例,其中包含适用于 C 的 SDK,展示了如何处理设备孪生: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