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

AVR & ARDUINO




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

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

Метод GSMVoiceCall voiceCall()

Описание

Метод объекта GSMVoiceCall совершает голосовой звонок на указанный номер. Метод возвращает разные значения, в зависимости от установленного режима GSM-подключения (синхронного или асинхронного).

Синтаксис

voice.voiceCall(number);

Параметры

voice - объект класса GSMVoiceCall.

number - массив символов, являющийся набираемым номером.

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

int - В асинхронном режиме функция voiceCall() может возвращать следующие значения: 0 - если последняя вызванная команда еще выполняется, 1 - если последняя команда успешно выполнена и >1 - в случае ошибки. В синхронном режиме функция возвращает 1 при успешном вызове, 0 - в случае ошибки.

Пример

// подключаем библиотеку
#include <GSM.h>

// PIN-код. Если на вашей SIM-карте установлен 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.");
 Serial.println("Enter phone number to call.");
 
}
 
void loop()
{
 
 // добавляем все входящие символы в строку String:
 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");
 // ожидаем ввода каких-либо данных
 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;
 }
 }
}

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

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

getVoiceCallStatus()

ready()

answerCall()

hangCall()

retrieveCallingNumber()


Библиотека GSM

Справочник

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



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

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