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

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

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

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

Функции:

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

Идентифицирует телефонный номер, на который нужно отправить SMS-сообщение.

Синтаксис

SMS.beginSMS(number)

Параметры

number  телефонный номер, на который нужно отправить SMS (массив символов)

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

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

Пример

 1 #include <GSM.h>
 2 
 3 #define PINNUMBER ""
 4 
 5 // инициализируем экземпляр библиотеки:
 6 GSM gsmAccess; // чтобы включить режим отладки, в скобочках нужно поставить параметр «true»
 7 GSM_SMS sms;
 8 
 9 void setup()
10 {
11   // инициализируем последовательную коммуникацию:
12   Serial.begin(9600);
13 
14   Serial.println("SMS Messages Sender");  //  "Отправщик SMS-сообщений"
15 
16   // состояние соединения:
17   boolean notConnected = true;
18 
19   // запускаем GSM-модуль; если у SIM-карты есть PIN-код,
20   // вписываем его в скобочки функции begin():
21   while(notConnected)
22   {
23     if(gsmAccess.begin(PINNUMBER)==GSM_READY)
24       notConnected = false;
25     else
26     {
27       Serial.println("Not connected");  //  "Соединение не удалось"
28       delay(1000);
29     }
30   }
31 
32   Serial.println("GSM initialized");  //  "GSM инициализирован"
33 }
34 
35 void loop()
36 {
37 
38   Serial.print("Enter a mobile number: ");  //  "Введите телефонный номер: "
39   char remoteNumber[20];  // телефонный номер, на который нужно отправить SMS
40   readSerial(remoteNumber);
41   Serial.println(remoteNumber);
42 
43   // текст SMS:
44   Serial.print("Now, enter SMS content: ");  //  "Теперь введите текст SMS: "
45   char txtMsg[200];
46   readSerial(txtMsg);
47   Serial.println("SENDING");  //  "ОТПРАВКА"
48   Serial.println();
49   Serial.println("Message:");  //  "Сообщение:"
50   Serial.println(txtMsg);
51 
52   // отправляем сообщение:
53   sms.beginSMS(remoteNumber);
54   sms.print(txtMsg);
55   sms.endSMS(); 
56   Serial.println("\nCOMPLETE!\n");  //  "\nГОТОВО!\n"
57 }
58 
59 /*
60   считываем данные, пришедшие через последовательную коммуникацию
61  */
62 int readSerial(char result[])
63 {
64   int i = 0;
65   while(1)
66   {
67     while (Serial.available() > 0)
68     {
69       char inChar = Serial.read();
70       if (inChar == '\n')
71       {
72         result[i] = '\0';
73         Serial.flush();
74         return 0;
75       }
76       if(inChar!='\r')
77       {
78         result[i] = inChar;
79         i++;
80       }
81     }
82   }
83 }

См.также

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

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