首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sim800l:如何可靠地了解网络状态

Sim800l:如何可靠地了解网络状态
EN

Stack Overflow用户
提问于 2020-03-22 16:38:16
回答 1查看 1.1K关注 0票数 0

在Sim800L AT-命令指南中,有许多不同的状态命令,这应该说明,状态是什么。

例如:

代码语言:javascript
复制
AT+CPAS - check if device is ready
AT+CGREG? - check registration status in network
AT+CGATT? - check if device "attached to network"
AT+CSQ - get signal level

但是,在某些情况下,对这些命令的回答可能是“错误”,或者根本没有答案。

我需要一个可靠和快速的方法来知道设备连接到网络,或者它已经在GPRS模式,现在我开始使用闪烁发光二极管在Sim800L上,以检测它的状态。

LED有三个闪烁频率:

  1. 快速闪烁- GPRS连接是活动的
  2. 闪烁的中速连接还没有建立起
  3. 慢闪设备连接到网络(而不是GPRS)

我可以用光电二极管和LED的“读”键,或者我可以把LED的电源引脚连接到Arduino的模拟引脚上,读取它的电压。接下来,我可以数一数LED闪烁的速度,并确定Sim800L在哪一种状态。

但是,在不使用这样的拐杖的情况下,我怎样才能获得这样的可靠性呢?

EN

回答 1

Stack Overflow用户

发布于 2020-03-22 20:46:59

给定快速的1秒,您可以发送一个AT命令,例如5次,并接受3个非错误响应作为一个有效的结果。见伪码

代码语言:javascript
复制
uint8_t  errorCount = 0;
for (uint8_t i=0;i<5;i++){
 .... send AT command ... 
if (response == "error")  errorCount++;
if (errorCount >=3) errorHandling();
}
 ... process successful AT command ...

或者你的HW方法用LED到模拟引脚

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60801996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档