Hello all,
I am using the GPRS V2 by seedstudio (seen here) with an arduino Uno. I am using the demo code code shown in the link to send an SMS using an unlocked AT&T go phone SIM card. Everything thing seems to execute fine but after executing the code I receive a 302 Error, meaning the operation (sending the SMS) is not an allowed AT command. What could be the cause of this error?
#include <SoftwareSerial.h>
#include <String.h>
SoftwareSerial gprsSerial(7,8);
void setup()
{
gprsSerial.begin(19200); // GPRS shield baud rate
Serial.begin(19200);
delay(100);
}
void loop()
{
if (Serial.available()) // if there is incoming serial data
switch(Serial.read()) // read the character
{
case 't': // if the character is 't'
SendTextMessage(); // send the text message
break;
case 'd': // if the character is 'd'
DialVoiceCall(); // dial a number
case 'p':
pinTest();
break;
}
if (gprsSerial.available()){ // if the shield has something to say
Serial.write(gprsSerial.read()); // display the output of the shield
}
}
void pinTest()
{
gprsSerial.println("AT+CPIN?");
delay(100);
gprsSerial.println("AT+COPS?");
}
/*
* Name: SendTextMessage
* Description: Send a text message to a number
*/
void SendTextMessage()
{
Serial.println("Sending Text...");
gprsSerial.println("AT+CMEE=1");
delay(50);
gprsSerial.println("AT+CMGF=1"); // Set the shield to SMS mode
delay(100);
// send sms message, the phone number needs to include the country code
gprsSerial.println("AT+CMGS = \"+15555550159\"");
delay(100);
gprsSerial.println("TEST SUCCESS"); //the content of the message
delay(100);
gprsSerial.println((char)26);//the ASCII code of the ctrl+z is 26 (required according to the datasheet)
//delay(100);
gprsSerial.println();
//Serial.println("Text Sent.");
}
/*
* Name: DialVoiceCall()
* Description: Can call/dial a phone number
*/
void DialVoiceCall()
{
gprsSerial.println("ATD+15555550159;");//dial the number, must include country code
delay(100);
gprsSerial.println();
}