1

我正在使用 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\"");

我能够在串行监视器上显示变量值。

可能是什么问题,可以做些什么来解决它?

4

1 回答 1

1

它不是将变量值发送到数据库的正确方法。

mySerial.println("AT+HTTPPARA=\"URL\",\"http://www.website.com/test.php?vehicleNo\"");

您希望vehicleNo在 arduino 执行链接时,上面的代码块将被其值替换,但事实并非如此。如果你想执行你所期望的,它比你做的更复杂。

首先定义两个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);

这会做你需要的。祝你好运。

于 2017-07-18T15:01:33.800 回答