0
Arduinoから手動データをサーバーに投稿しようとしています。私はデータ接続のためにSIM 900を使用しています..データはサーバーに到達していません.. SIMはエラーなしで初期化されていますが、データはサーバーにポストされていません..修正するために私を助けてください..コードは以下..SIM 900を使用してHTTPリクエストを使用してデータを送信する
#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();
}