A7 GSM/GPRS/GPS 模块 AT+CIPSTART 命令的问题

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

我有两块板AiThinker A7和A9G GSM/GPRS/GPS模块。我在两块板上使用相同的 SIM 卡来将数据发送到 TCP 服务器。在A7模块上工作正常,在A9G模块上出错。 日志如下:

适用于AiThinker A7板

AT
OK
AT+GPS=1
OK
AT+COPS=0
OK
AT+CGATT=1
+CTZV:21/02/11,03:10:47,+01
OK
AT+CSTT="pinternet.interkom.de","",""
OK
AT+CIICR 
OK
AT+CIPSTART="TCP","0.tcp.ngrok.io",16939
CONNECT OK
OK
AT+CIPSEND=138,"{ scooterId: 'C45ZA1', pm25: 234, pm10: 110 }"
OK
+CIPRCV:160,127.0.0.1:49915 said { scooterId: 'C45ZA1', pm25: 234, pm10: 110 }

适用于A9G板

AT+GPS=1
OK
AT+COPS=0
OK
AT+CREG?
+CREG: 1,5
OK
AT+CGACT?
+CGACT: 0,0
OK
AT+CGACT=1
OK
AT+CGATT=1
+CGATT:1
OK
AT+CGACT?
+CGACT: 0,0
OK
AT+CSTT="pinternet.interkom.de","",""
OK
AT+CIICR
OK
AT+CIPSTART="TCP","0.tcp.ngrok.io",16939
+CME ERROR: 50

+CME ERROR: 50
表示 EXE_FAIL。请帮帮我。我不明白。我尝试了很多。

这是发送的另一组命令,用于了解发生了什么情况。

A7(工作):

AT+CGACT?
+CGACT: 0,0
OK
AT+CGACT=1
OK
AT+CGACT?
+CGACT: 0,0
AT+CGDCONT?
+CGDCONT:1,,"pinternet.interkom.de",,0,0
OK

对于A9G(不起作用)

AT+CGATT=1
+CGATT:1
OK
AT+CGACT?
+CGACT: 0,0
OK
AT+CGACT=1
OK
AT+CGACT?
+CGACT: 0,0
OK
AT+CGACT=1,1
OK
AT+CGACT?
+CGACT: 1,1
OK
AT+CGDCONT?
+CGDCONT:1,,,"10.163.72.91",0,0
OK
AT+CGDCONT=1,"","pinternet.interkom.de","",0,0 
+CME ERROR: 3

(错误 3 => OPERATION_NOT_ALLOWED)

arduino at-command gprs
3个回答
1
投票

TL;博士

您需要使用命令正确设置APN名称

AT+CGDCONT=1,"IP","pinternet.interkom.de"

说明

为了到达分组网络,蜂窝设备需要启用 PDP 上下文,这是通过连接到由特定 APN(接入点名称)标识的接入点来完成的。

在后面的比较测试中,可以清楚地看出工作模块中的APN如何正确设置为

"pinternet.interkom.de"
,而在A9G设备中似乎被设置为私有IP地址。如果没有有效的 APN,设备将无法访问网络。

您后来尝试使用

+CGDCONT
命令设置它,但您使用了错误的语法。正确的语法是,如规范中所述,是

AT+CGDCONT=[<cid>[,<PDP_type>[,<APN>[,<PDP_addr>[,<d_comp>[,<h_comp>[,<IPv4AddrAlloc>,<request_type>[,<PCSCF_discovery>[,<IM_CN_Signalling_Flag_Ind>[,<NSLPI>[,<securePCO>]]]]]]]]]]]]

您不需要大多数可选参数。你只需要

AT+CGDCONT=<cid>,<PDP_type>,<APN>

所以基本上你错过了

<PDP_type>
参数。根据您所在网络的功能,可以将其设置为值
"IP"
"IPV6"
IPV4V6
等。根据您的需要,您需要将其设置为
"IP"


1
投票

https://docs.ai-thinker.com/en/gprs/examples帮助了我。有效的确切顺序是:

Init...

+CIEV: "Charging",100%


+CREG: 2

^STN: 37
+CTZV:21/02/13,02:51:53,+01

+CREG: 1

A9/A9G
V02.02.20190915R
Ai_Thinker_Co._Ltd.
READY
+CIEV: "Complete the Charge",100%

AT

OK
AT+CGATT=1

+CGATT:1

OK
AT+CGDCONT=1,"IP","pinternet.interkom.de"

OK
AT+CGACT=1,1

OK
AT+CIPSTART="TCP","0.tcp.ngrok.io",12279
CONNECT OK

OK

+CIPRCV,39:SSH-2.0-OpenSSH_7.4p1 Debian-10+deb9u6

CLOSED

OK
AT+CIPSTART="TCP","0.tcp.ngrok.io",12973
CONNECT OK

OK
AT+CIPSEND=138,"{ scooterId: 'C45ZA1', pm25: 234, pm10: 110 }"

OK

在向 TCP 发送数据时省略以下命令即可。从序列中排除的命令是:

AT+CSTT="pinternet.interkom.de","",""
OK
AT+CIICR
OK

0
投票

我输入了这些 AT 命令来激活 AGPS 我遇到了这个错误号 50 请也帮助我

初始化... +CIEV:“正在充电”,94% +CREG:2

+CREG:1

A9/A9G V02.02.20190915R 艾思客有限公司 准备好了

AT+CGATT=1 +CGATT:1 好的

AT+CGDCONT=1,"IP","mtnirancell" 好的

AT+CGACT=1,1 好的

AT+CSTT="mtnirancell","","" 好的

AT+CIPMUX=1 +CME 错误:53

AT+AGPS=1 +CME 错误:50 失败,请检查您的网络!

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