AzureIoTHub:如何以 JSON 格式发送遥测数据?

AzureIoTHub: How to send telemetry data in JSON format?

我使用 Azure 示例存储库发送遥测数据:https://github.com/Azure/azure-iot-arduino/tree/master/examples/esp8266/iothub_ll_telemetry_sample

我没有修改任何代码。这是重要的部分:

const char* telemetry_msg = "test_message";
message_handle = IoTHubMessage_CreateFromString(telemetry_msg);
result = IoTHubDeviceClient_LL_SendEventAsync(device_ll_handle, message_handle, send_confirm_callback, NULL);

为什么我的 body-result 看起来像一个 ASCII 数组? (注意:使用 Azure IoT 资源管理器)

是不是想做一个这样的数组。我必须在另一边解压这个数组吗?

我希望能够像 azure 设备模拟器那样以 JSON 格式发送数据:

没关系,想通了。以下示例将以 JSON 格式发送数据 :

char telemetry_msg_buffer[80];
sprintf(telemetry_msg_buffer, "{\"temperature\":11.11,\"humidity\":12.12,\"scale\":\"13.13\"}");
message_handle = IoTHubMessage_CreateFromString(telemetry_msg_buffer);