簡體   English   中英

如何將串行數據(URL)發送到sim800l以獲取長字符串

[英]How to send serial data (URL) to the sim800l for long strings

我嘗試用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在控制台中打印要使用的正確String

但是,當我將相同的字符串發送到sim800l時,網址似乎不滿

您的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 + "\"";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM