aboutsummaryrefslogtreecommitdiff
path: root/libraries/GSM/examples/ReceiveSMS
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2013-04-03 13:51:04 +0200
committerCristian Maglie <c.maglie@bug.st>2013-04-03 13:51:04 +0200
commitee90e68e86dd61d86f5d17b69080338328765b22 (patch)
treee620c0edc2690ab789b665e567910640597aa6fe /libraries/GSM/examples/ReceiveSMS
parent0ecdc5ebc96ad4c7c548c438a03d9ce00679db8b (diff)
parentf50c307be280dc6ece9e70c43b301c1db36291a0 (diff)
Merged 1.0.5
Merge remote-tracking branch 'arduino/master' into ide-1.5.x Conflicts: app/src/processing/app/Base.java build/shared/revisions.txt hardware/arduino/avr/cores/arduino/malloc.c hardware/arduino/cores/arduino/avr-libc/malloc.c hardware/arduino/cores/arduino/malloc.c todo.txt
Diffstat (limited to 'libraries/GSM/examples/ReceiveSMS')
-rw-r--r--libraries/GSM/examples/ReceiveSMS/ReceiveSMS.ino98
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);
+
+}
+
+