我正在使用SIMCOM SIM900模块和Arduino uno。我可以使用 AT+PARA 命令将静态数据发送到服务器,但在仅发送变量数据时无法这样做。该变量连续存储从传感器接收的数据。 是因为变量的值连续变化吗?
静态格式:
mySerial.println("AT+HTTPPARA="URL","http://www.website.com/test.php?vehicleNo=7575"");
带变量:
vehicleNo=function();
mySerial.println("AT+HTTPPARA="URL","http://www.website.com/test.php?vehicleNo"");
我能够在串行监视器上显示变量值。
可能是什么问题,可以做些什么来解决它?
这不是将变量值发送到数据库的正确方法。
mySerial.println("AT+HTTPPARA="URL","http://www.website.com/test.php?vehicleNo"");
您希望当 Arduino 执行链接时,上述代码块中的vehicleNo
将被其值替换,但事实并非如此。如果你想执行你期望的,它比你做的更复杂。
首先定义两个类型的 char 数组,比如 'url' 和 'val',如下所示:
char url[160];
char val[10];
然后它需要在请求部分进行一些编辑,如:
dtostrf( vehicleNo,7, 2, val);
sprintf(url, "AT+HTTPPARA="URL","http://www.3dedn.com/test.php?vehicleNo=%s"",val );
现在您的链接在数组"url"中,
mySerial.println(url);
这将满足您的需求。祝你好运。