peek()
Описание
Считывает из текста входящего SMS-сообщения байт данных (символ). При этом считываемый байт не удаляется, поэтому при многократном вызове peek(), функция будет возвращать один и тот же символ. Функция peek() является наследником вспомогательного класса Stream.
Синтаксис
SMS.peek()
Параметры
нет
Возвращаемые значения
int - первый байт входящего SMS-сообщения (или -1, если такового нет)
Пример
/* Получение SMS Программа для платы расширения Arduino GSM. После запуска ожидает поступления SMS-сообщений и выводит текст входящего сообщения через последовательный порт. Схема: * GSM-плата расширения создано 25 Февраоя 2012 автор: Javier Zorzano / TD Данный пример находится в свободном доступе. */ // библиотеки #include <GSM.h> // 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); }