如何检查SIM800L for Arduino上的呼叫是否处于活动状态?

TicJit

gprsTest.isCallActive(PHONE_NUMBER)即使手机正在响铃,也始终返回0。Acording到GPRS_Shield_Arduino.cpp从这个返回0就绪,2未知,3振铃,4对正在进行的呼叫。我究竟做错了什么?AT commnads在这里

#include <GPRS_Shield_Arduino.h>
#include <SoftwareSerial.h>
#include <Wire.h>


#define PIN_TX    7
#define PIN_RX    8
#define BAUDRATE  9600
#define PHONE_NUMBER "003xxxxxxxxxx"
#define MESSAGE  "Temp is high"

GPRS gprsTest(PIN_TX, PIN_RX, BAUDRATE); //RX,TX,BaudRate

void setup() {
  Serial.begin(9600);

  // code 

}

void loop() {

// ..code..


  if (temp>35) {
    call_number();
  }

// ..code..

}

void call_number() {
  Serial.println(gprsTest.isCallActive(PHONE_NUMBER));// return 0 that is ok
  Serial.println("Start to call...");
  gprsTest.callUp(PHONE_NUMBER); // It calls and phone is ringing 
  delay(4000);
  Serial.println(gprsTest.isCallActive(PHONE_NUMBER)); // It return again 0 when phone is ringing

}

编辑1:在Ouss4回答后,他说gprsTest.isCallActive(PHONE_NUMBER)返回0或1。如何修改该库或构建自己的函数以检查调用是否处于活动状态(正在响铃)?

编辑2:我更改为

char number[15] = "00306912345678";
char numberToCallActive[15] = "00306912345678";
...
setup(){
...

...
}
void call_number(){
  Serial.println(F("Before call"));
  Serial.println(gprsTest.isCallActive(numberToCallActive)); // return 0 , I uncomment Serial.print on cpp to print gprsBuffer
  Serial.println(F("start to call ... "));
  gprsTest.callUp(number);
  Serial.println(F("SUCCESS"));
  Serial.println(F("When phone is ringing"));
  Serial.println(gprsTest.isCallActive(numberToCallActive)); return 0 , I uncomment Serial.print on cpp to print gprsBuffer
  Serial.println(F("Again when phone is ringing"));
  Serial.println(gprsTest.isCallActive(numberToCallActive));return 0 , I uncomment Serial.print on cpp to print gprsBuffer
  Serial.print("\n");
}

输出:

    Before call
    Buffer isCallActive 1: AT+CPAS
    +CPAS: 0

    OK

    0
    start to call ... 
    SUCCESS
    When phone is ringing
    Buffer isCallActive 1: ATD00306912345678;
    AT+CPAS

    0
    Again when phone is ringing
    Buffer isCallActive 1: 
    0
乌斯4

好吧,如果您看一下该isCallActive()函数的代码,就会发现它返回的是布尔值(0或1)而不是2、3、4。

根据呼叫状态,实际上返回这些数字的是AT命令AT+CPAS而且库并未考虑的所有返回值AT+CPAS

isCallActive()1如果已振铃,则返回,将返回

您可以自己编写并解析返回值。


仔细阅读代码后,我发现我实际上误认为函数的返回。我编辑了答案,1如果电话响了,该功能应该返回

但是,您在如何调用该函数方面遇到了严重的问题。

该函数也会尝试获取该数字并将其存储在send(isCallActive(char *number)的参数中,但是您正在发送字符串文字,然后该函数尝试对其进行修改,然后尝试修改字符串文字会导致未定义的行为

这时候,你叫什么发生isCallActivePHONE_NUMBER

尝试正确调用它。

那应该是这样的:

#define MAX_LEN_NUMBER 10 // or whatever the max number is.

....

char numberToCallActive[MAX_LEN_NUMBER] = "";

void setup()
{
  ....
}

void loop()
{
 ...
 isCallActive(numberToCallActive);
 ....
}

然后,您可以使用此变量来检查实际响铃的号码是否是您呼叫的号码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用于arduino的SIM800L模块有时不会调用或发送消息

来自分类Dev

如何检查状态栏上的功能是否处于活动状态?

来自分类Dev

检查窗口是否处于活动状态

来自分类Dev

检查通知是否处于活动状态

来自分类Dev

检查通知是否处于活动状态

来自分类Dev

检查工作资料是否通过ADB在Android上处于活动状态?

来自分类Dev

根据其IP地址检查网络上是否有其他设备处于活动状态

来自分类Dev

如何检查重复警报是否在Android中处于活动状态?

来自分类Dev

如何使用硒检查链接是否处于活动状态

来自分类Dev

如何检查与mongodb的连接是否处于活动状态?

来自分类Dev

如何检查webm icecast流是否处于活动状态?

来自分类Dev

如何使用硒检查链接是否处于活动状态

来自分类Dev

如何检查uicontextmenu是否可见或处于活动状态

来自分类Dev

如何不断检查线程是否处于活动状态

来自分类Dev

如何检查通知是否在android中处于活动状态

来自分类Dev

如何知道我的Linux机器上的VIA sftp连接是否处于活动状态

来自分类Dev

如何使用getNetworkInfo识别WiFi状态是否处于活动状态?

来自分类Dev

如何使用getNetworkInfo识别WiFi状态是否处于活动状态?

来自分类Dev

sim800L gprs发布要求

来自分类Dev

检查VPN连接在Android中是否处于活动状态?

来自分类Dev

使用Batch或PowerShell检查mouse \ keyboard是否处于活动状态

来自分类Dev

Ionic2-检查页面是否处于活动状态

来自分类Dev

检查Outlook邮件项目是否处于活动状态

来自分类Dev

MySQL约束检查是否存在并处于活动状态

来自分类Dev

RESTFUL->检查某个项目是否处于活动状态?

来自分类Dev

如何检测Gevent的猴子修补程序是否处于活动状态?

来自分类Dev

如何检测当前是否有任何元素处于活动状态?

来自分类Dev

我如何知道requestLocationUpdate是否处于活动状态?

来自分类Dev

木偶如何确定节点是否处于活动状态?(已更改)

Related 相关文章

  1. 1

    用于arduino的SIM800L模块有时不会调用或发送消息

  2. 2

    如何检查状态栏上的功能是否处于活动状态?

  3. 3

    检查窗口是否处于活动状态

  4. 4

    检查通知是否处于活动状态

  5. 5

    检查通知是否处于活动状态

  6. 6

    检查工作资料是否通过ADB在Android上处于活动状态?

  7. 7

    根据其IP地址检查网络上是否有其他设备处于活动状态

  8. 8

    如何检查重复警报是否在Android中处于活动状态?

  9. 9

    如何使用硒检查链接是否处于活动状态

  10. 10

    如何检查与mongodb的连接是否处于活动状态?

  11. 11

    如何检查webm icecast流是否处于活动状态?

  12. 12

    如何使用硒检查链接是否处于活动状态

  13. 13

    如何检查uicontextmenu是否可见或处于活动状态

  14. 14

    如何不断检查线程是否处于活动状态

  15. 15

    如何检查通知是否在android中处于活动状态

  16. 16

    如何知道我的Linux机器上的VIA sftp连接是否处于活动状态

  17. 17

    如何使用getNetworkInfo识别WiFi状态是否处于活动状态?

  18. 18

    如何使用getNetworkInfo识别WiFi状态是否处于活动状态?

  19. 19

    sim800L gprs发布要求

  20. 20

    检查VPN连接在Android中是否处于活动状态?

  21. 21

    使用Batch或PowerShell检查mouse \ keyboard是否处于活动状态

  22. 22

    Ionic2-检查页面是否处于活动状态

  23. 23

    检查Outlook邮件项目是否处于活动状态

  24. 24

    MySQL约束检查是否存在并处于活动状态

  25. 25

    RESTFUL->检查某个项目是否处于活动状态?

  26. 26

    如何检测Gevent的猴子修补程序是否处于活动状态?

  27. 27

    如何检测当前是否有任何元素处于活动状态?

  28. 28

    我如何知道requestLocationUpdate是否处于活动状态?

  29. 29

    木偶如何确定节点是否处于活动状态?(已更改)

热门标签

归档