原创 GPRS模块通过TCP/IP方式发送数据流程

2011-7-13 16:31 1213 5 5 分类: MCU/ 嵌入式

作者:赵孝强,华清远见嵌入式培训中心讲师。

首先介绍一下GPRS的接入方式,在中国有CMWAP和CMNET两种方式。CMWAP 和 CMNET 只是中国移动人为划分的两个GPRS接入方式。前者是为手机WAP上网而设立的,后者则主要是为PC、笔记本电脑、PDA等利用GPRS上网服务。它们在实现方式上并没有任何差别,但因为定位不同,所以和CMNET相比,CMWAP便有了部分限制,资费上也存在差别。

1.开启

at+csq
        +CSQ: 30,99
        OK
        at+cpin?
        +CPIN: READY
        OK
        at+cgreg?
        +CGREG: 0,1
         OK
        //以上是确认当前的网络和模块状态
        at+cgdcont=1,"ip","cmnet" //设置APN 无线接入点
        OK
        at%etcpip="","" //进行ppp拨号
        OK
        at%etcpip? //检查获得本地IP地址,以及DNS服务器的地址
        %ETCPIP:1,"10.213.1.45",,"211.136.20.203","211.136.20.203"
        OK
        //以下是单连接发送数据,多连接AT命令有不同,请参考手册
        AT%IPOPEN="TCP","61.144.177.202",3000
        CONNECT
        AT%IPSEND="683100310068c90896060000027400000100e416"
        %IPSEND:15 //注意:这个返回的buffer序号,每发送一包数据不管大小,都占用一个buffer空间。总计16个。如果返回的buffer 序号在减小,表示当前的网络传送受阻,如果增加表示最前端序号的数据包已发出。数据都堆积在模块的buffer 内。模块会自动重试。
        OK
        %IPDATA:20,"683100310068C90896060000027400000100E416"
        //收到网络的数据。
        AT%IPSEND="683100310068c90896060000027400000100e416"
        %IPSEND:15
        OK
        %IPDATA:20,"683100310068C90896060000027400000100E416"
        at%ipopen? // 查询链路状态,链路断开时模块会自动返回%IPCLOSE: 1
        %IPOPEN:" TCP ",""61.144.177.202",3000,8192,0
        OK

2.关闭

at%ipclose=1 //关闭TCP SOCKET连接,返回OK需要7-10s左右,请设计超时等待时注意。
        %IPCLOSE: 1
        OK
        at%ipclose=5 // AT%IPCLOSE=1关闭成功后,才能AT%IPCLOSE=5。
        // 否则可能出现TCP连接异常断开,造成中心余留客户端IP地址。

嵌入式及3G相关资源及学习请点击:嵌入式开发视频 android开发视频 android培训 3G培训 QT培训 QT开发视频 物联网培训 物联网技术视频 嵌入式学习   
        OK

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
5
关闭 站长推荐上一条 /7 下一条