說明
向指定號碼發出語音調用。這些方法根據 GSM 連接模式(同步或異步)返回不同的信息。詳情見下文。
用法
voice.voiceCall(number)
參數
數字:字符數組。要調用的號碼。
返回
int 在異步模式下,voiceCall() 如果最後一條命令仍在執行,則返回 0,如果成功則返回 1,如果出錯則返回 >1。在同步模式下,如果調用,則返回 1,否則返回 0。
示例
#include <MKRGSM.h>
// PIN Number
#define PINNUMBER ""
// initialize the library instance
GSM gsmAccess; // include a 'true' parameter for debug enabled
GSMVoiceCall vcs;
String remoteNumber = ""; // the number you will call
char charbuffer[20];
void setup()
{
// initialize serial communications
Serial.begin(9600);
Serial.println("Make Voice Call");
// connection state
boolean notConnected = true;
// Start GSM shield
// If your SIM has PIN, pass it as a parameter of begin() in quotes
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()
{
// add any incoming characters to the String:
while (Serial.available() > 0)
{
char inChar = Serial.read();
// if it's a newline, that means you should make the call:
if (inChar == '\n')
{
// make sure the phone number is not too long:
if (remoteNumber.length() < 20)
{
// let the user know you're calling:
Serial.print("Calling to : ");
Serial.println(remoteNumber);
Serial.println();
// Call the remote number
remoteNumber.toCharArray(charbuffer, 20);
// Check if the receiving end has picked up the call
if(vcs.voiceCall(charbuffer))
{
Serial.println("Call Established. Enter line to end");
// Wait for some input from the line
while(Serial.read() !='\n' && (vcs.getvoiceCallStatus()==TALKING));
// And hang up
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
{
// add the latest character to the message to send:
if(inChar!='\r')
remoteNumber += inChar;
}
}
}
相關用法
- Arduino MKRGSM - voice.answerCall()用法及代碼示例
- Arduino MKRGSM - voice.hangCall()用法及代碼示例
- Arduino MKRGSM - voice.retrieveCallingNumber()用法及代碼示例
- Arduino MKRGSM - voice.getVoiceCallStatus()用法及代碼示例
- Arduino MKRGSM - gprs.attachGPRS()用法及代碼示例
- Arduino MKRGSM - sms.read()用法及代碼示例
- Arduino MKRGSM - sms.print()用法及代碼示例
- Arduino MKRGSM - client.connected()用法及代碼示例
- Arduino MKRGSM - sms.write()用法及代碼示例
- Arduino MKRGSM - gsm.shutdown()用法及代碼示例
- Arduino MKRGSM - modem.getIMEI()用法及代碼示例
- Arduino MKRGSM - sms.available()用法及代碼示例
- Arduino MKRGSM - client.available()用法及代碼示例
- Arduino MKRGSM - client.stop()用法及代碼示例
- Arduino MKRGSM - GSM構造函數用法及代碼示例
- Arduino MKRGSM - gsm.begin()用法及代碼示例
- Arduino MKRGSM - sms.endSMS()用法及代碼示例
- Arduino MKRGSM - grps.ping()用法及代碼示例
- Arduino MKRGSM - sms.peek()用法及代碼示例
- Arduino MKRGSM - sms.beginSMS()用法及代碼示例
- Arduino MKRGSM - client.connect()用法及代碼示例
- Arduino MKRGSM - client.read()用法及代碼示例
- Arduino MKRGSM - sms.flush()用法及代碼示例
- Arduino MKRGSM - sms.remoteNumber()用法及代碼示例
- Arduino MKRNB - getCurrentCarrier()用法及代碼示例
注:本文由純淨天空篩選整理自arduino.cc大神的英文原創作品 MKRGSM - voice.voiceCall()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。