Функція 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

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.