0

我想使用 HTTP POST 方法将雨水传感器数据上传到thingspeak,但是在使用“Api key= data to be sent ..”时,传感器数据没有上传到服务器……而且因为它在引号中,所以它不是以功能可能....如何解决这个问题?

Serial.print("api_key=QI8G7PVTC2BVIREC&field1=TellWater()\\r\\n"); 
4

1 回答 1

0

您需要捕获TellWater()变量中的返回值。

在这里,我假设TellWater()返回浮动。您需要将其转换为字符串。

float water_value = TellWater();
String water_value_str;
water_value_str = String(f);

将传感器数据转换为字符串后,您需要执行字符串连接以准备最终输出字符串。

String output_string = "api_key=QI8G7PVTC2BVIREC&field1=" + water_value_str + "\r\n";
Serial.print(output_string);

你不应该\\\r\\n. 这将导致编译器将语句解释为字符\(0x5c) 和字符r(0x72) 而不是\r(0x0D)(回车)。同样\\n将被解释为字符\(0x5c) 和字符n(0x6e) 而不是\n(0x0A)(换行符),导致您的 GSM 模块等待数据,因为它没有收到行尾字符 (\r\n)。

于 2019-05-28T04:12:36.847 回答