Arduino:Библиотеки/GSM/Класс GSM SMS/endSMS()

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин (Cubewriter) Контакты:</br>* Skype: cubewriter</br>* E-mail: cubewriter@gmail.com</br>* Максим Кузьмин на freelance.ru
Проверка/Оформление/Редактирование: Мякишев Е.А.

Библиотека GSM
(Обсуждение Arduino:Библиотеки/GSM#disqus_thread)

Функции:

Функция endSMS()[1]

Сообщает модему, что SMS-сообщение готово и отправляет его.

Синтаксис

SMS.endSMS()

Параметры

Нет.

Что возвращает

В асинхронном режиме: если последняя команда еще выполняется  «0», если успешно выполнена  «1», если ошибка  меньше «1». В синхронном режиме: если последняя команда успешно выполнена  «1», если нет  «0». Тип данных  int.

Пример

#include <GSM.h>

#define PINNUMBER ""

// инициализируем экземпляр библиотеки:
GSM gsmAccess; // чтобы включить режим отладки, в скобочках нужно поставить параметр «true»
GSM_SMS sms;

void setup()
{
  // инициализируем последовательную коммуникацию:
  Serial.begin(9600);

  Serial.println("SMS Messages Sender");  //  "Отправщик SMS-сообщений"

  // состояние соединения:
  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");  //  "GSM инициализирован"
}

void loop()
{

  Serial.print("Enter a mobile number: ");  //  "Введите телефонный номер: "
  char remoteNumber[20];   // телефонный номер, на который нужно отправить SMS
  readSerial(remoteNumber);
  Serial.println(remoteNumber);

  // sms text
  Serial.print("Now, enter SMS content: ");  //  "Теперь введите текст SMS: "
  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");  //  "\nГОТОВО!\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++;
      }
    }
  }
}

См.также

  1. beginSMS()
  2. ready()
  3. endSMS()
  4. available()
  5. remoteNumber()
  6. read()
  7. write()
  8. print()
  9. peek()
  10. flush()

Внешние ссылки