diff options
Diffstat (limited to 'libraries/GSM/examples/ReceiveSMS')
-rw-r--r-- | libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino b/libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino new file mode 100644 index 0000000..af800f4 --- /dev/null +++ b/libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino @@ -0,0 +1,98 @@ +/* + SMS receiver + + This sketch, for the Arduino GSM shield, waits for a SMS message + and displays it through the Serial port. + + Circuit: + * GSM shield attached to and Arduino + * SIM card that can receive SMS messages + + created 25 Feb 2012 + by Javier Zorzano / TD + + This example is in the public domain. + + http://arduino.cc/en/Tutorial/GSMExamplesReceiveSMS + +*/ + +// include the GSM library +#include <GSM.h> + +// PIN Number for the SIM +#define PINNUMBER "" + +// initialize the library instances +GSM gsmAccess; +GSM_SMS sms; + +// Array to hold the number a SMS is retreived from +char senderNumber[20]; + +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 Receiver"); + + // connection state + boolean notConnected = true; + + // Start GSM connection + 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(senderNumber, 20); + Serial.println(senderNumber); + + // An example of message disposal + // Any 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); + +} + + |