关于GPS定位平台与GPS终端的通信
最近在做一个GPS定位平台,平台建立在局域网内部,为了建立一条到终端的移动GPRS通道,必须要考虑以下几件事情:
- GPS终端必须配备有一张SIM卡,且开通了GPRS服务。以移动为例,终端接入Inernet的方式有两种:cmwap 和 cmnet, 根据网上牛人总结说:以前cmwap一般只提供为在移动内网中的服务器连接(我想就是90年代末的移动百宝箱之类的服务器吧),但是由于业务的需求,通过网络代理服务器功能也能连接Inernet的,只是网速相对较慢;而cmnet就如我们平时常见的pc接入因特网的方式,速度较快,当然资费相对贵些,所以一般以包月包流量为宜。GPS服务器处的网关IP(公网IP)最好为固定,否则每次的公网IP变动都得更改GPS终端的服务器IP设置,会显得繁琐。又由于服务器是处于内网的,为了让数据包顺利通过网关抵达,必须要在网关中设置 端口映射 (NAT技术的一种),可能要同时需要TCP和UDP两种,因终端而异。设置GPS终端的参数:服务器IP地址及端口(2中网关的公网ip以及外部端口);开启GPRS功能等至此,物流层面的数据通信应该建立(可以用wireshak等抓包软件监视指定网卡及端口信息,容易验证是否通道已建立成功)。数据的上传很简单,因为终端知道服务器ip,给该公网ip发送数据包,肯定能够顺利到达;但是服务器不知道终端的ip地址,如何给终端下发指令呢? 事实上,服务器确实不能主动给终端下发指令,但是利用TCP协议的“面向连接性”以及“双工传输性”可以到达我们的目的。具体操作如下:
以上是自己的个人总结,如有说得不准确的地方,欢迎大家拍砖 :)