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

问题描述

我使用了 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 Explorer)

它是否意味着像这样的数组。我必须在另一边解压这个数组吗?

enter image description here

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

enter image description here

解决方法

没关系,想通了。以下示例将以 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);

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...