gprs服务器的端口号.docx
《gprs服务器的端口号.docx》由会员分享,可在线阅读,更多相关《gprs服务器的端口号.docx(11页珍藏版)》请在冰点文库上搜索。
gprs服务器的端口号
竭诚为您提供优质文档/双击可除
gprs服务器的端口号
篇一:
gprs模块设置方法步骤
gprs模块设置方法步骤
1.申请注册花生壳帐号,获得域名,并在路由器动态dns设置好,并登陆。
2.下载花生壳到本机,登录,添加域名链接好(花生壳动态域名解析常用方法)。
3.在路由器中,将本机mAc地址对应一个固定ip,在虚拟服务器中,设置好对应本机ip的端口号。
如192.168.1.99,端口号2323。
4.本机电脑网络连接,设置固定ip。
如
192.168.1.99,255.255.255.0,192.168.1.1。
5.用gprs模块设置软件设置模块参数,打开设置软件,选择好串口,打开串口,将网络连接处,改为自己的域名,选择sim卡服务商,端口改为设置端口,如2323,模块上电,带接收到提示信息后,点击全参数设置,一直到提示设置成功。
6.网络端计算机安装虚拟串口软件,添加虚拟串口,为tcpsearver方式,端口为已经设置好的端口。
如192.168.1.99,本地端口2323。
7.重启gprs模块,待net灯闪烁,data灯常亮时,双方可以通信。
篇二:
gpRs公网通讯
gpRs公网通讯
gpRs应用中Tcp/Ip/ppp基本概念:
(CDMA的原理与此差不多)
实际上gpRsDTu上实现的是协议栈是Tcp/Ipoverppp。
我们在使用时必须要有一些相应的概念。
因此在下面我们就与sARo-3130p使用相关的一些事项作一些简要的说明,如果您想详细了解这些协议,请参见相关书籍:
1.每一次sARo-3130p拨ATD*99***1#(或ATD*99***1#)之后其实都在采用ppp协议和移动的接入设备(一般是移动公司的一台特殊的ggsn路由器)进行握手,当ppp协议握手成功后,sARo-3130p都会获得一个动态Ip地址。
一般来说,每一次sARo-3130p下线后(挂断连接或者直接断电后)在重新进行拨号和ppp握手后取得的动态Ip地址都是不一样的。
但是移动公司可以通过为客户开通特定的Apn和发行特殊的sIm卡,使得用这张sIm卡获得的动态Ip地址每一次都不变。
也就是说可以做到sIm卡和Ip地址绑定。
2.我们在做测试时,应当注意到如下事实:
在采用公网的Apn(“cmnet”)的条件下,如果我们用sARo-3130p主动向公网上的一个静态公网Ip地址发起Tcp连接,只要这个公网上的机器确实有侦听相应的端口,这样是可以连上的;但是相反地,如果是由公网上的静态Ip向sARo-3130p动态获得的Ip地址主动发起的Tcp连接将不会成功。
这个现象的原因是:
实际上sARo-3130p获得的动态Ip地址是移动的一个特殊的内部网段上的地址,这个特殊内部网段里的地址如果要和外部网(公网)的地址进行Tcp通信,必须通过一个类似于Tcp代理(或者nAT)的设备进行通信的转发。
换句话说,这个动态地址对于网络上的其他机器来说是不可访问的。
3.标准AT命令+cgDconT的主要作用是指定Apn。
Apn是Accesspointname(访问接入点)的缩写,移动通过开通特殊的Apn为行业客户提供Vpn(Virtualprivatenet)服务。
比如说,如果是要上公网(Internet),应当使用“cmnet”作为Apn。
又如,某企业向移动公司申请了Vpn服务,移动公司为其开通了一个Apn为“hxsw.gd”,则我们就应当用这个Apn来设置gprs模块,格式如下:
AT+cgDconT=1,“Ip”,“hxsw.gd”
4.确定一条Tcp连接有4个要素,这4个要素是双方的Ip地址和双方的Tcp端口号,这也就是sARo-3130p为什么将本地端口、目的端口和目的Ip地址结合起来作为连接的ID号(sARo-3130p在ppp握手成功后获得的动态地址只要不断线重连就不会改变)的原因。
5.使用Tcp协议进行数据通信时,必须要经过三个阶段,第一个阶段是连接建立阶段,第二个阶段是数据收发阶段,第三个阶段是连接释放阶段:
1).连接建立阶段:
连接的建立又有主动连接和被动连接之分,一般来说客户机都是主动发起连接的,而服务器是被动接受连接的。
所谓的主动连接是指本方主动向远端发起连接请求,而被动连接指的是本方侦听一个端口,等待远端及其主动向自己发起一个连接请求并且进行回应并且最终握手建链成功。
在连接成功,切换到数据态后,我们可以通过open命令帧控制sARo-3130p进行主动连接。
当然,连接时要指定对方的Ip地址和端口号。
至于被动连接,sARo-3130p也可以支持,目前的程序只支持侦听一个端口。
对方主动连接(sARo-3130p被动连接)成功后将建立一条新的通信连接,sARo-3130p将把这个被动连接成功的事件通知给上位机。
2).数据收发阶段:
当一条连接建立之后,我们就可以在这条连接上进行数据收发了。
我们可以使用senD命令帧控制sARo-3130p进行数据发送。
当然,发送时要指定连接号(通过本地端口、目的地址和端口唯一确定)。
对于对方发送过来的数据,sARo-3130p首先将其存储在自身的数据缓冲区中,然后将数据已到达此事件通知给上位机,上位机读取到数据已到达事件后,应当及时使用RecV命令帧控制sARo-3130p将相应连接上的所有数据通过串口读出,当数据读出后,这些数据原先占用的数据缓冲区空间将会被释放。
注意,由于sARo-3130p的数据缓冲区有限(总量仅有25Kbytes),所以,对于对方发来的数据,上位机一定要及时读出,否则数据越积越多,可能会导致数据缓冲区溢出,丢失数据。
3).挂断连接阶段:
当一条连接上的所有数据都已经收发完成了,不再需要这条连接时,就可以把连接给挂断了。
和连接建立阶段相类似,挂断也分为主动挂断和被动挂断。
我们可以使用RseT命令帧控制sARo-3130p进行连接的主动挂断。
如果连接被对方主动挂断,sARo-3130p将会把这个事件通知给上位机进行处理。
GPRS/CDMA行业应用中的Tcp与uDp的比较!
中国移动、中国联通推行的gpRs网络、cDmA网络已覆盖大量的区域,通过无线网络实现数据传输成为可能。
无线modem采用gpRs、cDmA模块通过中国移动、中国联通的gpRs、cDmA网络进行数据传输,并通过Tcp/Ip协议进行数据封包,可灵活地实现多种设备接入,工程安装简单,在工业现场数据传输的应用中,能很好的解决偏远无网络无电话线路地区的数据传输的难题。
同传统的数传电台想比较,更具有简便性、灵活性、易操作性,同时还降低了成本,无线modem传输方案是现代化工业现场数据传输最好的选择方案。
目前中国移动、中国联通提供的gpRs网络、cDmA网络的数据传输带宽在40Kbps左右,且受带宽的限制,数据采集方案最好采用于主动告警、数据轮巡采集、告警主动回叫等对传输带宽占用较少的采集方式。
同时考虑对前置机实时采集方案的支持,无线modem传输方案只能作为目前传输方案的补充。
随着无线通讯技术的不断发展,无线传输数据带宽将不断提高,采用3g无线网络,数据传输带宽将达到2m,无线传输方案将逐渐成为监控传输组网的主要应用方案。
目前,由于gpRs和cDmA固有的特性,在各个领域中gpRs和cDmA的应用也越来越广泛,但是关于传输中使用Tcp/Ip协议还是uDp协议,却争论很多。
这里先简单的说一下Tcp与uDp的区别:
1。
基于连接与无连接
2。
对系统资源的要求(Tcp较多,uDp少)
3。
uDp程序结构较简单
4。
流模式与数据报模式
5。
Tcp保证数据正确性,uDp可能丢包,Tcp保证数据顺序,uDp不保证
另外结合gpRs网络的情况具体的谈一下他们的区别:
1。
Tcp传输存在一定的延时,大概是1600ms(移动提供),uDp响应速度稍微快一些。
2。
Tcp包头结构
源端口16位
目标端口16位
序列号32位
回应序号32位
Tcp头长度4位
reserved6位
控制代码6位
窗口大小16位
偏移量16位
校验和16位
选项32位(可选)
这样我们得出了Tcp包头的最小大小.就是20字节.
uDp包头结构
源端口16位
目的端口16位
长度16位
校验和16位
uDp的包小很多.确实如此.因为uDp是非可靠连接.设计初衷就是尽可能快的将数据包发送出去.所以uDp协议显得非常精简.
3。
gpRs网络端口资源,uDp十分紧缺,变化很快;而Tcp采用可靠链路传输,不存在端口变化的问题
工业场合的应用一般都有以下特点,
1。
要求时时传输,但也有一些场合是定时传输,总的来说在整个传输过程中要求服务器中心端和gpRs终端设备能相互的、时时的传输数据。
Tcp本身就是可靠链路传输,提供一个时时的双向的传输通道,能很好的满足工业现场传输的要求。
但是gpRs网络对Tcp链路也存在一个限制:
此条链路在长时间(大概20分钟左右,视具体情况而定)没有数据流量,会自动降低此链路的优先级直至强制断开此链路。
所以在实际使用中也会采用心跳包(一般是一个字节的数据)来维持此链路。
uDp由于自身特点,以及gpRs网络uDp端口资源的有限性,在一段时间没有数据流量后,端口容易改变,产生的影响就是从服务器中心端向gpRs终端发送数据,gpRs终端接收
不到。
具体的原因就是移动网关从中作了中转,需要隔一定时间给主机发uDp包来维持这个Ip和端口号,这样主机就能主动给gpRs发uDp包了并且我在测试中发现,这个间隔时间很短,我在1多分钟发一次uDp包才能够维持,但是再长可能移动网关那边就要丢失这个端口了,此时如果主机想主动发数据给gpRs,那肯定是不行的了,只有gpRs(:
gprs服务器的端口号)终端设备再发一个uDp包过去,移动重新给你分配一个中转Ip和端口,才能够进行双向通讯。
2。
要求数据的丢包率较小。
有些工业场合,例如电力、水务抄表,环保监测等等,不容许传输过程中的数据丢失或者最大限度的要求数据的可靠性。
从这一点来看,很显然在无线数据传输过程中,Tcp比uDp更能保证数据的完整性、可靠性,存在更小的丢包率。
在实际测试中也是如此。
以厦门桑荣科技有限公司提供的gpRs终端设备为例:
Tcp的在千分之9,uDp的在千分之17左右。
3。
要求降低费用。
目前有很大部分gpRs设备的应用都是取代前期无线数传电台,除了使用范围外,其考虑的主要问题就是费用。
能降低费用当然都是大家最愿意接受的。
和费用直接相关的就是流量了,流量低,费用就低了。
虽然Tcp本身的包头要比uDp多,但是uDp在实际应用中往往需要维护双向通道,就必须要通过大量的心跳包数据来维护端口资源。
总的比较起来,uDp的实际流量要比Tcp还要大。
很多使用者在初期的时候并不了解uDp需要大量心跳包来维持端口资源这个问题,往往都认为uDp要比Tcp更节省流量,实际上这里存在着一个误区。
4。
在某些特定的应用场合,例如一些银行的时时交互系统,对响应速度要求很高,此时数据传输频率较快,不需要大量心跳包维持uDp端口资源,采用uDp就比较有利了。
5。
在目前的1:
n的传输模式中,既有多个gpRs终端设备往一个服务器中心传输数据,此时采用uDp会比Tcp要好的多,因为uDp耗用更少的系统资源。
但是在实际应用中却发现,很多用户还是采用Tcp的传输方式,建立二级中心1:
A(1:
n),即每一个分中心对应n/A台设备,独立处理数据,再统一将数据传送到主中心。
这样既能保证了传输过程中采用了Tcp的传输协议,又能很好处理了中心服务器的多链路的系统耗用的问题。
总的来说,Tcp/Ip协议更能满足目前各行业对远程数据传输的要求,它提供更稳定更便利的传输通道,很好的满足了远程数据传输的要求。
桑荣公司所有DTU产品都支持TCP和UDP协议,客户可以自行选择.
篇三:
gpRs工作原理以及其通信协议
-------gpRs的工作原理简介
gpRs工作时,是通过路由管理来进行寻址和建立数据连接的,而gpRs的路由管理表现在以下3个方面:
移动终端发送数据的路由建立;移动终端接收数据的路由建立;以及移动终端处于漫游时数据路由的建立。
对于第一种情况,当移动终端产生了一个pDu(分组数据单元),这个pDu经过snDc层处理,称为snDc数据单元。
然后经过LLc层处理为LLc帧,通过空中接口(空中接口(AirInterface)是指用户终端(uT)和无线接入网络(RAn)之间的接口)送到gsm网络中移动终端所处的sgsn。
sgsn把数据送到ggsn。
ggsn把收到的消息进行解装处理,转换为可在公用数据网中传送的格式(如pspDn的pDu),最终送给公用数据网的用户。
为了提高传输效率,并保证数据传输的安全,可以对空中接口上的数据做压缩和加密处理。
在第二种情况中,一个公用数据网用户传送数据到移动终端时,首先通过数据网的标准协议建立数据网和ggsn之间的路由。
数据网用户发出的数据单元(如pspDn中的pDu),通过建立好的路由把数据单元pDu送给ggsn。
而ggsn再把pDu送给移动终端所在的sgsn上,gsn把pDu封装成snDc数据单元,再经过LLc层处理为LLc帧单元,最终通过空中接口送给移动终端。
第三种情况是一个数据网用户传送数据给一个正在漫游的移动用户。
这种情况下的数据传送必须要经过归属地的ggsn,然后送到移动用户A。
------gpRs的英文全称是:
“generalpacketRadioservice”(译作“通用无线分组服务”),它是利用“包交换”(packet-switched)的概念发展起来的一套无线传输方式。
所谓“包交换”就是将Data封装成许多独立的封包,再将这些封包一一传送出去,形式上有点类似邮局中的寄包裹。
其作用在于只有当有资料需要传送时才会占用频宽,而且可以以传输的资料量计价,这对广大用户来说是较合理的计费方式,因为像Internet这类的数据传输大多数的时间频宽是闲置的。
gpRs网络是基于现有的gsm网络来实现的。
在现有的gsm网络中需增加一些节点,如ggsn(gatewaygpRssupportingnode,gpRs网关支持节点)和sgsn(servinggsn,gpRs服务支持节点),gsn是gpRs网络中最重要的网络节点。
gsn具有移动路由管理功能,它可以连接各种类型的数据网络,并可以连到gpRs寄存器。
gsn可以完成移动终端(即手机)和各种数据网络之间的数据传送和格式转换。
gsn可以是一种类似于路由器的独立设备,也可以与gsm中的msc(mobileswitchingcenter,移动交换中心,将本网和其它网络连接起来)集成在一起。
gsn有两种类型:
一种为sgsn(servinggsn,服务gsn),另一种为ggsn(gatewaygsn,网关gsn),sgsn的主要作用是记录移动终端的当前位置信息,并且在移动终端和ggsn之间完成移动分组数据的发送和接收。
ggsn主要是起网关作用,它可以和多种不同的数据网络连接,如IsDn(综合业务数字网)、pspDn(分组交换公用数据网)和LAn(局域网)等。
国外有些资料甚至将ggsn称为gpRs路由器。
ggsn可以把gsm网中的gpRs分组数据包进行协议转换,从而可以把这些分组数据包传送到远端的Tcp/Ip或x.25网络。
gpRs网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持Tcp/Ip协议,可以直接与Internet互通。
因此,gpRs在无线上网、环境监测便携型、交通监控、移动办公等行业中具有无可比拟的性价比优势。
-------gpRs的主要特点
相对原来gsm的电路交换数据传送方式,gpRs采用分组交换技术。
由于使用“分组”技术,用户上网可以免受掉线的麻烦。
此外,使用gpRs上网的方法与wAp不同,用wAp上网就如在家中上网,先“拨号连接”,而上网后便不能同时使用该电话线,但gpRs则较优越,下载资料和通话可以同时进行。
从技术上来说,声音的传送(即通话)继续使用gsm,而数据的传送则使用gpRs,就把移动电话的应用提升到一个更高层次,而且不需重新组网,十分经济。
gpRs的用途十分广泛,包括通过手机发送及接收电子邮件、在Internet上浏览等。
使用gpRs,数据可实现分组发送和接受,这意味着用户总是在线且按流量计费,降低了服务成本。
gpRs的最大优势在于数据传输速度不是wAp所能比拟的。
目前的gsm移动通信网的传输速度为每秒9.6K字节,gpRs手机在今年初推出时已达到56Kbps的传输速度,到现在更是达到了115Kbps(此速度是常用56kmodem理想速率的两倍)。
除了速度上的优势,gpRs还有“永远在线”的特点,即用户随时与网络保持联系。
举个例子,用户访问Internet时,点击一个超级链接,手机就在无线信道上发送和接受数据,主页下载到本地后,没有数据传送,手机就进入一种“准休眠”状态,手机释放所用的无线频道给其它用户使用,这时网络与用户之间还保持一种逻辑上的连接,当用户再次点击,手机立即向网络请求无线频道用来传送数据,而不像普通拨号上网那样断线后还得重新拨号才能上网。
-------gpRs的协议模型
um接口是gsm的空中接口。
um接口上的通信协议有5层,自下而上依次为物理层、mAc(mediaAccesscontrol)层、LLg(LogicalLinkcontrol)层、snDc层和网络层。
um接口的物理层为射频接口部分,而物理链路层则负责提供空中接口的各种逻辑信道。
gsm空中接口的载频带宽为200KhZ,一个载频分为8个物理信道。
如果8个物理信道都分配为传送gpRs数据,则原始数据速率可达200Kbps。
考虑前向纠错码的开销,则最终的数据速率可达164kbps左右;mAc为媒质访问控制层。
mAc的主要作用是定义和分配空中接口的gpRs逻辑信道,使得这些信道能被不同的移动终端共享;LLg层为逻辑链路控制层。
它是一种基于高速数据链路规程hDLg的无线链路协议;snDc被称为子网依赖结合层。
它的主要作用是完成传送数据的分组、打包,确定Tcp/Ip地址和加密方式;网络层的协议目前主要是phasel阶段提供的Tcp/Ip和L25协议。
Tcp/Ip和x.25协议对于传统的gsm网络设备(如:
bss、nss等设备)是透明的。
--------gpRs的应用范围
gpRs是在现有gsm网络上开通的一种新型的分组数据传输业务,在有gpRs承载业务支持的标准化网络协议的基础上,gpRs可以提供系列交互式业务服务:
1、点对点面向连接的数据业务。
为两个用户或者多个用户之间发送多分组的业务,该业务要求有建立连接、数据传送以及连接释放等工作程序。
2、单点对多点业务。
根据某个业务请求者的要求,把单一信息传送给多个用户。
该业务又可以分为点对多点多信道广播业务、点对多点群呼业务和Ip多点传播业务。
3、点对点无连接型网络业务。
各个数据分组彼此互相独立,用户之间的信息传输不需要端到端的呼叫建立程序,分组的传送没有逻辑连接,分组的交付没有确认保护,是由Ip协议支持的业务。
gpRs除了提供点对点、点对多点的数据业务外,还能支持用户终端业务、补充业务、gsm短消息业务和各种gpRs电信业务。
-------gpRs通信系统软件设计
系统软件采用c语言编写,在mpLAb环境下编译。
由于本系统是远程管理终端的一个模块,因此在程序的编写中要遵守一定的协议,这样才能保证正确通信。
程序的主体是如
何控制gR47的AT命令对gR47进行初始设置和对信息数据的处理。
程序总体上可以分为以下几个块:
cpRs连接的初始设置、短消息的判断处理、无数据传输时的心跳处理、数据判断转发等。
主程序是把这些程序块有机结合到一起,相互控制,无限循环。
-------连接的建立
gpRs模块连接到Internet和gpRs网络的实现过程如下:
a)单片机软件控制gR47模块开机,等待此模块正常启动。
b)通过单片机和gR47模块连接的串口,向gR47模块写入相应的AT设置命令,进行初始化,使模块成功粘附在gpRs网络上,获得网络运行商分配的动态Ip地址,与目的终端建立连接。
-------数据的处理
数据包在数据中心服务器和gpRs服务器中的传输是基于Ip数据包的,但明文传送Ip包不可取,因此大多选用ppp(点对点协议)进行传输,实现通过gpRs模块的数据和Internet网络的透明传输。
gR47内部集成了Tcp/Ip协议栈,所以用户对Ip协议相关的程序就不必编写,可以直接通过gR47传递数据。
a)模块与Internet上pc机的数据传输:
要求pc机具有公网的Ip地址和开放的端口以及监视传输报文的运行软件。
这样,模块与Intemet传输数据时,报文就会显示。
在模块成功联入网络后,单片机只要将要发送的数据通过串口发给gR47,gR47就会把数据转发给相应的Ip地址的pc机。
b)短消息数据的处理:
gR47具有gsm的功能,可以与手机发送和接收短消息。
短消息采用pDu格式,在程序中需要判断短消息的到来和读取短信内容,并根据内容执行相应的功能,最后把结果构造成pDu格式返回给相应的发送者。
c)gpRs通信心跳信息:
网络连接建立后,在设定周期内无数据通信时,gpRs模块向数据服务中心发送心跳信息,数据服务中心收到心跳信息后,回应应答信号。
d)重要数据的存储:
程序中把一些重要的常用和易变的数据如计算机服务器的Ip地址、端口号、终端地址、sIm卡号等存入单片机的eepRom中。
需要时从eepRom中读出或向eepRom重新写入数据进行设置。
--------主程序流程
主程序由模块函数组成,模块函数由基本函数嵌套组成。
主程序流程大致如下:
首先进行单片机设置变量的初始化,一般均为0;进行单片机相应配置单元的初始化,比如设定端口方向、没置中断优先级、定时器初始化等;然后由单片机控制gR47的电源,以决定是否开机;待开机成功后,查询网络是否注册成功;成功后即可建立模块与pc机服务器的连接,并进行数据传输和短消息处理;根据需要发送一定格式的心跳信息。
见图2。
-------结束语
本文给出了一种基于单片机和gpRs模块的嵌入式无线数据传输终端的实现方案。
以单片机应用系统为中心的小型gpRs通信系统成本低、设计周期短、便携性好,尤其适用于远程控制和数据传输。