曹成涛(广东交通职业技术学院智能交通工程技术应用中心,广东广州 510650)
TinyOS环境下交通信息采集自组网系统设计**国家自然科学基金资助项目(编号:50878088);广东省高等学校学科建设专项项目(编号:2013WYXM0133);广东省高等学校优秀青年教师培养计划资助项目(编号:Yq2013180)。
曹成涛
(广东交通职业技术学院智能交通工程技术应用中心,广东广州510650)
摘要:针对传统交通信息采集的弊端,基于IEEE 802.11p标准,利用ARM3000平台提出了一种TinyOS环境下交通信息采集自组网系统方案,给出了系统的整体框架结构,详细介绍了TinyOS环境下交通信息采集自组网系统的MAC层、路由层和应用层的设计方法,给出了自组网系统中传感节点、汇聚节点、管理节点的软件工作流程。以通用城市交叉口为例,从检测数据的可靠性、时延、传输距离等3个方面对系统进行了测试,结果表明,该方案稳定可靠,对进一步开发相关的实用系统具有参考意义。关键词:交通信息采集;TinyOS;自组网方案;传感器节点
交通信息采集是实现智能交通控制与交通诱导的前提,一直是智能交通领域研究的热点之一。目前广泛应用的线圈、压电等交通检测器以有线接入为主,在传感器至信号处理器之间需要大量电缆。这种方式存在着明显不足,需要在交叉口或高速公路沿线布设大量的信号传输线和电源线,导致系统建造、安装、维护复杂,设施扩建更新困难、设施环境信息检测灵活性差,信息检测在空间位置上无法随时调整,不能适应新时期交通信息采集对时空参数即时性的要求。传统的以总线方式设计的交通信息采集传感器网络需要人工进行精确的线路布设和节点管理,而且节点的体积较大、耗能较高。人们布设传感器网络是为了获得每个节点的信息,没有注重节点之间的协同工作,导致网络功能单一、测量精度不高、覆盖范围较小。
无线传感器网络(Wireless Sensor Network)的出现,较好的解决了传统交通信息采集方式难以更新、扩容的问题[1]。交通信息采集自组网是无线传感网在智能交通领域的一个主要应用,可实现人、车、路的互相感知,有极大的应用前景和发展潜力。交通信息采集自组网能否在现实中取得应用,关键在于系统的自组网路由协议能否满足交通信息采集实时性的需要。金纯[2]等基于IEEE 802.11p标准,对车路互联网中RSU(路边单元)和OBU(车载单元)之间的通信进行了仿真和分析。何鹏[3]等提出一种拓扑相对稳定的车辆分簇算法和基于分簇的多信道混合型MAC协议,并通过模拟仿真证明了算法的有效性。Kara⁃giannis G[4]等对车路协同的系统架构、搭建方法方面进行了研究,李建坡[5]等建立了一种无线传感网路由算法。综上,国内外学者在交通信息采集自组网传输机制和传输标准等方面进行了有益的研究,但多数集中在理论仿真,交通信息采集自组网的实际应用仍处在探索阶段[6]。
本文基于IEEE 802.11p标准,利用ARM3000平台提出了一种TinyOS环境下交通信息采集自组网方案,给出了系统的整体框架结构,详细介绍了TinyOS环境下交通信息采集自组网系统的MAC层、路由层和应用层的设计方法,给出了自组网系统中传感节点、汇聚节点、管理节点的软件工作流程。在ARM3000的显示界面列出所有交通信息采集节点的ID,当选中一个节点时,能够以曲线图的方式动态的表示该节点交通流量等交通信息的变化情况。得到节点的RSSI(Received Signal Strength Indicator)值和电池数据后,在ARM平台上以图元的方式表示节点电池剩余量和信号强度。这样用户就可以掌握节点的电池情况,并及时地更新节点的电池。通过平台上的LED显示监测区域内各交叉口的交通流量信息,这样用户就可以掌握整个区域内交叉口的交通状况。当交通流量信息超过设定的阈值时能够蜂鸣器报警和灯光报警,提示管理者交叉口交通出现异常。以某通用城市交叉口为例,从检测数据的可靠性、实时性、传输距离等3个方面对系统进行了测试,结果表明,该方案通信稳定,丢包率低,该研究对进一步开发相关的实用交通信息采集自组网系统打下了基础。
系统结构如图1所示:WSN节点上的地磁传感器实时检测所在车道的交通流量、车速、RSSI值和节点能源状况等相关数据,然后节点通过无线网络将数据发送到ARM3000平台上的Sink节点。Sink节点通过串口与ARM平台通信。在ARM平台的用户终端上,通过LCD等方式向用户提供交叉口的交通信息。用户通过ARM平台可以直接向交通信息采集传感器节点发送控制命令,设定在不同时间段或不同交通情况下的采集频率、报警值等,从而提高系统的灵活性和减小节点能耗。例如,当把系统应用到一个新的交叉口时,针对交叉口交通量状况,可以相应的调整设定不同的交通流量报警阀值。将ARM3000平台接入Internet网或局域网,让ARM平台起网关的作用。通过TCP/IP协议,可以把无线网络中采集到的数据传输到交通信息中心服务器上,为实现区域交通绿波控制或智能诱导提供基础数据。
图1 交通信息采集自组网系统结构图
本设计中WSN交通信息采集节点采用美国加州大学伯克利分校提出的Mica2型号节点改进而成,由于传感器维护会对交通造成影响,因此需选用低功耗稳定的处理器芯片,以延长交通信息采集节点的使用寿命。处理采用ATME的8位低功耗单片机Atmega128L,无线传输单元采用TI公司的低功耗无线收发模块CC2530,采用ISM短距离通讯工作频带在915 MHz。传感采集单元采用地磁传感器HMC1021,电源模块采用普通纽扣电池。此外,利用Atmega128L自带的ADC电路获取工作电压值,可以换算电池的剩余能量,以及信号强度值RSSI。WSN交通信息采集节点组成如图2所示。
图2 WSN交通信息采集节点
2.1Mac层设计
目前交通自组网普遍采用IEEE 802.11p标准,笔者基于此标准在TinyOS环境下设计了自组网的Mac层。Mac层主要由7个组件完成,并提供相应的接口给高层使用。MAC层7个组件的关系如图3所示。
图3 交通信息采集自组网Mac层组件关系图
(1)AMStandard是活动消息(AM)层的标准组件。
(2)MicaHighSpeedRadioM是协议栈的控制中心,它通过调用底层的组件间接地和硬件通信。
(3)ChannelMonC是负责信道检查的组件。当检测到信道处于空闲时,它就会通知高层的组件。
(4)SpiByteFifoC使用Atmega128L的SPI,负责一位一位的接收或发送广播数据。
(5)RadioTimingC组件通过调用单片机里硬件计数器的值,产生一个用于收发双方同步的时间值。
(6)SecDedEncoding组件负责对字节进行编码和译码。
(7)SlavePinC组件调用硬件抽象层(HPL)函数操作硬件引脚。
(8)RandomLFSR组件用于获得一个随机数,以决定当检测到碰撞时,当前节点等待广播信道的时间。
下面介绍MAC层发送、接收数据的过程:当节点要发送一个数据帧时,要先等待一段随机时间,检测信道是否处于空闲状态。如果信道处于空闲状态,接着就发送12个字节的数据帧开始标志,然后就可以发送数据了。发送完数据后,节点就进入了等待ACK帧状态。其实,在广播栈初始化之后,节点在Mac层就一直处于监听信道的状态。如果接收到了数据帧的开始标志,那么Mac层就知道了,接下来接收的就是真正需要的数据帧了。节点在接收完一个数据帧之后,必须发送一个确认帧,通知发送方“我已经收到数据”。
2.2路由层设计
TinyOS中将所有通信数据都封装为活动消息(Active Message)。活动消息(AM)的定义如图4。
图4 AM消息结构
目的节点地址addr是消息发往的节点ID。
(1)消息句柄type将在接收节点中调用,可以把句柄ID看作是一个在消息头部中的整数或“端口号”。
(2)消息组group是规定只有在同一个组下的节点能够通信,默认为0x7E。
(3)数据段字节数length是数据段的字节数目。
(4)数据段data最大允许长度为29字节。
(5)crc校验字段是从addr到data字段的校验值。
(6)ack字段为1表示消息成功发送;为0表示消息没有成功发送。
路由层的定义是实现多条路由的关键。路由层定义如图5。
图5 路由层数据格式
节点的路由状态广播包括节点自己的ID号、到汇聚节点的跳数、路由状态广播消息的编号以及到邻居节点的链路评估信息等。由于前3项都在路由层定义了,所以在路由分组中不需要再定义了。路由状态分组格式如图6所示。
图6 路由状态分组格式
节点就是通过在estList表中查找节点ID号是自己的表项,再把receiveEst填写到路由表中发送路由状态包的节点表项的sendEst。节点接收到邻居节点的路由状态分组之后,就保存在自己的路由表中。
2.3应用层设计
根据规范和设计要求,轴系相邻法兰上的偏移值δ和曲折值Φ为:δ≤0.10 mm,Φ≤0.10 mm/m。从表1和表2可知,两组法兰上的偏移值和曲折值满足设计和规范要求。
从WSN交通信息采集节点汇聚到Sink节点的数据包只有两种类型,一种是包含各车道交通流量、车速信息的FSMsg数据包,另一种是包含节点RSSI值和工作电压的RBMsg数据包。通过多跳路由协议就可以将网络内所有节点的数据汇聚到Sink节点。
根据上层消息结构的分析,应用层最大允许长度为22字节。消息结构如图7。
图7 应用层数据包结构图
从Sink节点发送往WSN交通信息采集节点的命令数据包主要包括交通信息采集频率采、异常报警阈值。由于从Sink节点往信息采集节点发送命令数据比较少,所以采用了广播的方式将命令发送到网络内的所有节点上。
3.1交通信息采集传感节点流程
交通信息采集传感节点主要负责自主组成网络、采集数据、上传数据等功能。传感器节点的工作流程如图8所示。
图8 交通信息采集传感节点流程图
3.2交通信息采集Sink节点流程
Sink节点是数据传输的枢纽,在系统中充当路由器的作用,实现在两个网络间数据转发。Sink节点的工作流程如图9所示。
图9 Sink节点流程图
ARM3000主要完成提供人机操作界面、接收并处理Sink节点数据、接收用户输入节点命令、发送控制命令、超阀值报警等功能。ARM平台收到Sink节点的数据后,绘制交叉口交通流量变化曲线图、标示节点的电池剩余量和RSSI值。流程如图10所示。
图10 管理节点流程图
TinyOS是一种专为嵌入式无线传感网络设计的开源操作系统,基于构件的架构使其具有低功耗易实现的特点[7]。在ARM3000平台上移植TinyOS嵌入式操作系统,利用其多任务、高实时的优势完成和Sink节点的通讯以及丰富的采集数据显示方式。因为系统提供了GUI、TCPIP等方面的API。所以笔者的任务就是在这些库的基础上直接进行应用程序的开发。
表1 交通信息采集自组网系统任务定义
4.1系统测试任务定义
因为移植TinyOS后,在操作系统启动时,默认会启动优先级为1、8、9、10、11、59、62、63的任务。所以在应用程序中,一共定义了7个任务。
Uart0_Receive_Task任务解析Uart0发送过来的Sink节点的数据,然后通过消息队列的方式通知Rcvd_Process_Task对数据进行处理。Message_Task响应系统默认消息,如键盘消息、触摸屏消息等。Uart0_Send_Task负责将用户的控制命令发送到Sink节点。UDP_Send_Task将数据转发到PC服务器。UDP_Receive_Task接受PC服务器的数据,获得服务器的IP和通信端口号。Check_NodeLive_Task周期性的检查节点的生命计数器,如果节点死亡,就从节点队列移出。
4.2系统测试结果
如图1所示,分别以双向2车道、4车道、6车道的通用十字形交叉口为例,传感节点安装在交叉口进口道停车线前15 m处,对系统进行了测试。
(1)数据可靠性测试
系统启动后,设置采集间隔为10分钟,利用手动交通调查仪器统计的交通流量为参照与平台采集的交通信息采集到的交通信息对比,由表1可知系统采集交通信息误差最大约为7%。
表2 交通信息可靠性列表
(2)数据时延测试
在通用交叉口,系统的时延随着交通流量的增大和节点的增多呈上升趋势,但时延通常小于400 ms,可以满足交叉口信号控制和交通诱导的需求。
(3)传输距离测试
交通信息采集传感节点设置在进口道停车线前15 m处[8],不同进口方向两个节点间的距离大约28 m,sink节点可以收到两个节点发送的数据。如传感节点设置在进口道停车线前20 m、30 m、50 m处,不同进口方向两个节点间的距离分别为35 m、50 m、77 m,测试表明在节点距离小于50 m时,可以收到节点数据;如节点距离在50~77 m会有找不到节点的情况发生,由于城市交通信号控制检测点通常小于50 m,可以满足实际需要。
表3 系统数据时延测试列表
与传统的线圈等交通信息采集方式相比,基于无线传感器网络(WSN)的交通信息采集有更大的灵活性和方便性,在后期维护、系统布线等方面有着巨大的优势。本文基于IEEE 802.11p标准,设计的TinyOS环境下交通信息采集自组网方案,具有传输数据可靠、时延小、传输距离满足需要等优点,以通用城市交叉口为例,从检测数据的可靠性、时延、传输距离等3个方面对系统进行了测试,结果表明,该方案通信稳定,对进一步开发相关的实用系统具有参考意义。
参考文献:
[1]罗常.基于RC5加密算法的无线传感器网络安全通信协议实现技术[J].机电工程技术,2014(3):15-18.
[2]金纯,徐洪刚,魏星,等.基于IEEE 80211p /1609标准的路车互联网的初步实现[J].计算机应用研究,2011,28(11):4219-4221.
[3]何鹏,阎保平,李志,等. CM-MAC:一种基于分簇的多信道车载网MAC协议[J].计算机研究与发展,2014,51(3):502-510.
[4]G.Karagiannis,O. Altintas,E. Ekici,et al. Vehicular networking:A survey and tutorial on requirements,architectures,challenges,standards and solutions. IEEE Communications Surveys and Tutorials,2011,13(4):584-616.
[5]李建坡,姜雪,朱绪宁.无线传感器网络能耗均衡LEACH路由算法[J].自动化仪表,2014,14(9):51-54.
[6]姚佼,杨晓光.车路协同环境下城市交通控制研究[J].上海理工大学学报,2013,35(4):397-403.
[7]裘莹,李士宁,吴雯,等.通用无线传感器网络节点平台设计[J].计算机工程与应用,2012,48(23):90-94.
[8]杨涛.基于基站切换的交通信息采集技术应用研究[J].现代电子技术,2012,35(15):145-147.
(编辑:阮毅)
坪山将建广东省机器人产业示范基地
近日,“坪山聚龙智谷”成为广东省“2015年省市共建战略性新兴产业基地”。根据省一级规划,机器人产业将成为坪山新区智能制造示范基地的突破口,机器人产业园到2020年底基本建成。
据了解,《广东省智能制造示范基地产业发展规划(2015-2017)(机器人产业示范基地·深圳坪山)》近期正式发布,该规划提出,以打造国际领先、国内一流“机器人产业示范基地”为发展愿景,集聚全球机器人领域的产业资源、科研要素,全力推进新区机器人产业快速健康发展,将新区打造成为全球智造者的天地、机器人的家园、创造家的乐土。
该规划提出,新区机器人产业园力争到2017年初见成效,到2020年底基本建成,形成以机器人技术为核心,以重点项目为着眼点推进智能工业机器人全产业链结构布局,实现工业产值500亿元,力争实现机器人产业年均增长超过20%。培育集聚10家以上技术引领型的国际知名企业、研究机构,使创新资源和要素实现有效的汇聚和深度的合作,建立比较完善机器人设计、研发、检测、试验、验证、认证认可等服务的公共服务认证检测体系,组织实施10个以上重大产业化项目,吸引若干机器人领域的两院院士、千人计划等高端人才团队到新区,以各种形式为新区机器人产业发展提供服务,培养、造就一批具有国际影响力的领军人才,将新区打造成为国际领先的机器人科研创新中心、全球知名的机器人产业集聚基地。
(来源:南方日报)
Design of Traffic Information Collection Ad Hoc Network Based on TinyOS
CAO Cheng-tao
(Intelligent Traffic Engineering Technology Center,Guangdong Communication Polytechnic,Guangzhou510650,China)
Abstract:Aiming at the drawbacks of the traditional traffic information collection,an Ad Hoc Network scheme of traffic information collection based on IEEE 802.11p was proposed by using ARM3000 platform. The structure of the system was introduced. The design method of MAC layer,routing layer and application layer of Ad Hoc Network on tinyos were explained in detail,while the software workflow of sensor node,sink node and management node was given. Taking general city intersection as an example,the system was tested from three aspects of reliability,data delay and transmission distance. It shows that the design scheme proposed is stable and reliable,which has reference significance to develop practical system.
Key words:traffic information;TinyOS;Ad Hoc Network;sensor node
作者简介:曹成涛,男,1981年生,山东济宁人,博士,副教授。研究领域:智能交通系统。
收稿日期:2015-07-29
中图分类号:TP391 U491
文献标识码:A
文章编号:1009-9492 ( 2015 ) 11-0001-06
DOI:10. 3969 / j. issn. 1009-9492. 2015. 11. 001