概述
建立GPRS连接的过程
序号 | 步骤 | AT命令 | 正常返回 | 执行后的正常状态 | 异常处理 |
---|---|---|---|---|---|
1 | 查询波特率 | AT+IPR? | +IPR: 0 1 | AT+IPR=0 [CR][LF] AT&W //保存自动识别波特率的设置 | |
2 | 设置固定波特率 2 | AT+IPR=rate //rate为当前使用的波特率 | OK | ||
3 | 检查SIM卡是否准备好 | AT+CPIN? | +CPIN: READY | 若返回SIM PIN,则发送AT+CPIN=pin //pin是卡的密码。发送后等待5s | |
4 | 检查GSM信号质量 | AT+CSQ | +CSQ: r,b //r>15 | 若r<15,检查天线,更换设备位置 | |
5 | 检查是否注册到GSM | AT+CREG? | +CREG: n,s // s=1或5 | 找运营商解决 | |
6 | 检查是否注册到GPRS | AT+CGREG? | +CGREG: n,s // s=1或5 | 找运营商解决 | |
7 | 检查是否采用GPRS连接 3 | AT+CIPCSGP? | +CIPCSGP: 1,”CMNET”,”“,”“ | AT+CIPCSGP=1,”CMNET” | |
8 | 检查是否单IP连接 | AT+CIPMUX? | +CIPMUX: 0 | 在关断全部IP连接和GPRS应用后,AT+CIPMUX=0 | |
9 | (在IP INITIAL或IP STATUS状态下4,)建立TCP连接 | AT+CIPSTART=”TCP”,”xxx.xxx.xxx.xxx”,port | OK [CR][LF]CONNECT OK 5 | CONNECT OK | |
10 | (在连接状态下)进入发送状态 | AT+CIPSEND | 发送0x1a或0x1b退出发送状态 |
获取本机IP
序号 | 步骤 | AT命令 | 正常返回 | 执行后的正常状态 |
---|---|---|---|---|
1 | (在IP INITIAL状态下,)启动任务 | AT+CSTT | OK | IP START |
2 | (在IP START状态下,)激活GPRS连接 | AT+CIICR | OK //等待85s | IP GPRSACT |
3 | (在PDP上下文被激活后6,)获取本机地址 | AT+CIFSR | IP address 7 | –8 |
常用调试命令
目的 | AT命令 | 正常返回 | 执行后的正常状态 | 异常处理 |
---|---|---|---|---|
(在GPRS上下文激活后9,)发出PING请求 | AT+CIPPING=xxx.xxx.xxx.xxx | –10 | ||
查询运营商 | AT+COPS? | +COPS:m,f,oper //当f=0时, oper=”CHN-UNICOM” 或 “CHINA MOBILE”; 当f=1时, oper=”UNICOM” 或 “CMCC”; 当f=2时, oper=”46001”或”46000” | ||
查询接入点、用户名、口令 | AT+CSTT? | +CSTT:”CMNET”,name,password | ||
查询PDP上下文 | AT+CGDCONT? | +CGDCONT:1,”IP”,”CMNET”,”xxx.xxx.xxx.xxx”,0,0 | AT+CGDCONT=1,”IP”,”CMNET” | |
查询是否连接到GPRS 11 | AT+CGATT? | +CGATT:1 | AT+CGATT=1 //等待10s | |
查询连接状态 | AT+CIPSTATUS | OK [CR][LF] STATE:state | ||
模块复位 | AT+CFUN=1,1 | OK 12 | ||
关闭GPRS(PDP上下文去激活) | AT+CIPSHUT | SHUT OK | IP INITIAL | |
关闭TCP连接 | AT+CIPCLOSE | CLOSE OK | IP CLOSED |
状态转换方法
当前状态 | 下一状态 | AT命令 |
---|---|---|
CONNECT OK | IP CLOSED | AT+CIPCLOSE |
CONNECT OK | IP INITIAL | AT+CIPSHUT |
IP INITIAL | CONNECT OK | AT+CIPSTART= |
IP INITIAL | IP START | AT+CSTT |
IP START | IP GPRSACT | AT+CIICR |
IP STATUS | CONNECT OK | AT+CIPSTART= |
PDP DEACT | IP INITIAL | AT+CIPSHUT |
X | IP INITIAL | AT+CFUN=1,1 |
- 保存的波特率设置为自动识别,便于建立开机后的串口通讯。 ↩
- 设为固定波特率,便于稳定的、可靠的工作。 ↩
- 如果不是GPRS连接,可能是CSD连接,速率和费用与GPRS相差太多。 ↩
- 实测在 TCP CLOSED状态下,也可以用此命令建立TCP连接。 ↩
- 至此,可以接收对方发来的数据了。 ↩
- PDP上下文激活状态包括:IP GPRSACT, TCP/UDP CONNECTING, CONNECT OK, IP CLOSE. 我把GPRS上下文就理解为PDP上下文。我在IP STATUS 状态下仍然可以执行,why? ↩
- 在IP INITIAL状态下,返回 ERROR。但仍然可以用AT+CIPSTART=建立TCP连接。 ↩
- 如果IP GPRSACT,则转为IP STATUS。否则不影响。 ↩
- PDP上下文激活状态包括:IP GPRSACT, TCP/UDP CONNECTING, CONNECT OK, IP CLOSE. 我把GPRS上下文就理解为PDP上下文。我在IP STATUS 状态下仍然可以执行,why? ↩
- 用–表示读、写命令不影响状态。 ↩
- 准确地说,是否附着GPRS还是影响连接的。只不过即使写AT+CGATT=0去附着,发送AT+CIPSTART=连接后,用AT+CGATT?查看,又附着了。 ↩
- 当模块保存的波特率是固定波特率时,启动中有启动成功提示。当模块保存的波特率是自动波特率时,无启动成功提示。 ↩
最后
以上就是爱听歌飞鸟为你收集整理的用AT命令建立/调试SIM800C的GPRS连接的全部内容,希望文章能够帮你解决用AT命令建立/调试SIM800C的GPRS连接所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复