Функція voiceCall()
Клас GSMVoiceCall
voiceCall()
Встановлює голосовий дзвінок на вказаний номер. Метод повертає різну інформацію залежно від режиму GSM-з'єднання (синхронний або асинхронний). Детальніше нижче.
Синтаксис
voice.voiceCall(номер)Параметри
номер: масив символів. Номер, на який дзвонити.Повертає
intВ асинхронному режимі voiceCall() повертає 0, якщо остання команда досі виконується, 1, якщо успішно, >1 у разі помилки. У синхронному режимі повертає 1, якщо встановлено виклик, 0, якщо ні.
Приклад
#include <GSM.h>
// PIN-номер
#define PINNUMBER ""
// ініціалізувати приклад бібліотеки
GSM gsmAccess; // включити параметр істини для активації налагодження
GSMVoiceCall vcs;
String remoteNumber = ""; // номер, на який Ви дзвонитимете
char charbuffer[20];
void setup()
{
// ініціалізувати послідовні зв’язки
Serial.begin(9600);
Serial.println("Здійснити голосовий виклик");
// стан підключення
boolean notConnected = true;
// Розпочати роботу GSM-шилда
// Якщо SIM має PIN, передайте його як параметр begin () у лапках
while(notConnected)
{
if(gsmAccess.begin(PINNUMBER)==GSM_READY)
notConnected = false;
else
{
Serial.println("Не підключено");
delay(1000);
}
}
Serial.println("GSM ініціалізовано");
Serial.println("Ввести телефонний номер для виклику");
}
void loop()
{
// додати будь-які вхідні символи до String:
while (Serial.available() > 0)
{
char inChar = Serial.read();
// новий рядок означає, що потрібно здійснити дзвінок:
if (inChar == '\n')
{
// переконайтеся, що телефонний номер не задовгий:
if (remoteNumber.length() < 20)
{
// дозвольте користувачу дізнатися, до кого Ви дзвоните:
Serial.print("Виклик до: ");
Serial.println(remoteNumber);
Serial.println();
// Виклик віддаленого номера
remoteNumber.toCharArray(charbuffer, 20);
// Перевірити, чи на іншому кінці підняли слухавку
if(vcs.voiceCall(charbuffer))
{
Serial.println("Виклик здійснено. Введіть рядок, щоб закінчити");
// Почекайте на ввід з лінії
while(Serial.read() !='\n' && (vcs.getvoiceCallStatus()==TALKING));
// Та повісьте
vcs.hangCall();
}
Serial.println("Дзвінок закінчено");
remoteNumber="";
Serial.println("Ввести номер для виклику.");
}
else
{
Serial.println("Задовге для телефонного номера");
remoteNumber = "";
}
}
else
{
// додати останній символ до повідомлення для відправки:
if(inChar!='\r')
remoteNumber += inChar;
}
}
} Повернутись до головної

Коментарі 0