Home Page | Language Reference (extended) | SD Reference | Libraries | Comparison | Changes


GSM : GSM_SMS class

beginSMS()

Description

Identifies the telephone number to send an SMS message to.

Syntax

SMS.beginSMS(number)

Parameters

number : char array, the phone number to send the SMS to

Returns

int
In asynchronous mode, beginSMS() returns 0 if the last command is still executing, 1 if success, and >1 if there is an error. In synchronous mode, it returns 1 if it successfully executes, and 0 if it does not.

Example

#include <GSM.h> #define PINNUMBER "" // initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms; void setup ( )
{
  // initialize serial communications
  Serial.begin ( 9600 ) ;   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 remoteNumber[ 20 ] ;  // telephone number to send sms
  readSerial(remoteNumber) ;
  Serial.println (remoteNumber) ;   // 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 (remoteNumber) ;
  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++;
      }
    }
  }
}

See Also


Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.