Описание
Метод объекта GSM_SMS сообщает модему, что SMS-сообщение уже дописано, после чего осуществляет его отправку.
Синтаксис
SMS.endSMS();
Параметры
SMS - объект класса GSM_SMS.
Возвращаемые значения
int - В асинхронном режиме функция endSMS() может возвращать следующие значения: 0 - если метод еще выполняется, 1 - если метод успешно выполнен и >1 - в случае ошибки. В синхронном режиме функция возвращает 1 при успешном выполнении, 0 - в случае ошибки.
Пример
// подключаем библиотеку
#include <GSM.h>
// PIN-код. Если на вашей SIM-карте установлен PIN-код - укажите его
#define PINNUMBER ""
// объявляем экземпляр класса
GSM gsmAccess; // для включения режима отладки добавьте параметр 'true'
GSM_SMS sms;
void setup()
{
// инициализируем последовательный интерфейс передачи данных
Serial.begin(9600);
Serial.println("SMS Messages Sender");
// состояние соединения
boolean notConnected = true;
// запускаем GSM-плату расширения
// если на вашей SIM-карте установлен PIN-код - укажите его в качестве параметра функции begin()
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]; // телефонный номер, на который будет отправлено SMS-сообщение
readSerial(remoteNumber);
Serial.println(remoteNumber);
// текст SMS
Serial.print("Now, enter SMS content: ");
char txtMsg[200];
readSerial(txtMsg);
Serial.println("SENDING");
Serial.println();
Serial.println("Message:");
Serial.println(txtMsg);
// отправляем сообщение
sms.beginSMS(remoteNumber);
sms.print(txtMsg);
sms.endSMS();
Serial.println("\nCOMPLETE!\n");
}
/*
функция, считывающая данные, поступающие по последовательному интерфейсу
*/
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++;
}
}
}
}
Смотрите также:
Конструктор GSM_SMS
beginSMS()
ready()
available()
remoteNumber()
read()
write()
print()
peek()
flush()
Библиотека GSM
Справочник
Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.
Источник: http://arduino.cc/en/Reference/GSMSMSEndSMS |