Приветствую Вас ГостьСреда, 08.01.2025, 12:12

AVR & ARDUINO




Каталог статей

Главная » Статьи » Справочник

Метод GSM_SMS peek()

Описание

Метод объекта GSM_SMS считывает из текста входящего SMS-сообщения байт данных (символ). При этом считываемый байт не удаляется, поэтому при многократном вызове peek(), функция будет возвращать один и тот же символ. Метод peek() является наследником вспомогательного класса Stream.

Синтаксис

SMS.peek();

Параметры

SMS - объект класса GSM_SMS.

Возвращаемые значения

int - первый байт входящего SMS-сообщения (или -1, если такового нет).

Пример

/*
Получение SMS
 
 Программа для платы расширения Arduino GSM.
 После запуска ожидает поступления SMS-сообщений
 и выводит текст входящего сообщения через последовательный порт.
 
 Схема:
 * GSM-плата расширения
 
 создано 25 Февраоя 2012
 автор: Javier Zorzano / TD
 
 Данный пример находится в свободном доступе.
*/
// подключаем библиотеку
#include <GSM.h>

// PIN-код. Если на вашей SIM-карте установлен PIN-код - укажите его
#define PINNUMBER ""

// объявляем экземпляр класса
GSM gsmAccess; // для включения режима отладки добавьте параметр 'true'
GSM_SMS sms;
 
char remoteNumber[20]; // буфер для хранения входящего номера телефона
 
void setup()
{
 // инициализируем последовательный интерфейс передачи данных
 Serial.begin(9600);
 
 Serial.println("SMS Messages Receiver");
 
 // состояние соединения
 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");
 Serial.println("Waiting for messages");
}
 
void loop()
{
 char c;
 
 // если есть непрочитанные SMS 
 if (sms.available())
 {
 Serial.println("Message received from:");
 
 // получаем входящий номер телефона
 sms.remoteNumber(remoteNumber, 20);
 Serial.println(remoteNumber);
 
 // Ниже просто показан пример удаления сообщений:
 // Сообщения, начинающиеся с символа "#", необходимо игнорировать
 if(sms.peek()=='#')
 {
 Serial.println("Discarded SMS");
 sms.flush();
 }
 
 // побайтово считываем и выводим текст сообщения
 while(c=sms.read())
 Serial.print(c);
 
 Serial.println("\nEND OF MESSAGE");
 
 // удаляем сообщение из памяти модема
 sms.flush();
 Serial.println("MESSAGE DELETED");
 }
 
 delay(1000);
 
}

Смотрите также:

Конструктор GSM_SMS

beginSMS()

ready()

endSMS()

available()

remoteNumber()

read()

write()

print()

flush()


Библиотека GSM

Справочник

Материалы взяты с официального сайта проекта Arduino и представлены по лицензии Creative Commons Attribution-ShareAlike 3.0 License.



Источник: http://arduino.cc/en/Reference/GSMSMSPeek
Категория: Справочник | Добавил: magi (02.03.2015)
Просмотров: 761 | Теги: библиотека, GPRS, sms, gsm, arduino | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Поиск
Вход на сайт
На правах рекламы

Мы переезжаем на сайт Arduino по-русски