APP下载

基于GPS/3G物流运输车数据采集终端的设计

2016-12-29张治中邓炳光

电视技术 2016年12期
关键词:后台行车客户端

李 栋,张治中,邓炳光

(重庆邮电大学 通信网测试工程研究中心,重庆 400065)



基于GPS/3G物流运输车数据采集终端的设计

李 栋,张治中,邓炳光

(重庆邮电大学 通信网测试工程研究中心,重庆 400065)

针对物流行业对运输车辆高质量的管理需求,结合GPS全球定位、3G无线通信、温度传感器、数据处理等相关技术,设计了一款应用于物流运输车的数据采集终端。实测表明,该终端能准确测量出刹车温度、经纬度、车速、定位模式等相关参数,并能实现实时数据上传、VoIP网络电话和实时通信等功能,在物流行业中得到了良好的应用。

数据采集终端;GPS;3G;VoIP

随着我国物流行业的飞速发展,物流企业对物流运输车在路上的车辆行车状态问题和最优路线规划问题越来越重视。物流企业对车辆在行驶过程中的有效监控成为了目前亟待解决的问题之一。同时,随着汽车电子技术和移动通信技术的飞速发展,移动互联网的载体——物流车辆车载终端已成为研究热点[1]。车载终端在运输车远程行驶过程中为后台控制中心人员及时提供运输车辆行车状态信息提供了重要的保障。目前市场上物流监控类的产品大多功能比较单一,只是利用GPS对车辆进行定位,或者只能将监控数据保存在本地而不能及时将监控信息传回监控中心[2],行业内采用的物流车载终端集中在定位和数据回传,功能较单一,缺乏可视化操作[3],软件的功能简单,可移植性差,计算速度不够快,机器的功能不丰富[4],难以满足物流企业对远程物流运输车辆的监控需求。移动车辆从网络到另一个网络时,很难保持无处不在的连接性和可接受的质量保证服务[5]。如何提高对行车状态数据获取的实时性和准确性变得更加重要。

基于以上问题,本文提出并设计一款以ARM处理器为基础、Linux为内核的数据采集终端。本文的主要工作由以下两部分组成,第一,终端采集数据,经过处理后,再通过3G无线网络传输至后台监控中心,然后在后台Web服务器端的地图上显示车辆的运动轨迹,并且可以查询车辆的经纬度、车速、刹车温度等车辆信息。第二,在此基础上开发了一款应用于终端上的VoIP网络电话,同时利用网络编程在终端上实现TCP客户/服务器通信模块。终端在联网状态时可实时接收后台发送的语音广播和消息广播,中心监控系统可以对车辆进行实时监控和交互,提高交通管理的能力,并确保车辆运行安全[6],并同时提高管理部门的运输生产组织水平、提高车队调度效率,同时对监督驾驶员超速行车、监控车辆行踪等具有重要的作用[7]。

1 系统总体设计

1.1 系统功能介绍

物流车载终端监控管理系统由多个车辆数据采集终端和后台管理系统组成,各个车辆数据采集终端可以对各自物流运输车辆的经纬度、车速、刹车温度等行车状态信息进行采集,并进行相应的数据处理。同时,测量的数据经3G无线通信网络发送到后台管理系统,后台服务器端对接收到的数据进行解析、保存、显示等处理。

终端创新性地融合了GPS高精度定位技术、温度传感器技术、数据处理技术、3G无线通信技术,在此基础上实现对行车状态信息的本地显示、采集和上传,并开发一款应用于终端VoIP网络电话,利用Qt开发的网络程序实现了后台服务器与终端之间的实时通信功能。通过设置相应的预警值,当车速和刹车温度超过设置的预警值在终端实时报警并上报至系统。

1.2 系统总体设计

数据采集终端的主要目标是精确采集GPS模块和温度传感网络的原始数据,将原始信息通过正则表达式或者按协议解析出所需数据,同时将数据在本地终端界面显示,最后将获取的数据按协议打包后通过UDP协议上传至后台服务器端,在此基础上实现基于PJSIP库的VoIP网络电话,并且实现接受服务器端发来的语音广播和消息广播。数据采集终端的系统总体设计如图1所示。

图1 系统总体框架图

整个系统由采集终端和后台管理系统组成,采集终端主要包括GPS模块、温度传感器网络、显示和交互模块、3G模块、音频模块、电源模块。GPS模块和温度传感器网络用于采集底层的数据上传到应用层,显示交互模块用于在本地终端显示采集的数据以及人机交互,3G模块主要目的是将数据上传至后台以及终端与后台之间实时通信,音频模块则主要用于VoIP网络电话、语音广播和超速语音警报。

2 数据采集终端硬件设计

采集终端主要采用AM335X芯片,该芯片处理速度快、体积小、兼容性好、软件支持丰富、可扩展性强。AM335X内部有32 kbyte的L1高速缓存,256 kbyte的L2高速缓存,通过串口将数据上传,支持移动双倍速率同步动态随机存储器DDR3,支持通用存储器SRAM用来存储采集的数据,系统的各模块相互配合,并发运行,有利于提高系统运行效率。系统硬件设计框架如图2所示。

图2 系统硬件设计框图

3 数据采集终端软件设计

整个终端软件部分的主要功能包括数据采集上传、数据显示、VoIP网络电话,附加功能包括通信模块相关的语音消息和文字消息等,系统设置界面的屏幕背光设置、日历显示、采集器配置、发送数据包信息等。在嵌入式操作系统中,Linux操作系统因具有精简的内核以及优异的性能[8]得到了广泛关注,因此,选用Linux操作系统作为终端的软件开发平台,在此平台基础上选用Qt为应用软件图形界面的开发,可移植性好, 扩展性强。由于采集的数据量较多,运行任务较大,整个软件采用模块化结构程序设计,各个模块根据各自不同的功能进行编写和调试,当各模块分别调试满足终端的功能需求后,再将其组合起来成为整个终端所用的应用软件。软件系统设计框图如图3所示。

图3 系统软件设计框图

终端的应用软件设计主要由数据采集上传模块、数据显示模块、VoIP网络电话、实时通信模块和系统设置模块5部分组成。

3.1 数据采集上传模块

上传数据从GPS模块和温度传感器处获取。终端上电后,GPS模块在每个固定周期内通过串口自动向主机上报GPS数据,GPS数据包括了6种输出语句,本终端主要需要GNRMC,GNGGA,GNGSA这3种输出语句。从GNRMC输出语句获取标准定位时间、定位状态、

经纬度、南北半球指示器、东西半球指示器、对地速度和对地方向,从GNGGA输出语句获取卫星定位数量,从GNGSA输出语句获取卫星定位状态、水平精度稀释值HDOP等行车信息。温度探头上电后,终端根据通信协议往RS-485串口轮流向各个探头发送读取温度数据,探头在收到终端的读取温度命令后根据协议上传自身的温度数据,终端根据协议解析出温度数据。

程序首先实现管理串口基类SerialPortManager,再将管理GPS数据GpsSerialPort类和管理温度数据的TemperatureSerialPort类继承至基类。进程中开启一个线程管理GpsSerialPort对象,串口定时读取GPS数据后用正则表达式匹配提取所需的信息后,将提取的信息用信号槽发送至CarStatus对象。进程中再开启一个线程管理TemperatureSerialPort对象,串口读取数据后,将温度探头的地址温度数据绑定,按协议解析出各温度探头的数据,确保数据解析正确,将数据用信号槽发送至CarStatus对象,如图4所示。

图4 数据采集模块工作流程图

在CarStatus对象中将各个数据根据控制中心与终端之间制定的数据上传协议分别填充至协议格式中,通过UDP协议经3G通信网络上传至后台管理系统,后台服务器端根据协议解析数据、保存、制表以供后台工作人员查询。数据上传协议如图5所示。

图5 数据上传协议

物流车辆在行驶过程中由于信号不稳定,需要AT指令来检测当前信号的强度,采用信号强度来控制发包的速度,当信号强度大于80时,每5 s发送1个包;信号强度大于40小于80时,每5 s发送2个包;信号强度小于40时,每5 s发送3个包。使用这种方式控制发包频率可在网络环境较差的地区减少数据包丢失率。

3.2 数据显示模块

司机无法直接获知刹车温度、车速和经纬度,可以采用Qt编写行车状态界面通过触摸屏显示车辆信息,界面显示数据主要包括刹车温度、车速、经纬度,数据采集模块采集到行车状态数据后在Qt编写的行车状态界面进行本地显示,刹车温度与经纬度超过预警值时,将数据字体变颜色提示司机行车数据异常,同时向底层系统发送信号,发出语音警告。

3.3 VoIP网络电话模块

传统的车载终端缺少独立的即时通信模块,终端与后台之间无法直接进行通信。针对此问题,在终端上开发实现一款VoIP网络电话,有利于终端与后台之间消息的即时传递。通过使用开源的PJSIP协议栈,并调用其中的库函数来进行二次开发完成项目需求。PJSIP是一个用C语言实现的基于标准协议如SIP,SDP,RTP,STUN,TURN和ICE的免费开源多媒体通信库。它结合了信令协议(SIP)、丰富的多媒体框架和NAT穿越功能转化为高层次的API,几乎适用于任何类型的系统,包括台式机、嵌入式系统、手机。PJSIP结构紧凑,功能丰富。它支持音频、视频、在线状态和即时消息,并拥有大量的开发文档。在移动设备上抽象系统相关的功能,在许多情况下,能够利用该设备的本地多媒体功能[9-10]。PJSIP静态库布局如图6所示。

图6 PJSIP静态库布局

PJSIP协议栈提供的库为实现网络电话提供了非常全面的支持,使用交叉编译,将PJSIP库和音频库编译到开发板的固定路径上,为应用程序提供支持。采用面向对象的思想,将PJSIP所需的函数封装成类,来完成VoIP网络电话客户端的实现。VoIP客户端主要由初始化、注册、拨号、挂断这4部分组成,下面主要介绍在嵌入式Qt上实现网络电话这4个部分的主要调用的函数和部分细节。

初始化部分实现流程如下,首先用pjsua_create()函数创建pjsua,接着注册on_incoming_call(),on_call_media_state(),on_call_state()这3个回调函数,配置由pjsua_config定义的参数cfg,用pjsua_logging_config_default(&log_cfg)绑定由pjsua_logging_config定义log_cfg,由pjsua_init(cfg,log_cfg,NULL)完成pjsua的初始化。然后用pjsua_transport_config定义一个cfg变量,cfg.port设置通信端口为5060,调用pjsua_transport_create (PJSIP_TRANSPORT_UDP, &cfg, NULL)函数为pjsua添加UDP传输,配置完以上参数后最后调用pjsua_start()函数开始pjsua。

注册部分实现流程如下,先由 pjsua_acc_config 定义的cfg变量进行相关参数的设置,调用pj_ansi_snprintf(reg_uri,PJSIP_MAX_URL_SIZE,"sip:%s",domain),pjsua_acc_add(&cfg, PJ_TRUE, &g_acc_id)等函数来实现对客户端往服务器的注册。

拨号部分主要实现流程如下:先取出已在文件系统中写好的服务器地址和客户端注册信息,再调用pj_ansi_snprintf(),pjsua_acc_add(),pjsua_verify_url(),pjsua_call_make_call()等函数来完成对VoIP的拨号功能。

挂断部分只需调用pjsua_call_hangup_all()函数来实现断开回话,释放已占用的资源,结束双方的通信。

上述4个部分的完成可实现VoIP客户端拨号、接听和挂断的功能,但由于NAT(网络地址转换) 阻断了SIP的通信,因此如果要实现VoIP在公网上的通信,需要解决端口映射问题。对此,本文首先在云服务器通过RTP代理的安装和配置,在云服务器配置opensips服务器来实现对NAT的穿透。然后在数据库中添加VoIP客户端的用户名和密码,接着在客户端拨号前完成向opensips服务器的注册,最后拨号实现客户端与后台之间的语音通信,系统工作的框图如图7所示。

图7 VoIP工作框图

3.4 实时通信模块

当后台有消息需要同时通知驾驶室司机时,可通过语音广播和消息广播将信息同时发送到多台终端。Qt 把网络编程有关的数据结构和函数封装成类,使软件开发过程变得简洁、高效,可重用性较好,用户使用非常方便[11]。本终端在Linux 环境下利用Qt封装好的网络编程相关的类,构建客户端,实现与后台的通信。TCP协议是一个面向连接的传输层协议,为用户进程提供可靠的全双工通信。通常情况下,由于终端与服务器通信用的是同一条TCP连接,对于应用程序来说,TCP传输的是一串字节流,在通信传输过程中需要设置相应的标志位来区分语音传输和文字传输。TCP客户端/服务器通信流程图如图8所示。

图8 TCP客户端/服务器流程图

在双方数据传输前,服务器端首先开启监听,设置监听地址与端口号,然后终端建立一个TCP连接到远程的服务器,若连接失败则用控制重连算法来进行失败重连,连接成功后双方建立通信。经过实测,双方建立连接后,终端接收服务器发送过来的语音后会自动播放,满足实时通信的需求。

3.5 系统设置模块

在实际测试中发现物流运输车经常是在晚上行车,司机对于液晶屏发出的亮光比较敏感,可系统设置模块,设置数据采集终端屏幕亮度,同时在此模块中添加采集器ID选择、恢复出厂设置、在线更新软件等功能,便于实际应用。

4 测试结果

经过实际测试数据结果显示,终端可对车辆行车信息正确采集,其精确度能控制在有效范围之内:车速±4 km/h,经纬度±20 m,刹车温度±5 ℃,行车信息传输至后台服务器进行解析保存更新,便于人员对数据进行查看。经过实际测试,VoIP客户端可以正常地在opensips服务器注册,注册成功后进行拨号,客户端与后台之间能进行实时语音通信,语音质量良好,VoIP网络电话音质清晰,满足实际的需求。终端界面实际效果图如图9所示。

图9 终端界面实际效果图(截图)

终端在云服务器注册成功后双方可进行电话通信,图10显示了终端注册成功后的信息。

图10 用户注册成功后台显示的信息(截图)

5 结束语

数据采集终端是物流车辆监控管理系统的重要组成部分,同时也是驾驶员与后台控制中心人员进行实时通信的主要设备。本文主要介绍了终端的软件设计部分,包括行车数据采集、上传和显示,VoIP网络电话,实时通信模块等。该终端目前能有效满足物流行业对运输车的管理需求,提高对物流车辆的管理效率,对物流车辆车载终端的发展提供了实践支持和参考价值。同时,车载导航是终端的重要组成部分,对物流运输行业有十分重要的意义,终端的下一步工作是在现在的基础上实现地图导航功能,进一步满足运输车辆的实际需求。

[1] 何维,张彦会,粟腾超,等.基于GPS/GPRS/RFID物流车载终端的设计[J]. 广西工学院学报,2014,25(4):59-63.

[2] 陈征.基于物联网的物流监控车载终端设计[D].天津:天津大学, 2012.

[3] 林蓁蓁,李庆,梁艳菊,等.一种可用于危险品运输的智能车载终端设计与实现[J].微计算机应用,2011,32(10):27-32.

[4] XU J,LI Y K,ZHOU R Y,et al. Based on embedded intelligent vehicle system[C]// Proc. 2010 International Conference on Computer and Communication Technologies in Agriculture Engineering. [S.l.]:IEEE,2010:49-52.

[5] TRIKI B, REKHIS S, BOUDRIGA N. Secure and QoS-aware SIP handover for VoIP communication in vehicular adhoc networks[C]//Proc. Wireless Communications and Mobile Computing Conference. [S.l.]:IEEE,2011:695-700.

[6] ZHAO S P,TIAN M,ZHANG S F, et al. Control information and data processing of vehicle based on global position system[J]. Journal of networks,2013,8(5) :1175-1182.

[7] 何小卫,王爱华,马跃.基于GPRS的GPS车载终端通信技术研究[J].计算机应用, 2008,28(11):2952-2954.

[8] 邱晓晖.基于ARM9的嵌入式Linux系统移植与驱动开发[D].南京:南京邮电大学, 2013.

[9] WEI L F,WANG Q H,REN H W. Software design of embedded video telephone based on PJSIP stack[C]// International Conference on Hybrid Intelligent Systems. [S.l.]:IEEE,2009: 231-234.

[10] ZHANG R S,WANG X Y,YANG X H,et al. On the billing vulnerabilities of SIP-based VoIP systems[J]. Computer networks,2010,54(11) :1837-1847.

[11] 黄翩,张琼,祝婷.基于Qt的一个服务器多个客户端的TCP通信[J].电子科技,2015,28(3):76-78.

李 栋(1992— ),硕士生,主研通信网测试技术;

张治中(1972— ),博士生导师,主要研究方向为第三代移动通信测试技术、宽带信息网络、NGN 网络等;

邓炳光(1978— ),副教授,主要研究方向为通信网与测试技术。

责任编辑:闫雯雯

Design of data acquisition terminal for GPS/3G-based logistics truck

LI Dong, ZHANG Zhizhong,DENG Bingguang

(CommunicationNetworksTestingTechnologyEngineeringResearchCenter,ChongqingUniversityofPostandTelecommunications,Chongqing400065,China)

In order to satisfy the demand of high quality management of transportation vehicles in the logistics industry, combined GPS global positioning, 3G wireless communications, temperature sensors, data processing and other related technologies, data collection terminal used in logistics trucks is designed. The terminal can accurately measure the brake temperature, latitude and longitude, speed, positioning mode and other relevant parameters, as well as real-time data upload, VoIP network phone and real-time communication capabilities other functions, the terminal obtain a good application in the logistics industry.

data collection terminals; GPS; 3G; VoIP

李栋,张治中,邓炳光. 基于GPS/3G物流运输车数据采集终端的设计[J].电视技术,2016,40(12):40-45. LI D, ZHANG Z Z,DENG B G. Design of data acquisition terminal for GPS/3G-based logistics truck[J]. Video engineering,2016,40(12):40-45.

TN919

A

10.16280/j.videoe.2016.12.008

重庆高校创新团队项目(KJTD201312);中青年科技创新领军人才项目;百名工程技术高端人才项目

2016-05-10

猜你喜欢

后台行车客户端
如何看待传统媒体新闻客户端的“断舍离”?
Wu Fenghua:Yueju Opera Artist
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
后台暗恋
夜间行车技巧
后台朋友
吉普自由光行车制动易熄火
调度调整在地铁行车组织中的应用