1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-12-15 00:23:56 +01:00
Arduino/libraries/GSM/examples/SendSMS/SendSMS.ino

102 lines
2.1 KiB
Arduino
Raw Normal View History

2013-03-11 12:17:08 +01:00
/*
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
2013-03-11 12:17:08 +01:00
monitor is set to send a newline when you press return.
2013-03-11 12:17:08 +01:00
Circuit:
* GSM shield
2013-03-11 12:17:08 +01:00
* SIM card that can send SMS
2013-03-11 12:17:08 +01:00
created 25 Feb 2012
by Tom Igoe
2013-03-11 12:17:08 +01:00
This example is in the public domain.
http://www.arduino.cc/en/Tutorial/GSMExamplesSendSMS
2013-03-11 12:17:08 +01:00
*/
// Include the GSM library
#include <GSM.h>
#define PINNUMBER ""
// initialize the library instance
GSM gsmAccess;
GSM_SMS sms;
void setup() {
2013-03-11 12:17:08 +01:00
// initialize serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
2013-03-11 12:17:08 +01:00
}
2013-03-11 12:17:08 +01:00
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) {
2013-03-11 12:17:08 +01:00
notConnected = false;
} else {
2013-03-11 12:17:08 +01:00
Serial.println("Not connected");
delay(1000);
}
}
2013-03-11 12:17:08 +01:00
Serial.println("GSM initialized");
}
void loop() {
2013-03-11 12:17:08 +01:00
Serial.print("Enter a mobile number: ");
char remoteNum[20]; // telephone number to send sms
readSerial(remoteNum);
Serial.println(remoteNum);
2013-03-11 12:17:08 +01:00
// sms text
Serial.print("Now, enter SMS content: ");
char txtMsg[200];
readSerial(txtMsg);
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
2013-03-11 12:17:08 +01:00
// send the message
sms.beginSMS(remoteNum);
sms.print(txtMsg);
sms.endSMS();
2013-03-11 12:17:08 +01:00
Serial.println("\nCOMPLETE!\n");
}
/*
Read input serial
*/
int readSerial(char result[]) {
2013-03-11 12:17:08 +01:00
int i = 0;
while (1) {
while (Serial.available() > 0) {
2013-03-11 12:17:08 +01:00
char inChar = Serial.read();
if (inChar == '\n') {
2013-03-11 12:17:08 +01:00
result[i] = '\0';
Serial.flush();
return 0;
}
if (inChar != '\r') {
2013-03-11 12:17:08 +01:00
result[i] = inChar;
i++;
}
}
}
}