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


GSM : GSM_SMS class

available()

Description

Checks to see if there is a SMS messages on the SIM card to be read, and reports back the number of characters in the message.

Syntax

SMS.available()

Parameters

none

Returns

int : the number of characters in the message

Example

#define PINNUMBER "" // initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSM_SMS sms; char remoteNumber[ 20 ] ;  // Holds the emitting number void setup ( )
{
  // initialize serial communications
  Serial.begin ( 9600 ) ;   Serial.println ( "SMS Messages Receiver" ) ;   // 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" ) ;
  Serial.println ( "Waiting for messages" ) ;
} void loop ( )
{
  char c;   // If there are any SMSs available()  
  if (sms.available ( ) )
  {
    Serial.println ( "Message received from:" ) ;     // Get remote number
    sms.remoteNumber (remoteNumber, 20 ) ;
    Serial.println (remoteNumber) ;     // This is just an example of message disposal    
    // Messages starting with # should be discarded
    if (sms.peek ( ) == '#' )
    {
      Serial.println ( "Discarded SMS" ) ;
      sms.flush ( ) ;
    }     // Read message bytes and print them
    while (c=sms.read ( ) )
      Serial.print (c) ;     Serial.println ( "\nEND OF MESSAGE" ) ;     // delete message from modem memory
    sms.flush ( ) ;
    Serial.println ( "MESSAGE DELETED" ) ;
  }   delay ( 1000 ) ; }

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.