我尝试使用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();
和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似乎不完整
答案 0 :(得分: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 + "\"";