Arduino:Библиотеки/GSM/Класс GSM SMS/peek(): различия между версиями
Материал из Онлайн справочника
Нет описания правки |
Нет описания правки |
||
Строка 135: | Строка 135: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Портал/Arduino}} | |||
Текущая версия от 12:22, 8 июля 2023
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция peek()[1]
Возвращает следующий байт (символ) из входящего SMS, не удаляя его из сообщения. Другими словами, успешный вызов функции SMS.peek() вернет тот же символ, что и следующий вызов функции SMS.read(). Функция SMS.peek() наследует у класса Stream.
Синтаксис
SMS.peek()
Параметры
Нет.
Что возвращает
Первый байт, доступный в SMS-сообщении или «-1», если нет данных, доступных для считывания.
Пример
/*
Получатель SMS-сообщений
Это скетч для GSM-модуля Arduino.
Он считывает входящие 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"); // "Получатель 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 инициализирован"
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);
// это пример того, как можно отклонить пришедшее SMS;
// в данном случае будут отклонены все SMS, начинающиеся с «#»:
if(sms.peek()=='#')
{
Serial.println("Discarded SMS"); // "Сообщение отклонено"
sms.flush();
}
// считываем байты сообщения и выводим их на монитор порта:
while(c=sms.read())
Serial.print(c);
Serial.println("\nEND OF MESSAGE"); // "\nКОНЕЦ СООБЩЕНИЯ"
// удаляем сообщение из памяти модема:
sms.flush();
Serial.println("MESSAGE DELETED"); // "СООБЩЕНИЕ УДАЛЕНО"
}
delay(1000);
}
См.также
- beginSMS()
- ready()
- endSMS()
- available()
- remoteNumber()
- read()
- write()
- print()
- peek()
- flush()
Внешние ссылки
Arduino продукты | |
---|---|
Начальный уровень | Arduino Uno • Arduino Leonardo • Arduino 101 • Arduino Robot • Arduino Esplora • Arduino Micro • Arduino Nano • Arduino Mini • Arduino Starter Kit • Arduino Basic Kit • MKR2UNO • TFT-дисплей Arduino |
Продвинутые функции | Arduino Mega 2560 • Arduino Zero • Arduino Due • Arduino Mega ADK • Arduino Pro • Arduino Motor Shield • Arduino USB Host Shield • Arduino Proto Shield • MKR Proto Shield • MKR Proto Large Shield • Arduino ISP • Arduino USB 2 Serial Micro • Arduino Mini USB Serial Adapter |
Интернет вещей | Arduino Yun • Arduino Ethernet • Arduino MKR1000 • Arduino WiFi 101 Shield • Arduino GSM Shield V2 • Arduino WiFi Shield • Arduino Wireless SD Shield • Arduino Wireless Proto Shield • Arduino Ethernet Shield V2 • Arduino Yun Shield • Arduino MKR1000 Bundle |
Носимые устройства | Arduino Gemma • Lilypad Arduino Simple • Lilypad Arduino Main Board • Lilypad Arduino USB • LilyPad Arduino SimpleSnap |
3D-печать | Arduino Materia 101 |
Устаревшие устройства | - |
Примеры Arduino | |
---|---|
Стандартные функции | |
Основы |
|
Цифровой сигнал |
|
Аналоговый сигнал |
|
Связь |
|
Управляющие структуры |
|
Датчики |
|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
Строки |
|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
Клавиатура |
|
Мышь |
|
Разное |
Категории:
- Страницы, использующие повторяющиеся аргументы в вызовах шаблонов
- Справочник языка Arduino
- Arduino
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Стандартные библиотеки
- Стандартная библиотека
- Стандартная библиотека Arduino
- Стандартные библиотеки Arduino