arduino と sim900 モジュールを使用して Web ページを開く方法 gsm sim 900 モジュールを使用して Web ページを開こうとしています このコードを使用してみました AT コマンドに慣れていないため、このコードは、シリアルモニターでページが開かないので、助けてください!
#include <SoftwareSerial.h>
SoftwareSerial SIM900(2, 3); // configure software serial port
void setup() {
SIM900.begin(19200);
SIM900power();
Serial.begin(19200);
Serial.print("power up" );
delay(20000);
SIM900.println("AT+CSQ"); // Signal quality check
delay(100);
ShowSerialData();// this code is to show the data from gprs shield, in order to easily see the process of how the gprs shield submit a http request, and the following is for this purpose too.
SIM900.println("AT+CGATT?"); //Attach or Detach from GPRS Support
delay(100);
ShowSerialData();
SIM900.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");//setting the SAPBR, the connection type is using gprs
delay(1000);
ShowSerialData();
SIM900.println("AT+SAPBR=3,1,\"APN\",\"etisalat\"");//setting the APN, Access point name string
delay(4000)
ShowSerialData();
SIM900.println("AT+SAPBR=1,1");//setting the SAPBR
delay(2000);
ShowSerialData();
SIM900.println("AT+HTTPINIT"); //init the HTTP request
delay(2000);
ShowSerialData(); SIM900.println("AT+CIPSTART=\"TCP\",\"http://http://www.google.com\",\"80\"");
delay(1000);
ShowSerialData();
SIM900.println("AT+CIPSHUT"); //init the HTTP request
delay(2000);
ShowSerialData();
SIM900.println("AT+HTTPACTION=0");//submit the request
delay(10000);//the delay is very important, the delay time is base on the return from the website, if the return datas are very large, the time required longer.
while(!SIM900.available());
ShowSerialData();
SIM900.println("AT+HTTPREAD");// read the data from the website you access
delay(300);
ShowSerialData();
SIM900.println("");
delay(100);
}
void SIM900power()
// software equivalent of pressing the GSM shield "power" button
{
digitalWrite(9, HIGH);
delay(1000);
}
void loop()
{
// Serial.println("SubmitHttpRequest - started" );
// SubmitHttpRequest();
// Serial.println("SubmitHttpRequest - finished" );
}
void SubmitHttpRequest()
{
}
void ShowSerialData()
{
while(SIM900.available()!=0)
Serial.write(char (SIM900.read()));
}