如何利用AT指令访问Internet
/*我现在用的是SIM900模块,上电后利用超级终端依次输入如下AT命令*/
输入:AT
返回:OK
输入:AT+CCID
返回:89860**************9432
返回:OK
输入:AT+CIPMUX=0
返回:OK
/*220.181.111.148是百度服务器的IP地址吧,我打算用百度首页做下测试*/
输入:AT+CIPSTART="TCP","220.181.111.148",80
返回:OK
返回:CONNECT OK
输入:AT+CIPSEND
返回:>
输入:GET /INDEX.HTML /HTTP/1.1 <ctrl+z>
返回:SEND OK
/*问题出现了,此时我应该收到服务器发送给我的数据吧,但是我却什么也收不到,之后再向服务器发数据,命令却不让用了*/
输入:AT+CIPSEND
返回:ERROR
/*我想关闭连接都不行*/
输入:AT+CIPCLOSE
返回:ERROR
/*请教高手,我要利用AT指令访问百度首页,改如何实现呢?*/
[解决办法]
AT+CIPSEND后应该跟发送内容的长度
[解决办法]
下述指令是测试 SIM 卡各种状态,如果成功,才可连接 GPRS
-----------------------------------------------------
1.
CMD: AT
REP: OK
2.
CMD: ATE0
REP: OK
3.检查注册状态
CMD: AT+CREG?
REP: 0,5
OK
说明: 0,5 表示 0(参数):禁用网络注册非请求结果码,5(状态码):已注册,漫游-即该 sim 卡可以使用
4.检查信号质量
CMD: AT+CSQ
REP: 25,99
OK
说明: 25,99 表示 25(信号状态):2-30 正常,31 信号最强,0,1 不合法,99 不可 测
99( ber ): 99 表示不可测
5.检查 GPRS 状态
CMD: AT+CGREG?
REP: 0,5
OK
说明: 0(参数): 禁用网络注册非请求结果码+CGREG:
5(状态): 已注册,漫游
6.检查 GPRS GPRS附着和分离
CMD: AT+CGATT?
REP: 1
OK
说明: 1(状态): 说明已经与 GPRS 连接 (0表示没有连接)
连接 GPRS 指令
-----------------------------------------------------
1. 设置数据模式命令( 这个非常关键,要细看,它关系到发送及接收数据的内容及格式及转换)
CMD: AT%IOMODE=1,2,1 (MEEGO: AT%IOMODE=1,1,0
REP: OK
参数: [n]=1 : 模块对输入输出数据进入数据转换
0 : 模块不对输入输出数据进入数据转换
[<link_flag>]=1 : 当前使用单链接AT 命令
2 : 当前使用多链接AT命令
<buffer_flag>=0: 使用接收缓存
1: 不使用接收缓存
2.定义 PDP 上下文定义参数
CMD: AT+CGDCONT=1,"IP","CMNET"
REP: OK
[CID]=1 数值型参数;用于指定PDP上下文标识。该参数对TE-MT接口而言是本地参数,并且可用于其他PDP上下文分组数据协议类型)
[PDPTYPE]="IP" : 仅支持 IP
[APN]="CMNET" : 接入点名称;表示一个字符串参数,用于选择该参数取值为空或省略,则需要请求签. 中国电信,联通(uninte)不同
3.实现PDP激活和TCP/IP的初始
CMD: AT%ETCPIP="USER","GPRS"
REP: OK
[USERNAME]="USER":用户名
[PASSWORD]="GPRS":密码
[CID]=1: 同使用 CGDCONT 的 CID 参数
4.查看本地 IP
CMD: AT%ETCPIP?
REP: 1,"10.64.112.197",,"221.179.38.7","120.196.165.7"
OK
[state]=1 : 1 表示 TCP/IP 初始化完成,0:表示 tcp/ip 初始化失败
[ip]="10.64.112.197"
[gateway]=空
[dns1]="221.179.38.7"
[dns2]="120.196.165.7"
5.用 TCP 连接到网上某台服务器(你要自己架服务器,并且完成一个 TCP SERVER, 用其它人的可能是不行的)
CMD: AT%IPOPENX=3,"TCP","114.92.183.14",5102 (MEEGO: AT%IPOPEN="UDP","114.92.183.14",5102)
REP: CONNECT
参数:[linknum]=3 : 连接号,取1-3
[type]="UDP" UDP 或 TCP
[dest_ip]:="114.92.183.14"
[dest_port]:=5102 端口
6. 发送数据
CMD: AT%IPSENDX=3,"303342023883" (MEEGO:AT%IPSEND="31323334354142" ="12345AB"
REP: OK
参数: [linknum]=3: 连接号,取 1-3
[data]=在%IOMODE=1 包数据不超过 2048 字节, %IOMODE=0 1024 字节
6.1读取数据
CMD: AT%IPDR
REP: ERROR
6.2 查询是否有数据
CMD: AT%IPDQ
7.关闭连接
CMD: AT%IPCLOSE
REP: OK
8.关闭移动场景
CMD: AT+CIPSHUT
REP: OK