如何将物联网设备连接到远程监控预配置解决方案(Windows)?如何实现和指定物联网集线器设备的行为



https://learn.microsoft.com/en-us/azure/iot-suite/iot-suite-connecting-devices#create-a-c样本解决方案-窗口

添加以下功能,当设备从IoT Hub接收到SetTemperature和SetHumidity命令时执行:

EXECUTE_COMMAND_RESULT SetTemperature(Thermostat* thermostat, int temperature)
{
(void)printf("Received temperature %drn", temperature);
thermostat->Temperature = temperature;
return EXECUTE_COMMAND_SUCCESS;
}
EXECUTE_COMMAND_RESULT SetHumidity(Thermostat* thermostat, int humidity)
{
(void)printf("Received humidity %drn", humidity);
thermostat->Humidity = humidity;
return EXECUTE_COMMAND_SUCCESS;
}

添加以下向IoT集线器发送消息的功能:

static void sendMessage(IOTHUB_CLIENT_HANDLE iotHubClientHandle, const unsigned char* buffer, size_t size)
{
IOTHUB_MESSAGE_HANDLE messageHandle = IoTHubMessage_CreateFromByteArray(buffer, size);
if (messageHandle == NULL)
{
printf("unable to create a new IoTHubMessagern");
}
else
{
if (IoTHubClient_SendEventAsync(iotHubClientHandle, messageHandle, NULL, NULL) != IOTHUB_CLIENT_OK)
{
printf("failed to hand over the message to IoTHubClient");
}
else
{
printf("IoTHubClient accepted the message for deliveryrn");
}
IoTHubMessage_Destroy(messageHandle);
}
free((void*)buffer);
}

给定链接中的更多

您在这里引用的文章向您展示了如何使用Visual Studio在Windows桌面计算机上构建和运行此示例代码。还有另外两篇等效的文章向您展示了如何在Linux机器或mbed设备上运行相同的代码。

如果您想了解如何使用另一种硬件设备(如Raspberry Pi或Intel Edison with Azure IoT Hub)的深入教程,请查看此处开始文件夹中的IoT Hubs教程集。

最新更新