我想发送值并将值插入数据库,但我得到空值。
float PHValue = Value/10;
float DOValue= 12.22;
gprsSerial.println("AT+HTTPPARA=\"URL\",\"http://itempurl.com/smartpond/AddTemprature?WaterTemperature=""+celsius+""&PHValue=""+PHValue+""&DOValue=""+DOValue+""¤tTime=06-30-2016\"");
答案 0 :(得分:0)
您可以使用print()单独发送,如:
int n_decimals = 3;
float PHValue = Value/10;
float DOValue= 12.22;
gprsSerial.print("AT+HTTPPARA=\"URL\",\"http://itempurl.com/smartpond/AddTemprature?WaterTemperature=");
gprsSerial.print(celsius, n_decimals);
gprsSerial.print("&PHValue=");
gprsSerial.print(PHValue, n_decimals);
gprsSerial.print("&DOValue=");
gprsSerial.print(DOValue, n_decimals);
gprsSerial.println("¤tTime=06-30-2016\"");
使用n_decimals
您想要打印的小数位数。
或者@stark在评论中说,您可以使用snprintf
来生成AT命令:
char command[256];
float PHValue = Value/10;
float DOValue= 12.22;
snprintf(command, sizeof(command), "AT+HTTPPARA=\"URL\",\""
"http://itempurl.com/smartpond/AddTemprature?"
"WaterTemperature=%f&PHValue=%f&DOValue=%f"
"¤tTime=06-30-2016\"", celsius, PHValue, DOValue);
gprsSerial.println(command);
注意:我不确定你是否希望url中的值在引号之间,所以我没有留下它们。