2017-02-21 47 views
0

Я пытаюсь отправить некоторые данные из Arduino на сервер. Я использую SIM 900 для подключения к данным .. Данные не доходят до сервера. SIM-карта была инициализирована без ошибок, но данные не были отправлены на сервер. Пожалуйста, помогите мне исправить это. Код ниже ..Отправка данных с использованием HTTP-запроса с использованием SIM 900

#include<SoftwareSerial.h> 

SoftwareSerial client(2,3); 

String testReading="{ \"testID\" : 1, \"testLevel\" : 1, }"; 

void setup() 
{ 
    Serial.begin(9600); 
    client.begin(9600); 
    delay(1000); 
    if(client.available()) 
    { 
    Serial.print("Connected"); 
    } 
    else 
    { 
    Serial.print("Not Connected"); 
    } 
    checkSignal(); 
    connectGPRS(); 
    postData(); 
    delay(1000); 
} 

void loop() 
{ 
    if(client.available()) 
    { 
    checkSignal(); 
    connectGPRS(); 
    postData(); 
    delay(1000); 
    } 
} 

void connectGPRS() 
{ 
    client.println("AT+CGATT?"); 
    delay(1000); 
    ShowSerialData(); 

    client.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\""); 
    delay(1000); 
    ShowSerialData();            

    client.println("AT+SAPBR=3,1,\"APN\",\"www\"");//Using Indian Standard Vodafone Sim and so APN is www 
    delay(1000); 
    ShowSerialData(); 

    client.println("AT+SAPBR=1,1"); 
    delay(1000); 
    ShowSerialData(); 

    client.println("AT+SAPBR=2,1"); 
    delay(1000); 
    ShowSerialData(); 
} 

void checkSignal() 
{ 
    client.println("AT+CSQ"); 
    delay(1000); 
    ShowSerialData(); 
} 

void ShowSerialData() 
{ 
    while(client.available()!=0) 
    Serial.write(client.read()); 
} 

void postData() 
{ 
    client.println("AT+HTTPINIT"); 
    delay(1000); 
    ShowSerialData(); 

    client.println("AT+HTTPPARA=\"CID\",1"); 
    delay(1000); 
    ShowSerialData(); 


    client.println("AT+HTTPPARA=\"URL\",\"http://test.server/insert-path"); 
    delay(1000); 
    ShowSerialData(); 

    client.println("AT+HTTPPARA=\"CONTENT\",\"application/json"); 
    delay(1000); 
    ShowSerialData(); 

    client.println("AT+HTTPDATA=99,10000"); 
    delay(1000); 
    ShowSerialData; 

    client.println(testReading); 
    delay(1000); 
    ShowSerialData; 

    client.println("AT+HTTPACTION=1"); 
    delay(10000); 
    while(!client.available()); 
    ShowSerialData(); 
} 

ответ

0

Вам нужно добавить еще один «\"»для завершения URL и тип содержимого.

client.println("AT+HTTPPARA=\"URL\",\"http://test.server/insert-path\""); 
client.println("AT+HTTPPARA=\"CONTENT\",\"application/json\""); 

Кроме того, пытаясь увеличить client.println("AT+HTTPDATA=99,10000"); ввода данных 10s задержки в 20-е годы.

 Смежные вопросы

  • Нет связанных вопросов^_^