基于ZigBee车辆间通信模拟系统设计与实现
2015-05-15韩娜欧阳龙坤陈东伟
韩娜,欧阳龙坤,陈东伟
(北京理工大学珠海学院计算机科学技术学院,珠海 519085)
基于ZigBee车辆间通信模拟系统设计与实现
韩娜,欧阳龙坤,陈东伟
(北京理工大学珠海学院计算机科学技术学院,珠海 519085)
采用嵌入式技术及物联网技术,在Linux操作系统上开发基于Qt4.5的应用程序框架,结合ZigBee(CC2530)硬件模块和Cortex-A8开发板平台,设计与实现一套基于ZigBee车辆间通信模拟系统,其主要包含两个功能,ZigBee模块的自组网架构下的数据无线传输功能和眼部状态识别功能。该系统不仅实现驾驶员模拟疲劳状态的实时监测,而且能实现车辆信息的交互等功能,具有实用性强、可靠性高等特点,有广阔的应用前景及市场前景。
ZigBee;Qt;无线通信;自组网
0 引言
现在随着智能化的不断发展,智能交通系统也慢慢地突出它的显著地位。在全球发展的同时,交通这个问题日益显著,智能交通中车辆间通信系统成为了重要的研究内容,获得了世界广泛的关注。实践证明,车辆间通信可以使车辆发生碰撞前发出报警,将大大地提高车辆安全性能。从Daimler-Benr公司的研究表明,车辆之间仅需要预先1秒的报警,就可以减少50%到90%的追尾事故发生率。因此,国外应用以及车辆间通信系统已经开展了深入的研究,并且世界各大汽车公司都投入了大量的人力和物力去研究和实现。
在国外,智能车辆间通信系统的研究已经有20多年的发展。在1999年时,美国交通部就投入三千五百万美元和通用汽车公司合并开展车辆间通信系统的研究。目前,在美国、德国、日本等汽车工业大国在车辆间通信系统方面都已经获得了一定的实用化研究成果,并且在此基础上,还加入诸如主动避撞、自动巡航等一系列功能,从而逐渐开发出一系列的智能产品,使汽车的安全性能和自动驾驶性能迈上一个新台阶。
智能交通系统是解决公路交通问题的有效途径。智能交通系统是指将先进的信息技术、数据通信技术、电控制技术和系统集成技术等有效地应用于公路交通的建设与管理,从而加强车辆、道路、使用者三者之间的联系,从而形成一种安全、高效的交通管理系统。
基于ZigBee车辆间通信系统设计与实现,一方面可以让驾驶员知道其附近车辆的车速与转向灯方向等车辆信息,大大地提高了车辆人员的安全性与减少了因驾驶员的个人因素造成的车辆事故。另一方面有助于交通警察对造事车主的犯案追查,因为车辆间通信可以将事发前的数据存储下来,例如车速、方向的数据等,这样就可以判断到底肇事车主是否因超速而导致事故发生。
1 功能设计
车辆间通信模拟系统框图如图1所示。
车辆间通信模拟系统模型图如图2所示。
硬件环境:基于Cortex-A8的硬件开发平台、摄像头、Wi-Fi模块以及ZigBee模块
软件环境:Linux操作系统、IAR 8.10、Qt-embedded-linux-opensource 4.5、VS 2010
本系统通过摄像头模块采集驾驶员的图像数据,利用人眼定位以及人眼特征的提取技术,结合自行设计的动态滑动窗口人眼状态判断算法,判断出驾驶员的疲劳状态。车载终端通过Wi-Fi模块发送采集到的定位数据及驾驶员当前疲劳状态信息到监控中心,监控中心实时保存至数据库。
图1 车辆通信模拟系统的系统框架图
图2 基于ZigBee车辆通信模拟系统的模型
车辆终端通过ZigBee自组网技术与其他车辆在特定区域上联系起来,在无线传输技术下进行信息交互,从而达到模拟车辆间通信。当终端应用程序检测到驾驶员处于疲劳状况,将数据发送给串口缓冲区,Zig-Bee从串口缓冲区接收到数据,无线发送给ZigBee协调器,由协调器转发该车的疲劳状况给附近的车辆,告诉驾驶员附近有处于疲劳状况的驾驶员。
该系统的ZigBee无线传输技术,设计每辆携带ZigBee终端节点的车在进入一个协调器可允许组网范围内就自动分配一个特定地址给车辆,这样在一个协调器允许组网的区域内,每辆车都是独一无二的,就可以结合无线通信技术,在特定区域内进行车辆间无线数据交互,达到模拟无线通信系统效果。
2 系统硬件设计
本系统采用是PC、Cortex-A8开发板、ZigBee(CC2530)无线传输模块、摄像头等硬件平台。
2.1 CC2530特性
CC2530是ZigBee应用模块上的一个片上系统(SoC)解决方案,其工作频段在2.4GHz,内置增强型的51单片机。其能在低成本、低功耗、远距离上建立强大的无线通信网络节点。片上系统内有可编程的闪存,拥有良好的RF收发器的性能与作用,8KB RAM能使系统运作流畅,并且还拥有许多其他强大的功能。
CC2530芯片有着不同的闪存版本,分别有32/64/ 128/256 KB的闪存。因而其具有不同的运行模式,所以使得它特别适应超低功耗要求的系统。运行模式之间的转换时间短,能很好地确保低能源消耗。
2.2 硬件电路的设计
系统硬件结构图如图3所示。
图3 系统硬件结构图
系统的硬件采用模块化设计。根据功能的不同,主要有以下模块:
(1)Cortex-A8模块:用于运行Qt眼部检测应用程序,外接摄像头、Wi-Fi模块以及串口连接ZigBee终端节点。
(2)数据传输层模块:用于Cortex-A8和ZigBee模块之间的数据传输,主要是串口RS-232。
(3)ZigBee扩展模块:采用单播方式实现无线数据发送给协调器。
(4)ZigBee协调器:采用广播方式实现多用户无线数据发送。
(5)监控中心模块:实现车载系统通过Wi-Fi模块上传的数据存储与显示。
3 系统软件设计
本系统主要扩展ZigBee无线通信功能,在系统所需的硬件和相关外围模块已搭建好的情况下,结合眼部检测功能,主要设计ZigBee无线传输的软件程序,实现多辆车基于ZigBee的无线通信功能。
3.1 软件平台搭建
软件平台搭建主要搭建ZigBee开发平台。包括IAR工具和ZigBee协议栈搭建。
(1)IAR工具介绍
IAR Systems是全球领先的嵌入式系统开发工具和服务的供应商。公司成立于1983年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C++编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。
本项目主要基于IAR 8.10工具进行程序开发。
图4 系统流程图
(2)ZigBee协议栈介绍
ZigBee协议栈是由一组子层构成,每一层为其上层提供一组特定的服务:一个数据实体提供数据传输服务;一个管理实体提供全部其他服务。每个服务实体通过一个服务接入点(SAP)为其上层提供服务接口,并且每个SAP提供了一系列的基本服务指令来完成相应的功能。
ZigBee设备在运作过程中,不同的任务执行在不同的层次上面,并且通过层提供的服务,达到完成执行任务的程序。
在协议栈上的每一层中提供的服务主要完成两种功能:
①一种功能是依据其下层服务要求,为上层提供相应的服务程序。
②一种功能是根据其上层的服务要求,对其下层提供相应的服务。
上述的各层服务都是通过服务原语来实现。
图5所示,ZigBee协议栈的体系结构包括有:应用层(应用程序)、网络层、MAC层和PHY层。整个协议栈基于标准的7层开放式系统互联模型。IEEE802.15.4 2003标准定义了最下面的两层:物理层(PHY)和介质接入控制子层(MAC)。ZigBee联盟提供了网络层和应用层(APL)框架的设计。其中应用层的框架包括了应用支持子层(APS)、ZigBee设备对象(ZDO)和由不同制造商制定的应用对象。
本项目主要基于ZStack-CC2530-2.5.1a协议栈进行程序开发。
图5
3.2 ZigBee模块应用程序开发
本系统ZigBee数据传输模型如图6所示,每个ZigBee协调器在自身有效功率的范围内自组一个无线网络,大概这个范围有150~300米左右,每个ZigBee终端节点进入该网络会自动加入该区域的网络,所以这个区域内的多个ZigBee终端节点可以通过ZigBee协调器进行信息无线交互,从而可以模拟一个基于Zig-Bee车辆间通信的模拟系统。
(1)ZigBee终端节点设计
①设计终端标志id(每个车载终端都必须定义不同的id),用于标志一辆车载终端,并防止该ZigBee终端重复接收自身发送的数据。
②定一个回调函数,ZigBee终端节点接收到串口数据后,自动调用回调函数,并以单播方式无线发送数据给协调器。
③ZigBee终端节点接收到无线数据后,判断该数据的标志位是否为本身,如果是就不做处理,否则就将接收到的数据写入串口(该项目模拟只有两个车载终端,标志位分别是0x01和0x02)。
(2)ZigBee协调器设计
①协调器接收到无线数据,就以广播方式无线发送数据给其网络范围内的ZigBee终端节点,分别调用以下两个函数,第一个是接收到无线数据执行LED灯的变换,第二个是发送由ZigBee终端节点发送过来的标志位数据和处理数据。
3.3 眼部状态检测应用程序开发
本系统首先由摄像头采集头部人脸彩色图像,然后对图像进行预处理(图像灰度化和图像均衡化),去除实际图像中存在的噪声,放大图像细节,为后续的图像处理环节保证源图像质量。利用基于Haar-like特征[6]的级联人眼分类器对预处理过的图像进行人眼定位,再把定位出来的人眼图像进行二值化(采用OSTU最大类间方差算法来对灰度图像进行自适应的二值化)[7]。接下来通过得到的人眼二值图,计算出图像中平均每条垂直线段所占的像素值用以判断眼睛的闭合状况,从而进行人眼特征提取。由于光照问题,眼睛可能出现反光现象,可以在垂直方向上,将相邻很紧的黑色线段合并以改善反光带来的问题。最后是通过计算人眼的持续闭合时间,根据PERCLOS标准来确定是否疲劳。
4 结语
本项目在PC平台上实现了基本的疲劳驾驶监控终端系统,并使用Cortex-A8开发板搭建了一个疲劳检测的车载终端系统。重要的是为车辆交通管理提供一个解决方案,并且应用了物联网的概念,实时监控车辆的信息,其核心在于驾驶员疲劳的检测和车辆之间信息的互通形成提醒作用,并且将这些信息传递给监控中心,同时完成提醒工作。项目车辆之间的通信以ZigBee模块为基础,实现车辆数据的无线发送,在特定的区域内实现车车通信,达到驾驶员能了解附近车辆的状况,并提前做出相应的安全驾驶措施。这个项目还拥有多种扩展模式,应用前景广阔,希望在后面的时间,可以对周围车辆发出求助信息。物联网概念的融合,使得这个项目变得更有发展潜力,满足各类市场需求的同时,也帮助了交通部门的监控及案件处理的工作。
图6
[1] 龚冠祥,梁杰申,梁辉宏.基于DSP的疲劳驾驶预警系统的设计[J].微计算机信息,2009,5
[2] 刘松岩.基于计算机视觉的驾驶员驾驶疲劳监测系统的设计[D].秦皇岛:燕山大学,2009
[3] 高键,方滨,尹金玉,胡葛军.ZigBee无线通信网络节点设计与组网实现[J].计算机测量与控制,2008.12.25
[4] 闫沫.ZigBee协议栈的分析与设计[D].厦门大学,硕士学位论文,2007.5
[5] 方志辉.基于嵌入式平台的疲劳驾驶参数信息融合研究[D].太原理工大学,2011.6.8
Design and Implementation of Inter-vehicle Communications Simulation System Based on ZigBee
HAN Na,OUYANG Long-kun,CHEN Dong-wei
(School of Computer Science and Technology,Zhuhai Department,Beijing Institute of Technology,Zhuhai 519085)
With embedded technology and Internet of Things technology,based on the Qt4.5 on the Linux operating system,develops the application framework.Combined with ZigBee(CC2530)hardware modules and Cortex-A8 developing platform,designs and implements an inter-vehicle simulation communication system based on ZigBee,including two main functions:data wireless transmission and ocular status recognition resulting from the MANET structure of ZigBee module.The system not only supervises drivers'fatigue situation,but also realizes the transmission of information among different vehicles,with the particulars of practical,dependable and applicable with broad and promising market prospect.
ZigBee;Qt;Wireless Information Transmission;MANET
1007-1423(2015)03-0026-05
10.3969/j.issn.1007-1423.2015.03.007
韩娜(1981-),女,硕士,助教,研究方向为物联网工程、嵌入式系统
欧阳龙坤(1992-),男,广东东莞人,本科,研究方向为计算机科学与技术
2014-12-02
2015-01-04
陈东伟(1982-),男,河南获嘉人,硕士,讲师,研究方向为嵌入式系统设计与应用