Arduino:Библиотеки/GSM/Класс GSMVoiceCall/voiceCall()
Материал из Онлайн справочника
Содержание | Знакомство с Arduino | Продукты | Основы | Справочник языка Arduino | Примеры | Библиотеки | Хакинг | Изменения | Сравнение языков Arduino и Processing |
Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.
Функция voiceCall()[1]
Делает голосовой звонок по указанному номеру. Возвращаемые данные отличаются в зависимости от режима GSM-соединения (он может быть синхронным и асинхронным). Подробнее читайте ниже.
Синтаксис
voice.voiceCall()
Параметры
number – массив символов. Номер, на который будет совершен звонок
Что возвращает
В асинхронном режиме: если последняя команда еще выполняется – «0», если успешно выполнена – «1», если ошибка – меньше «1».
В синхронном режиме: если связь установлена – «1», если нет – «0». Тип данных – int.
Пример
#include <GSM.h>
// PIN-код:
#define PINNUMBER ""
// инициализируем экземпляр библиотеки:
GSM gsmAccess; // чтобы включить режим отладки, в скобочках нужно поставить параметр «true»
GSMVoiceCall vcs;
String remoteNumber = ""; // номер, на который будем звонить
char charbuffer[20];
void setup()
{
// инициализируем последовательную коммуникацию:
Serial.begin(9600);
Serial.println("Make Voice Call"); // "Голосовой звонок на другой номер"
// состояние соединения:
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("Enter phone number to call."); // "Введите номер для звонка."
}
void loop()
{
// добавляем все входящие символы в строку:
while (Serial.available() > 0)
{
char inChar = Serial.read();
// если встретили символ новой строки, это значит, что пора делать звонок:
if (inChar == '\n')
{
// убеждаемся, что номер не слишком длинный:
if (remoteNumber.length() < 20)
{
// информируем пользователя о факте звонка:
Serial.print("Calling to : "); // "Звонок на : "
Serial.println(remoteNumber);
Serial.println();
// звоним по номеру:
remoteNumber.toCharArray(charbuffer, 20);
// проверяем, взяли ли на том конце трубку:
if(vcs.voiceCall(charbuffer))
{
Serial.println("Call Established. Enter line to end"); // "Связь установлена. Введите Enter, чтобы завершить звонок"
// ждем, не нажмет ли пользователь Enter:
while(Serial.read() !='\n' && (vcs.getvoiceCallStatus()==TALKING));
// и кладем трубку:
vcs.hangCall();
}
Serial.println("Call Finished"); // "Звонок завершен"
remoteNumber="";
Serial.println("Enter phone number to call."); // "Введите номер для звонка"
}
else
{
Serial.println("That's too long for a phone number. I'm forgetting it"); // "Слишком длинный номер. Я такой не запомню"
remoteNumber = "";
}
}
else
{
// добавляем последний символ к отправляемому сообщению:
if(inChar!='\r')
remoteNumber += inChar;
}
}
}
См.также
- getVoiceCallStatus()
- ready()
- voiceCall()
- answerCall()
- hangCall()
- retrieveCallingNumber()
Внешние ссылки
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