2015-02-24 62 views
1

我上週購買了Linkit One,並試圖通過Linkit One主板上的SIM卡向我的遠程服務器發送http post(JSON)請求。 這一切似乎工作正常,但幾個小時後,這些請求停止到我的服務器。Linkit One發送後發送幾小時後崩潰

這是我的代碼:

#include <LGPRS.h> 
#include <LGPRSClient.h> 
#include <LGPRSServer.h> 

char server[] = "myserver.com"; 
int port  = 80; 
String object = ""; 
String Location = ""; 
int objSize; 
String objLength; 

LGPRSClient client; 

void setup() { 
    Serial.begin(115200); 
    while (!LGPRS.attachGPRS("internet.golantelecom.net.il", "", "")) { 
     delay(500); 
    } 
} 

void loop() { 
    object = "value=test"; 
    sendHttpRequest(object); 
    delay(5000); 
} 

void sendHttpRequest(String object) { 
    objSize   = object.length(); 
    objLength  = String(objSize); 
    int timeOut  = 0; 
    int index  = 0; 
    String response = ""; 

    if (client.connect(server, port)) { 
     // FOR THE CONSOLE : 
     Serial.println(F("POST /index.php HTTP/1.1")); 
     Serial.print(F("Host: ")); 
     Serial.println(server); 
     Serial.println(F("Content-Type: application/x-www-form-urlencoded")); 
     Serial.print(F("Content-Length: ")); 
     Serial.println(objLength); 
     Serial.println(); 
     Serial.println(object); 
     Serial.println(); 

     // FOR THE SERVER : 
     client.println(F("POST /index.php HTTP/1.1")); 
     client.print(F("Host: ")); 
     client.println(server); 
     client.println(F("Content-Type: application/x-www-form-urlencoded")); 
     client.print(F("Content-Length: ")); 
     client.println(objLength); 
     client.println(); 
     client.println(object); 
     client.println(); 
    } 
    else Serial.println("connection failed"); 

    while (client.connected()) { 
     if (client.available() > 0) { 
      char value = client.read(); 
      if(String(value) == "{" || index) { 
       response += String(value); 
       index++; 
       if(String(value) == "}") index = 0; 
      } 
     } 
     if (!client.connected() || timeOut == 35000) { 
      Serial.print("Server Response: "); 
      Serial.println(response); 
      Serial.println(); 
      client.stop(); 
     } 
     timeOut++; 
    } 
} 

這是從服務器日誌: http://s11.postimg.org/f6oriqj37/image.png

請幫我弄清楚是怎麼回事..

的感謝!

回答

2

LinkIt ONE SDK v1.1的新版本於2015年2月18日發佈。您可以嘗試從this link下載最新版本的SDK,並相應地更新板上的固件。 LinkIt ONE SDK v2.0的配套固件是v1.1.05。希望這能解決你的問題。