Go Down

Topic: GSM Shield says SMS complete but message doesn't send (Read 2502 times) previous topic - next topic

Hi, I'm using a gsm shield to send SMS messages, and I'm literally on the first step with the info at http://arduino.cc/en/Guide/ArduinoGSMShield

The strange thing is I've used multiple numbers in the

char remoteNumber[20]= "12125551212";   

field and none of them receive a message from the arduino despite it saying

SENDING

Message:
Test

COMPLETE!

I'm using an 02 United Kingdom sim. Which has credit and isn't sim locked, I tried it in my phone and managed to send texts, but sir some reason can't get the arduino to do it.

Any thoughts would be greatly appreciated!

Managed to sort it using instructions and script at http://arduino.cc/en/Tutorial/GSMExamplesSendSMS instead

davidgoth

You have to add your country code to telephone number (for example: +44123456789)

visualxl

I am facing the same problem!

I have also added the country code without success.

I am using the exact "sendSMS" sample. It was actually working yesterday without country code. I did not change anything.

Please assist.

Code: [Select]

/*
SMS sender

This sketch, for the Arduino GSM shield,sends an SMS message
you enter in the serial monitor. Connect your Arduino with the
GSM shield and SIM card, open the serial monitor, and wait for
the "READY" message to appear in the monitor. Next, type a
message to send and press "return". Make sure the serial
monitor is set to send a newline when you press return.

Circuit:
* GSM shield
* SIM card that can send SMS

created 25 Feb 2012
by Tom Igoe

This example is in the public domain.

http://arduino.cc/en/Tutorial/GSMExamplesSendSMS

*/

// Include the GSM library
#include <GSM.h>

#define PINNUMBER ""

// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;

void setup()
{
  // initialize serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }
 
  Serial.println("SMS Messages Sender");

  // connection state
  boolean notConnected = true;

  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while(notConnected)
  {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else
    {
      Serial.println("Not connected");
      delay(1000);
    }
  }
 
  Serial.println("GSM initialized");
}

void loop()
{

  Serial.print("Enter a mobile number: ");
  char remoteNum[20];  // telephone number to send sms
  readSerial(remoteNum);
  Serial.println(remoteNum);
   
  // sms text
  Serial.print("Now, enter SMS content: ");
  char txtMsg[200];
  readSerial(txtMsg);
  Serial.println("SENDING");
  Serial.println();
  Serial.println("Message:");
  Serial.println(txtMsg);
 
  // send the message
  sms.beginSMS(remoteNum);
  sms.print(txtMsg);
  sms.endSMS();
  Serial.println("\nCOMPLETE!\n");
}

/*
  Read input serial
*/
int readSerial(char result[])
{
  int i = 0;
  while(1)
  {
    while (Serial.available() > 0)
    {
      char inChar = Serial.read();
      if (inChar == '\n')
      {
        result[i] = '\0';
        Serial.flush();
        return 0;
      }
      if(inChar!='\r')
      {
        result[i] = inChar;
        i++;
      }
    }
  }
}

davidgoth

Hi,

Replace the line "GSM gsmAccess;" by "GSM gsmAccess(true);".
Then, you can see the commands of modem. Post the output.

visualxl

I did not replace the line "GSM gsmAccess;" by "GSM gsmAccess(true);

The SMS will only work if I bring up the Serial Monitor. If I were to supply external power to the BLUNO (Uno + BLE) without bringing up the Serial Monitor, the SMS won't work. Why is that so?

visualxl

I replaced it with
Code: [Select]
GSM gsmAccess(true);

It solves the serial monitor problem as well it seems. Though would appreciate if you can explain that.

davidgoth

I don't know if you use BLUNO, it'll influence serial connection. I have never work with BLUNO. Anyway, it could be a timing problem in the GSM library for this board.

I have an idea, you could put LED blinks in each part of sketch to see in which part (how many blinks have happened) sketch stops or fails.

visualxl

Usually it stucks around this area. I don't know why. But if you press the 'RESET' button twice or thrice, it would work.

Code: [Select]

void setupGSM() {
  // connection state
  boolean notConnected = true;
  // Start GSM shield
  // If your SIM has PIN, pass it as a parameter of begin() in quotes
  while(notConnected) {
    if(gsmAccess.begin(PINNUMBER)==GSM_READY)
      notConnected = false;
    else {
      Serial.println("Not connected");
      delay(1000);
    }
  }
  //sendSMS();
}


ross12

Hi Guys. I have come across a similar issue where on the serial monitor it says message complete and sent but I still don't get a text on my phone.
 
I have tried using the SIM card on a phone and it works ok. The code I am using is from the Arduino library "sendSMS..

I used the country's code  +44 before entering my number but still didn't make any difference

I have replaced "GSM gsmAccess;" by "GSM gsmAccess(true); and below is the out put..

SMS Messages Sender
AT%13%
0 6>%13%%10%OK%13%%10%
AT+CGREG?%13%
6 27>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
27 48>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
48 81>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%%13%%10%+SIND: 3%13%%10%
AT+CGREG?%13%
81 102>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
102 7>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%%13%%10%+SIND: 4%13%%10%
AT+CGREG?%13%
7 28>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
28 49>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
49 70>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
70 91>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
91 112>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
112 5>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
5 26>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
26 47>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
47 68>%13%%10%+CGREG: 0,2%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
68 89>%13%%10%+CGREG: 0,3%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
102 123>%13%%10%+CGREG: 0,4%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
123 16>%13%%10%+CGREG: 0,4%13%%10%%13%%10%OK%13%%10%
AT+CGREG?%13%
16 37>%13%%10%+CGREG: 0,5%13%%10%%13%%10%OK%13%%10%
AT+IFC=1,1%13%
37 43>%13%%10%OK%13%%10%
AT+CMGF=1%13%
43 49>%13%%10%OK%13%%10%
AT+CLIP=1%13%
49 55>%13%%10%OK%13%%10%
ATE0%13%
55 61>%13%%10%OK%13%%10%
AT+COLP=1%13%
61 67>%13%%10%OK%13%%10%
GSM initialized
Enter a mobile number:


Can somebody assist me with this please?

dannable

Just to rule out the obvious, are you using the official Arduino GSM/GPRS shield?
Beginners guide to using the Seeedstudio SIM900 GPRS/GSM Shield

ross12

Thanks for your replies guys .
Yeah I am using the official arduino Gsm/GPRS shield..

https://www.sparkfun.com/products/9607

The link above takes you to the shield I am using ..

Thanks


dannable

Beginners guide to using the Seeedstudio SIM900 GPRS/GSM Shield

ross12

Thanks for that. Just out of curiosity what is wrong with the previous  one?

dannable

All the example code provide with the IDE is intended for use with the official shield which uses the Qualtec M10 chip. Some of the code may be specifically for that chip and there is no guarantee that it will work with other chips.

There is a simple example of how to send an sms without using libraries in the link in my signature.
Beginners guide to using the Seeedstudio SIM900 GPRS/GSM Shield

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy