有什么方法可以使用 arduino 和 gsm 模块一次拨打多个 phone 号码?
Is there any way to ring multiple phone number at once using arduino and gsm module?
有什么方法可以使用 Arduino 和 gsm 模块同时响铃多个 phone 号码吗?
我在互联网上到处查看,没有发现任何有用的东西。
我尝试使用下面的代码,但它只响起第一个号码。我需要同时拨打 3 个号码。稍后我将把它与另一个代码连接起来,并在传感器检测到某些东西时进行调用。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
Serial.println("Initializing...");
}
void loop()
{
if(Serial.available() > 0)
switch (Serial.read())
{
case 'c':
MakeCall1();
break;
case 'x':
HangCall();
break;
}
if (mySerial.available() > 0)
Serial.write(mySerial.read());
}
void MakeCall1()
{
mySerial.println("ATD +ZZxxxxxxxxx;");
Serial.println("Calling 1");
delay(1000);
mySerial.println("ATD +ZZxxxxxxxxx;");
Serial.println("Calling 2");
delay(1000);
mySerial.println("ATD +ZZxxxxxxxxx;");
Serial.println("Calling 3");
delay(1000);
delay(1000);
}
void HangCall()
{
mySerial.println("ATH; ");
delay(1000);
Serial.println("Cut call ");
delay(1000);
}
如有任何帮助,我们将不胜感激。谢谢
TL;博士
不,你不能用 arduino。
说明
由于 Arduino 的性质,您无法真正编写并发执行的异步代码,因此您唯一的救命稻草是您的 GSM 模块具有用于表达这样做的内置 AT 命令;或者将几个 GSM 模块连接到 arduino 并将 AT 命令留给每个模块。仍然是一个接一个,而不是真正的同时。
另一种解决方案是实际向某种远程服务器发送信号,并让服务器通过 VoIP 同时执行多个呼叫
有什么方法可以使用 Arduino 和 gsm 模块同时响铃多个 phone 号码吗? 我在互联网上到处查看,没有发现任何有用的东西。 我尝试使用下面的代码,但它只响起第一个号码。我需要同时拨打 3 个号码。稍后我将把它与另一个代码连接起来,并在传感器检测到某些东西时进行调用。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);
void setup()
{
mySerial.begin(9600);
Serial.begin(9600);
Serial.println("Initializing...");
}
void loop()
{
if(Serial.available() > 0)
switch (Serial.read())
{
case 'c':
MakeCall1();
break;
case 'x':
HangCall();
break;
}
if (mySerial.available() > 0)
Serial.write(mySerial.read());
}
void MakeCall1()
{
mySerial.println("ATD +ZZxxxxxxxxx;");
Serial.println("Calling 1");
delay(1000);
mySerial.println("ATD +ZZxxxxxxxxx;");
Serial.println("Calling 2");
delay(1000);
mySerial.println("ATD +ZZxxxxxxxxx;");
Serial.println("Calling 3");
delay(1000);
delay(1000);
}
void HangCall()
{
mySerial.println("ATH; ");
delay(1000);
Serial.println("Cut call ");
delay(1000);
}
如有任何帮助,我们将不胜感激。谢谢
TL;博士
不,你不能用 arduino。
说明
由于 Arduino 的性质,您无法真正编写并发执行的异步代码,因此您唯一的救命稻草是您的 GSM 模块具有用于表达这样做的内置 AT 命令;或者将几个 GSM 模块连接到 arduino 并将 AT 命令留给每个模块。仍然是一个接一个,而不是真正的同时。
另一种解决方案是实际向某种远程服务器发送信号,并让服务器通过 VoIP 同时执行多个呼叫