arduino - AT+CGATT?与 Arduino 连接时从 SIM800C 模块返回“ERROR”
问题描述
我已经使用 SoftwareSerial 库和串行接口在串行通信模式下在 SIM800C 和 Arduino 之间进行通信。
我给了
AT
AT+CSQ
AT+CGATT?
AT+SAPBR=3,1,"CONTYPE","GPRS"
等通过串行监视器。当我第一次使用它时,这些命令运行良好。但我将 sim 卡放回我的 Android 手机,以便为 2G 设置找到正确的 APN。找到APN设置后,我将sim放回SIM800C并尝试了上述命令。
AT and AT+CSQ
返回确定。但
AT+CGATT?, AT+SAPBR=3,1,"CONTYPE","GPRS" 返回错误。
然后我也尝试以下命令如果有人需要帮助我找到这个问题的答案。
我是初学者,所以我不需要这些命令的确切含义。所以如果你需要更多细节可以问我。
我的目的是将数据发送到网站。
AT+CREG?
+CREG: 0,0
OK
at+cgreg?
+CGREG: 0,0
OK
AT+CGATT?
ERROR
AT+COPS=?
+COPS: (1,"Hutchison Lanka (Pvt)","Hutch","41308"),(3,"Mobitel","MOBITEL","41301"),(2,"CELLTEL INFINITI","CELLTEL","41303"),(3,"DIALOG","DIALOG","41302"),,(0-4),(0-2)
解决方案
首先,您没有在网络中注册。其次,做 CGATT=1 如果你得到错误等待,因为附加可能需要一些时间。甚至长达 13.5 分钟。阅读 3GPP 文档关于注册到网络和关于 GPRS 附加过程的信息。
推荐阅读
- python - AWS Chalice 所需的 AWS IAM 策略
- ios - 在串行队列中同步异步任务
- java - 使用firebase auth,如何在不登录当前活动帐户的情况下创建帐户?
- javascript - 使用 Expresss JS 的错误处理程序中间件时应用程序崩溃
- angular - 使用 *ngFor 迭代时检查值是否存在 - Angular 10
- fluent-bit - 在输出中包含来自文件名(标签)的信息
- javascript - Javascript 总和和总和
- go-gorm - gorm v2:如何处理 v1 中的 gorm.Scope?
- javascript - 如何使用 javascript Map() 函数创建对象
- android - java.net.SocketTimeoutException:10000 毫秒后无法从 /192.168.2.5(端口 46198)连接到 /172.18.0.1(端口 8008)