2017-01-17 26 views
0

Arduinoデバイス経由でJSON形式の手動データをサーバーにアップロードしようとしました。ネット接続にSIM800(Seeduinoライブラリ)を使用しました。プログラムはコンパイルされ、エラーなしで実行されます。しかし、私のマニュアルデータはサーバーに送信されません。以下は私のコードです。私はそれを修正するために手伝ってください。ArduinoからJSON形式のサーバーへのデータの投稿

#include <gprs.h> 
#include<SoftwareSerial.h> 

char url="http://test.server.com"; 

GPRS client; 

void setup() { 
Serial.begin(9600); 
while(!Serial); 
Serial.println("Connection Test..."); 
client.preInit(); 
while(0!=client.init()){ 
    delay (1000); 
    Serial.println("init error"); 
    } 
    while(!client.join("MYAPNAddress"));//I used airtelgprs.com 
    { 
    Serial.println("error"); 
    delay(2000); 
    } 
    Serial.print("IP Address is"); 
    Serial.println(client.getIPAddress()); 
    Serial.println("INit succeess"); 

    } 
    void post() 
    { 
    char data="{ \"vehicleId\" : 1, \"version\" : 1, }"; 
    Serial.println(data); 
    Serial.println("POST/page/listener/insert HTTP/1.1"); 
    Serial.println("HOST:testserver.com"); 
    Serial.println("Content-Type: application/json;charset=utf-8"); 
    if(0!=client.connectTCP(url,80)){ 
    Serial.println("TCP error"); 
    goto STOP; 
    } 
    if(0!=client.sendTCPData(data)){ 
    Serial.println("sending error"); 
    goto STOP; 
    } 
    STOP: 
    client.closeTCP(); 
    return 0; 
    } 
void loop() { 
    post(); 
    delay(200); 

} 

答えて

0

申し訳ありませんが、コメントすることを許可されていない、まだ:-)

  • "POST" とURLの間で行方不明に少なくともスペースがあり
  • あなたが必要と\ rを\ nは、各行の後に(プリント()を使用し、())必要
  • し、ペイロード
ように、ある時点で、いくつかのJSONを必要とするヘッダとペイロード
  • の間に空白行printlnをしません
  • +0

    回答ありがとうございました。 実際には、SIMカードはデバイスによって開始されていません..データ接続が確立されていません..あなたがそれを修正する考えがあれば..提案してください.. –

    関連する問題