有什么方法可以用arduino和gsm模块一次响起多个电话号码?

问题描述 投票:0回答:1

有什么方法可以使用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 call gsm at-command
1个回答
0
投票

TL; DR

不,你不能用arduino。

解释

由于Arduino的特性,你无法真正写出并发执行的异步代码,所以你唯一的救命稻草,要么是你的GSM模块有一个内置的AT命令来表达;要么是把几个GSM模块连接到arduino上,然后把AT命令留给每个模块。不过那还是会一个接一个,并不是真正的同时进行。

另一种解决方案是实际发送一个信号到某种远程服务器上,让服务器通过VoIP同时执行几个呼叫任务

© www.soinside.com 2019 - 2024. All rights reserved.