在传统的移动网络中,许多网络问题需求工程师或许技术人员带着外表驾车路测来发现。这种测验办法在以往的网络优化测验中已选用多年,存在体系杂乱、人员办理不方便、功率低劣等问题。且每个技术人员或工程师都不或许担任太多的基站小区优化作业和问题剖析。为此,树立无线网络质量自动监测体系的作业是有必要的。
车载终端组成
图1为车载终端的结构图,车载数据终端首要包含单片机(rabbit2000)、GPS模块、CDMA 手机模块、GSM手机模块、铁电存储器、电源改换模块等。其间,CDMA模块担任所收集数据的无线传输。
图1 车载终端结构图
车载终端作业原理
车载终端的作业原理能够描绘为数据收集、数据处理及存储、数据上传几个进程。其间数据收集读取GPS模块回来的音讯,提取经纬度信息,经过GSM和 CDMA 模块别离收集CDMA和GSM网络质量参数;数据处理及存储依据经纬度信息判别车辆行进距离,由此距离判别是否记载该次收集的数据,上传数据时再从铁电中读取这些数据;数据上传经过简略IP完成与监控中心的TCP衔接,并实时检测TCP衔接状况,衔接中止则当即从头衔接,确保数据能实时地上传给监控中心。
数据传输的完成
硬件衔接
本文中选用了MG815+模块及UIM卡,硬件衔接如图2所示。图中左边为UIM卡衔接参阅电路,右侧为MG815+模块衔接参阅电路。因为模块串口输出电平为3.8V,而Rabbit串口输出电平为5V,因此在两者之间增加了串口电平转化芯片NC7WZ07,以提高Rabbit和模块之间串口通讯的可靠性。
图2 MG815+及UIM卡的硬件衔接图
AT指令
AT(Attention) 指令开始由 Hayes 公司推出,首要用于对调制解调器的操控,现在已演化为一种规范,一切移动模块都支撑 AT 指令。尽管不同厂家的手机模块都参照 GSM 协议,但格局仍是有所不同,开发进程中一定要仔细参阅厂家给的材料。AT 指令格局如下:
AT指令都以“AT”最初,以完毕,例如 “ATE0rn”
AT指令回来格局:跟AT指令相关的字符串>,例如,关于上一AT指令的回来为“ATE0rnrnOKrn” 。
TCP衔接的树立
TCP的衔接树立经过以下进程:
① 树立拨号衔接,AT指令为AT+ZPPPOPENrn。
② 树立TCP衔接,AT 指令为AT+ZIPSETUP=SOCKET_NUM, IP_AD, PORT_NUM rn,例如AT+ZIPSETUP=1,211.136.18.171,5000rn。
③ TCP衔接成功树立后,能够发送数据,AT指令为AT+ZIPSEND=, rrn,例如AT+ZIPSEND=1,4rgoodrn,发送的数据为“good”。
这儿所用到的查询指令及各指令回来阐明包含:
①查询拨号衔接状况指令:AT+ZPPPSTATUSrn
回来有三种状况:拨号衔接树立rn+ZPPPSTATUS: OPENEDrnrnOKrn
拨号衔接断开 rn+ZPPPSTATUS: CLOSEDrnr nOKrn
正在拨号 rn+ZPPPSTATUS: * rnrnOKrn
②查询TCP衔接状况指令:AT+ZIPSTATUS= SOCKET_NUM rn
回来有三种状况:TCP衔接树立 rn+ZIPSTATUS: ESTABLISHEDrnrnOKrn
TCP衔接失利 rn+ZIPSTATU S:CLOSEDrnrnOKrn
正在树立衔接 rn+ZIPSTATUS:SYN_SENTrnrn OKrn
数据的发送和接纳
模块从TCP通道接纳到数据后,由串口回来音讯:+ZIPRECV:0,1,, rn,例如,+ZIPRECV: 0,10,1234567890rn,则TCP通道接纳的数据为1234567890。
+ZIPRECV为异步音讯,在恣意时刻回来,在接纳该音讯时要注意。
数据传输的软件设计
终端与监控中心以报文方法交互数据,报文包含数据包(收集的数据信息)、心跳包(守时发送,以保持网络衔接)以及校时恳求,以上均由终端自动建议,监控中心回复。数据通讯子程序的流程如图3。
图3 数据通讯流程图
依据流程图可知,发送数据后等候监控中心的回复音讯,设置等候时刻,若超时还无回复音讯,则退出等候;下次发送数据时从头发送。
数据传输实例
终端发送的数据包如下:
01780102000146003030407 5345460008184101641000105 03010701221632303903.6741N1215 3.1326E27990357079425-70-66-632 004070031040828531405011144 1801194100068722100694210807 02200906902012
数据包中0178为报文长度;01为版本号;02为指令字;0001为数据包序列号;460030304075345为UIM卡号;460008184101641为SIM卡号;00010503为体系作业状况字;01为后边跟1条数据(每条长度126)。
0701221632303903.6741N12153.13 26E27990357079425-70-66-63200407003104082853140501114 418011941000687221006942 1080702200906902012为一条数据,依次为时刻、经纬度、C网质量参数和G网质量参数。
注意事项
拆包现象
模块支撑在TCP通道一次发送1024字节数据,但模块内部发送缓冲区为536字节,运用+ZIPSEND指令一次发送1024字节数据时,发送的1024 字节数据拆分为2条socket数据先后传送给监控中心服务器。可经过下降一次发送的数据量来避免此现象,即一次传输不多于536字节。
连包现象
假如两条+ZIPSEND指令时刻距离过小,或前一包数据还未发送成功时模块收到新的数据发送指令,则模块把两条指令中的数据兼并为一条 socket数据发送。此刻,能够从两方面处理此问题:一是模块发送端每发送一个数据包后,等候监控中心回来承认音讯后再持续其他作业,这样只能最大极限地避免上述现象的产生;另一方面是在监控中心接纳端对上述现象进行容错处理。
此外,假如监控中心发送两条数据的时刻距离太短,模块接纳数据时会呈现中心发送的两条数据兼并,以+ZIPRECV音讯从串口回来,终端处理TCP数据时要考虑此问题。
异步音讯的回来
模块回来的异步音讯首要为TCP通道回来的数据。该音讯的回来格局在前文中已阐明。因为异步音讯回来时刻的不确定性,该音讯会以两种方法从串口输出。一是独自回来。二是向模块发送AT指令后,异步音讯随该指令的回来值一起回来,例如,当发AT指令查询拨号衔接状况时,模块在TCP通道收到数据,则回来如下:rn+ZPPPSTATUS:OPENEDrnrnOK rn+ZIPRECV:1,24,002401810 000070312120016rn。在接纳和处理异步数据时应充分考虑异步音讯的这两种回来状况,避免丢掉数据。
结语
本文具体论说了怎么经过CDMA模块MG815+的数据传输功用完成车载终端与监控中心的通讯,并给出了软件设计流程。最终对实测进程中遇到的问题提出相应处理方案,这对相关开发人员有很大的参阅价值。