0

我尝试使用 sim800l 发送一个帖子请求,但是当我发送一个长字符串时,我遇到了一个奇怪的问题

我的串行控制台的输出

AT+SAPBR=3,1,"APN","free"
OK

AT+SAPBR=1,1
OK

AT+SAPBR=2,1

+SAPBR: 1,1,"10.124.170.82"
OK

AT+HTTPINIT
OK

AT+HTTPPARA="CID",1
OK

AT+HTTPPARA="URL",","http://naviwatt.fr/api/boat/AETFC58003****/*****/time/35"
AT+HTTPPARA="URL",","http://naviwatt.fr/api/boat/AETFC58003****
AT+HTTPACTION=1

ERROR

可能出错的部分

//setup the request
String request = "AT+HTTPPARA=\"URL\",\",\"http://naviwatt.fr/api/boat/" + Id + "/" + Password + "/time/" + counter + "\"";

Serial.println("" + request);

delay(200);
sim.println(request);
sleep();

和睡眠();功能

void sleep(){
  String dump;
  delay(100);
  while(!sim.available()){
    Serial.print("waiting");
    delay(200);
  }
  while(sim.available()){
     dump = sim.readString();
     Serial.println(dump);
   }
}

Serial.println 在控制台中打印要使用的正确字符串

但是当我将这个相同的字符串发送到 sim800l 时,url 似乎不完整

4

1 回答 1

0

您的 AT+HTTPPATA 命令不正确。

它应该是

AT+HTTPPARA="URL","http://naviwatt.fr/api/boat/AETFC58003****/*****/time/35"

代替

AT+HTTPPARA="URL",","http://naviwatt.fr/api/boat/AETFC58003****/*****/time/35"

,"他们是您命令中的额外内容。

同样,您的第二个命令应该是

AT+HTTPPARA="URL","http://naviwatt.fr/api/boat/AETFC58003****

代替

AT+HTTPPARA="URL",","http://naviwatt.fr/api/boat/AETFC58003****

您的设置请求应该是

String request = "AT+HTTPPARA=\"URL\",\"http://naviwatt.fr/api/boat/" + Id + "/" + Password + "/time/" + counter + "\"";
于 2019-05-29T04:15:36.613 回答