有什么方法可以使用Arduino和gsm模块一次响起多个电话号码吗?我在互联网上到处检查,没有发现任何有用的东西。我需要一次响起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);
}
任何帮助将是非常感激的。谢谢你的帮助
不,你不能用arduino。
由于Arduino的特性,你无法真正写出并发执行的异步代码,所以你唯一的救命稻草,要么是你的GSM模块有一个内置的AT命令来表达;要么是把几个GSM模块连接到arduino上,然后把AT命令留给每个模块。不过那还是会一个接一个,并不是真正的同时进行。
另一种解决方案是实际发送一个信号到某种远程服务器上,让服务器通过VoIP同时执行几个呼叫任务