新闻中心

EEPW首页>手机与无线通信>设计应用> 基于ATmegal6的GPRS数据终端设计

基于ATmegal6的GPRS数据终端设计

作者: 时间:2009-12-29 来源:网络 收藏

(2)通过指令“at+mipopen=Socket ID>,Source Port>,Destination IP>,DestinationPort2>,Protocol2>”打开一个端口(Socket),如“at+mipopen=l,2000,“219.222.73.240”,6800,1”。其中,Socket ID2>是本地端口号,G20模块一共可以打开4个端口,端口序号分别是1~4;Source Port>是G20模块本机的端口号,其数值可以是0~65 535;“Destination IP”>是目标IP地址,可以是直接连接到Internet公网的某台PC的IP地址。DestinationPort>是目标的端口号,其数值可以是0~65535。Protocol>是协议栈类型,其数值可以为0或1,0代表是TCP协议栈,1代表UDP协议栈;如果端口打开成功将返回“CR>LF>OKCR>LF>CR>LF>+MIPOPEN:Socket ID>,State>CR>LF>”,如“CR>LF>OKCR>LF>CR>LF>+MIPOPEN:1,1CR>LF>”。如果端口打开不成功,将会返回错误信息“CR>LF>ERRORCR>LF>”。
(3)通过指令“at+mipsend=Socket ID>,Data>”将需要发送的数据压入G20模块的发送堆栈。如“at+mipsend=1,4142434445”。这里的Socket ID>是前面已经打开的端口序号,Data>是所要发送的数据,数据格式必须是用十六进制表示的数据(数值或者字符)的双字节ASCII值。如要发送的数据为“ABCDE”(A、B、C、D和E的ASCII数值分别为0x41,0x42,0x43,0x44和0x45),则要将“4142434445”作为Data>压入发送堆栈。指令操作成功时,G20模块返回信息“CR>LF>+MIPSEND:Socket ID>,Free Size>CR>LF>CR>LF>OKCR>LF>”,如“CR>LF>+MIPSEND:1,1367CR>LF>CR>LF>OKCR>LF>”,其中Socket ID>是端口序号,Free Size>是指堆栈中的剩余空间,其数值可为O~1372。如操作不成功,G20模块将会返回错误信息“CR>LF>ERRORCR>LF>”。
(4)通过指令“at+mippush=Socket ID>[,“Destination IP”>,Destination Port>]”将特定序号发送堆栈中的数据出栈,如“at+mippush=1”执行这条指令之后,堆栈中的数据就被发送出去了。这里所说的堆栈序号是和前面所述的端口序号一一对应的。方括号中的内容是可选项,不需要时可以省去。数据发送成功时,G20模块返回信息“CR>LF>+MIPPUSH:Socket ID>CR>LF>CR>LF>OKCR>LF>”,如“CR>LF>+MIPPUSH:1CR>LF>CR>LF>OKCR>LF>”。如数据发送失败,G20模块将会返回错误信息“CR>LF>ERRORCR>LF>”。
(5)反复进行上述步骤(3)和(4),直至所有数据发送完毕为止。
(6)通过指令“at+mipclose=Socket ID>”关闭已打开的端口,如“at+mipclose=1”。端口关闭成功时,G20模块会返回信息“CR>LF>OKCR>LF>CR>LF>+MIPCLOSE:Socket ID>CR>LF>”,如“CR>LF>OKCR>LF>CR>LF>+MIPCLOSE:1 ID>CR>LF>”。如果端口关闭不成功,G20模块将会返回错误信息“CR>LF>ERRORCR>LF>”。
(7)通过指令“at+mipcall=0”关闭网络连接。如果网络连接关闭成功,G20模块将会返回信息“CR>LF>OKCR>LF>CR>LF>NOCARRIERCR>LF>CR>LF>+MIPCALL:0CR>LF>”。如果网络连接关闭不成功,G20模块将会返回错误信息“CR>LF>ERRORCR>LF>”。
另外,G20模块接收到远程终端通过网络发送过来的数据时会自动从其串口输出该数据。如果接收到的是UDP协议的数据,G20模块会以以下数据格式输出:
CR>LF>+M1PRUDP:Source IP>,Source Port>,Socket ID>,Left>,Data>
其中,Source IP>是发送方的IP地址,Source Port>是发送方的端口号,Socket ID>是本机端口序号,Left>留在堆栈中的接收数据字节数,Data>是所接收到的数据。如果接收到的是TCP协议的数据,G20模块会以以下数据格式输出:
CR>LF>+MIPRTCP:Socket ID>,Left>,Data>
各部分含义如前述。编程使不断查询串口接收缓冲区即可实现数据接收,也可以采用接收中断的方式提高运行效率。

本文引用地址://m.amcfsurvey.com/article/157699.htm


3 结 语
数据传输链路中GGSN(网关GPRS支持节点)占用的端El的存活时间是有限的,如果链路空闲超时,连接就会断开,可通过定时发送数据短帧的方式来维持链路。经测定,本地(广州)的GPRS数传链路维持时间为60 s。的GPRS成本低,易于推广普及,可用于远程数据采集、系统监测和Internet远程接入等领域。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭