使用SIM 900使用HTTP请求发送数据



我正在尝试向服务器发布一些手动数据。我正在使用SIM 900进行数据连接。数据未达到服务器。.SIM是在没有错误的情况下初始化了SIM下面..

#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();
}

您需要添加另一个'''才能完成URL和内容类型。

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

另外,尝试增加client.println("AT+HTTPDATA=99,10000");数据输入延迟10到20s。

最新更新