我想使用 HTTP POST 方法将雨水传感器数据上传到thingspeak,但是在使用“Api key= data to be sent ..”时,传感器数据没有上传到服务器……而且因为它在引号中,所以它不是以功能可能....如何解决这个问题?
Serial.print("api_key=QI8G7PVTC2BVIREC&field1=TellWater()\\r\\n");
我想使用 HTTP POST 方法将雨水传感器数据上传到thingspeak,但是在使用“Api key= data to be sent ..”时,传感器数据没有上传到服务器……而且因为它在引号中,所以它不是以功能可能....如何解决这个问题?
Serial.print("api_key=QI8G7PVTC2BVIREC&field1=TellWater()\\r\\n");
您需要捕获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)。