beginSMS()
Описание
Инициализирует телефонный номер, на который будет отправлено SMS-сообщение.
Синтаксис
SMS.beginSMS(number)
Параметры
number: массив символов, содержащий телефонный номер получателя SMS-сообщения
Возвращаемые значения
int
В асинхронном режиме метод beginSMS() может возвращать следующие значения:
- 0 - если последняя вызванная команда еще выполняется,
- 1 - если последняя команда успешно выполнена
- >1 - в случае ошибки.
В синхронном режиме функция возвращает 1 при успешном выполнении, 0 - в случае ошибки.
Пример
#include <GSM.h> #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++; } } } };