(计算机应用技术专业论文)基于zigbee技术的智能公交系统监控软件研究与设计.pdf_第1页
(计算机应用技术专业论文)基于zigbee技术的智能公交系统监控软件研究与设计.pdf_第2页
(计算机应用技术专业论文)基于zigbee技术的智能公交系统监控软件研究与设计.pdf_第3页
(计算机应用技术专业论文)基于zigbee技术的智能公交系统监控软件研究与设计.pdf_第4页
(计算机应用技术专业论文)基于zigbee技术的智能公交系统监控软件研究与设计.pdf_第5页
已阅读5页,还剩70页未读 继续免费阅读

(计算机应用技术专业论文)基于zigbee技术的智能公交系统监控软件研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于z i g b e e 技术的智能公交系统监控软件研究与设计 摘要 公交系统以公交车辆作为城市运输的主力车,提高现有公交设施和运 输系统效率,实现公共交通调度、运营、管理的信息化、现代化和智能化, 可以为出行者提供更加安全、舒适、便捷的公共交通服务,从而吸引公交 出行,缓解城市交通拥挤,有效的解决城市交通问题。 本文在比较几种无线网络技术的基础上,深入研究了z i g b e e 无线通 信技术和i e e e 8 0 2 1 5 4 通信规范协议,并通过z i g b e e 无线通信技术、嵌 入式技术、计算机控制技术、l e d 显示技术等多种技术手段,构建了一套 完整的公交信息采集、传输、处理和发布的信息服务和管理平台,设计并 实现了基于z i g b e e 技术的智能公交系统监控软件。 系统使用z i g b e e 节点在城市内沿公交线路构建专用无线自组织网络,设计 了一种合适的公交路由算法,使用g p s 定位技术以及无线射频定位技术对公交 车实时准确定位,并通过自组网络传输公交运行信息到上位机后台进行实时监 控,系统成本较低、无须网络运营费用。 通过对公交系统的设计与实现的分析和讨论,希望可以为z i g b e e 无 线通信技术进一步的发展提供参考和借鉴。 关键字:z i g b e e 技术;智能公交系统;路由算法;监控系统; a b s t r a c t b u st r a n s i ts y s t e m st ou r b a nt r a n s p o r tv e h i c l e sa st h em a i nv e h i c l e s , i m p r o v et h ep u b l i ct r a n s p o r tf a c i l i t i e sa n dt h ee x i s t i n gt r a n s p o r ts y s t e m e f f i c i e n c y , i m p l e m e n tm o d e m ,i n t e l l i g e n ta n di n f o r m a t i o n o fp u b l i c t r a n s p o r ts c h e d u l i n g ,o p e r a t i o n s ,m a n a g e m e n t ,c a nt r a v e lt op r o v i d em o r e s e c u r i t y , c o m f o r t a b l e ,c o n v e n i e n tp u b l i ct r a n s p o r ts e r v i c e s ,t h u sa t t r a c t i n g m o r eb u st r i p st oa l l e v i a t eu r b a nt r a m cc o n g e s t i o n ,a ne f f e c t i v es o l u t i o n u r b a nt r a f f i cp r o b l e m s i nt h i sp a p e r , s e v e r a lw i r e l e s st e c h n o l o g yc o m p a r e do nt h eb a s i so f i n - d e p t hs t u d yo ft h ez i g b e et e c h n o l o g ya n di e e e 8 0 2 1 5 4w i r e l e s s c o m m u n i c a t i o n sr e g u l a t o r ya g r e e m e n t s ,a n dt h r o u g ht h ez i g b e ew i r e l e s s t e c h n o l o g y , e m b e d d e dt e c h n o l o g y , c o m p u t e rc o n t r o lt e c h n o l o g y , l e d d i s p l a yt e c h n o l o g y , a n do t h e rt e c h n i c a l m e a n st ob u i l tac o m p l e t eb u s i n f o r m a t i o nc o l l e c t i o n ,t r a n s m i s s i o n ,p r o c e s s i n g ,a n dd i s s e m i n a t i o no f i n f o r m a t i o ns e r v i c e sa n dm a n a g e m e n tp l a t f o r m ,d e s i g n e d a n d i m p l e m e n t e db a s e do nz i g b e et e c h n o l o g yo fi n t e l l i g e n tt r a n s p o r t a t i o n s y s t e mm o n i t o r i n gs o f t w a r e z i g b e en o d e si nt h es y s t e ma l o n gt h ec i t yb u sl i n e s f o rb u i l d i n g s e l f - o r g a n i z i n gw i r e l e s sn e t w o r k ,t h ed e s i g no fa s u i t a b l eb u sr o u t i n g a l g o r i t h m ,t h e u s eo fg p st e c h n o l o g ya n dw i r e l e s sr fp o s i t i o n i n g t e c h n o l o g yo nt h eb u sr e a l - t i m ea c c u r a t ep o s i t i o n i n g ,a n dt h r o u g hs e l f g r o u pn e t w o r kt r a n s m i s s i o nb u sr u n n i n gi n f o r m a t i o n s t ot h ep cf o r r e a l - t i m em o n i t o r i n g ,l o w e rs y s t e mc o s t ,n on e t w o r ko p e r a t i n gc o s t s t h r o u g ht h es y s t e md e s i g n ,i m p l e m e n t a t i o na n dd i s c u s s i o n ,h o p et h i s p a p e rc a ng i v es o m er e f e r e n c e st ot h es i m i l a ra p p l i c a t i o n s k e yw o r d s :z i g b e e ,a p t s ,r o u t ep r o t o c o l ,m o n i t o r i n gs y s t e m 插图目录 图2 1z i g b e es t a c k 示意图4 图2 2z i g b e e 技术支持的节点的拓扑结构。6 图2 3c l u s t e r - t r e e 网络结构6 图2 4i e e e 8 0 2 1 5 4 通信频段1 3 图2 5 一般的帧结构1 3 图2 6 信标帧的结构1 3 图2 7 数据帧的结构1 3 图2 8 确认帧的结构1 3 图3 1 基于z i g b e e 自组网络的智能公交系统框架结构2 2 图3 2 基于z i g b e e 技术的智能公交系统数据传输过程2 3 图4 1m p l a bi d e 集成开发环境。2 7 图4 2z i g b e e 参考模型2 9 图4 3 操作原语3 0 图4 4 簇树网络结构3 1 图4 5a o d v j r 请求与回复3 2 图4 6 综合算法数据传输示意3 2 图4 7 网络路由方案示意图3 3 图4 8 分组平均延时3 4 图4 9 数据接收率3 5 图4 1 0m a c 数据格式3 5 图4 1 1 网络层数据格式3 5 图4 1 2 网络层主流程图。3 6 图4 1 3 接收态流程图一3 6 图4 1 4 发送态流程图。3 7 图4 1 5 等待状态流程图3 7 图4 1 6 函数调用关系。3 8 图4 1 7 车载应用层软件流程图3 9 图4 1 8 车辆普通数据流图。3 9 图4 1 9 车辆报警数据流图一4 0 图4 2 0 报站数据流图4 0 图4 2 1 站台节点应用层软件流程图4 1 图4 2 2 数据流图4 1 图4 2 3 中心节点应用层软件流程图。4 2 图5 1 功能示意图4 5 图5 2 发送控制命令的数据流程4 7 图5 3 对于特定节点的数据流程4 7 图5 4 数据转换4 8 图5 5 数据还原4 8 图5 6 监控中心结构图5 1 图5 7 监控中心界面设计。5 7 图5 8 线路的删除。61 图5 9 站台的删除6 l 图5 1 0 站台的修改。6 2 图5 1 1 车辆的实时监控6 2 表格清单 表2 1i e e e8 0 2 1 5 4 通信频段和特征1 2 表4 1z i g b e ed e m o 演示r f d 的应用程序项目文件2 8 表4 2 站台路由表3 3 表5 1 车辆数据表4 9 表5 2 线路信息表4 9 表5 3 站台信息表。5 0 表5 4l i n e d r a w 类表5 2 表5 5c x p b u t t o n 类5 2 表5 6c x p b u t t o n 类5 3 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据 我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的 研究成果,也不包含为获得 金目巴兰些丕堂 或其他教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢 意。 学位论文作者签名:穿蝮洋 签字日期:历,) 7 年月他日 学位论文版权使用授权书 本学位论文作者完全了解金世王些太堂有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金壁 王些太堂可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:牡j c 灸寻 签字日期:加口孑年,月1 2 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 名:娜勇 签字日期:弘r 年月1 名 电话: 邮编: 致谢 在这里要感谢的人很多。本文是在导师张维勇老师的悉心指导下完成 的。论文的选题,结构安排,以及写作等方面无不渗透着张老师的心血。 两年多来张老师无论在学习上,还是生活中都给予我莫大的关怀和帮助, 使我顺利的完成了硕士研究生阶段的学习。张老师渊博的知识,严谨治学 的作风,忘我的工作态度和敏锐的学术洞察力对我一生的学习和工作都会 产生深远的影响。在此谨向张老师表示最忠心的感谢和最崇高的敬意! 我要感谢实验室的马学森老师,冯琳老师。在我的科研学习中他们给 予了无私的协助和大力的支持。感谢和我朝夕相处的实验室的同窗:张芬, 朱先竹,许磊,时伟。在两年多的学习生活中,我们一道成长,相互帮助, 共同进步。 感谢我的师兄梅勃、俞海、钱军还有师姐戴丽,感谢他们一直以来对我的 关心和鼓励,感谢在实验室项目组一起奋斗学习的同学们:邓曼,任宇, 季炎,蔡志文,凌晨,吴迈,江月。 感谢我的父母和家人。你们是我人生事业的精神支柱和经济支持。每 逢失意的时候,想到你们我总会重新振作起来,你们殷切的目光永远是我 前进最大的动力! 最后我要感谢一直以来给予我支持和帮助的所有的老师和同学,感谢 陪着我一路向前的所有的朋友! 作者:杜焕军 2 0 0 7 年1 2 月 第一章绪论 无线通信技术正在从各个方面改善我们的生产和生活,其中作为新兴 的z i g b e e 无线通信技术已得到较为广泛的应用,例如无线传感器网络,智 能家庭网络等等。公交系统以公交车辆作为城市运输的主力车,提高现有公交 设施和运输系统效率,实现公共交通调度、运营、管理的信息化、现代化和智能 化,可以为出行者提供更加安全、舒适、便捷的公共交通服务,从而吸引公交出 行,缓解城市交通拥挤,有效的解决城市交通问题。 ( 1 ) 论文背景和项目支撑 论文设计的智能公交系统由车载终端、电子站牌、监控中心三部分组 成。 车载终端安装在公交车内,它只与附近的站台节点联系,将公交车上的相关 信息打包发送到临近的站台节点,并通过g p s 定位技术或射频定位技术实现语 音报站、广告提示等功能。 电子站牌通过安装在公交车站的站台节点进行组网,构成无线网络。它负责 接收和转发数据,并通过l e d 技术显示经过本站台车辆的实时位置。 监控中心包括监控后台和中心节点。监控中心的后台p c 与中心节点通过有 线方式连接,利用串口进行通信,将收集到的信息进行处理并在显示界面实时显 示。 项目支撑:“基于射频通信的智能公交系统”项目。 ( 2 ) 项目研究的主要内容 z i g b e e 无线通信技术 深入研究z i g b e e 无线通信技术和i e e e 8 0 2 1 5 4 协议。i e e e s 0 2 1 5 4 规定了 物理层和m a c 层的通信标准,z i g b e e 协议规定网络层和应用层的通信过程。熟 悉i e e e 8 0 2 5 4 的各种帧结构,同时研究z i g b e e 协议的通信规程,语法和语意, 打下理论基础。 节点软件设计 即下位机软件设计。分为车载终端节点,站台节点,中心节点三个组成部分。 一个主控芯片和一个通信模块组成了最基本的通信节点。根据节点的不同编写各 自的软件层程序。 网络路由设计 研究z i g b e e 常用路由协议,并根据公交环境设计出一种半动态的路由协议。 沿着公交路线,在每个公交站台放置一个f f d ( f u l lf u n c t i o nd e v i c e ,完整功能 器件,含路由器功能) 节点。在两个站台之间加设必要的中继器f f d 节点( 两 个站台之间的距离太长或者有较大的拐弯) 。公交车上安装r f d ( r e d u c e d f u n c t i o nd e v i c e ,精简功能器件,不含路由功能) 节点,并与语音报站器相连。 在公交线路的某一点放置一个中心协调器节点,以协调网络和收集数据。由于中 心节点需要接收所有节点的数据,考虑到可能数据太拥挤,可以根据实际网络情 况,加设几个数据采集节点,减轻中心节点的负担。 公交站台节点,中继器节点,中心协调器节点均为f f d 节点,相互连接组 成骨干网络,用以传输数据。公交车上的r f d 节点,只能与邻接的f f d 节点联 络,通过该f f d 节点与中心节点等通讯。 监控中心软件的研究与设计 监控中心接收并解析从串v i 收到的协议数据包,分析数据并通过前台的实 时显示来监控公交的运行状态,可实现发送指示灯控制命令,数据查询等功能。 ( 3 ) 论文的组织结构 论文共分为六章。第一章为绪论;第二章重点对z i g b e e 技术和 i e e e s 0 2 1 5 4 协议的发展与应用进行了说明和分析;第三章从国内外的角 度阐述了智能公交系统相关技术发展的概况并且讨论了基于z i g b e e 技术 的智能公交系统的总体框架与相关的技术问题:第四章着重论述了基于 z i g b e e 技术的智能公交监控系统的下位机软件设计,其中包括网络路由的 设计,单片机上的网络层程序和应用层程序的设计;第五章讨论了基于 z i g b e e 技术的智能公交监控系统的上位机软件设计。第六章在进行了总体 测试的基础上对论文完成的工作进行了总结,提出了存在的问题并对下一 步研究工作进行了展望。 2 第二章z i g b e e 技术和i e e e 8 0 2 1 5 4 协议 2 1z i g b e e 技术的起源与发展 短距离无线通信技术已成为目前无线通信技术的一个重要分支,这是 因为在现实生活和生产中,存在很多这样的需求与应用情况。如采用传统 的无线技术,虽然能满足上述要求,但存在着设备的成本高、体积大和能 量消耗较大等问题,针对这样的应用场合,人们希望使用具有成本低、体 积小、能量消耗小和传输速率低的短距离无线通信技术。z i g b e e 技术作为 种新兴的技术,有着能量消耗低、数据速率低和通信范围小的特点,正 在世界范围内得到应用和推广。z i g b e e 名字来源于人们对蜜蜂采蜜过程的 观察,蜜蜂之间是通过跳z i g z a g 形状的舞蹈来相互交流信息,以便共享食物 源的方向、距离和位置等信息。而蜜蜂自身体积小,所需能量小,又能传 送所采集的花粉,因此用z i g b e e 代表具有此类特点的无线通信技术。 2 0 0 0 年1 2 月,美国电子和电气工程协会i e e e 成立了i e e e 8 0 2 1 5 4 组,致力开发一种可以应用到固定,便携活移动设备上的,低成本,低功 耗的低速率的无线连接技术。 2 0 0 1 年8 月,美国h o n e y w e l l 等公司发起了成立z i g b e e 联盟, 他们提出的z i g b e e 技术被确认为i e e e 8 0 2 1 5 4 标准。 2 0 0 2 年,摩托罗拉,飞利浦和三菱等众多著名企业加盟z i g b e e 联盟, 目前联盟内部有2 0 0 多个成员企业,包括软件供应商,体统集成商和终端 产品商。 2 0 0 3 年,i e e e 8 0 2 1 5 4 标准获得通过,并且在2 0 0 4 年1 2 月推出了 z i g b e e 技术规范1 0 版本。 2 1 1z i g b e e 技术的特点和协议构架 z i g b e e 无线通信技术是一种具有统一技术标准的短距离无线通信技 术。它具有低功耗,低成本,低速率的特点。可以工作在2 4 m h z 国际免 费频段i s m ( i n d u s t r i a ls c i e n c em e d i c a lb a n d ) 。它的底层借助于i e e e 8 0 2 1 5 4 通信协议l l 2 j 。z i g b e e 技术的特点同时也决定了z i g b e e 技术适合于承载数据流 量较小和q o s 的要求不高的业务。国内一些新兴的z i g b e e 技术方面的公司 像深圳旭昂和成都西谷正在将z i g b e e 无线通信技术应用于我们的生活和 生产的各个方面。 为了在世界范围内推广z i g b e e 无线通信技术,世界5 0 0 强等公司像英 国i n v e n s y s 公司、日本三菱电气公司、美国摩托罗拉公司,以及荷兰飞利 浦半导体公司,在2 0 0 2 年成立了z i g b e e 联盟【3 】,并且邀请世界级的科学 家和研发人员制定了z i g b e e 规范,并且这个规范还在每年不停的更新的过 程中。现在出来的是1 1 版本的z i g b e e 技术规范【4 j 。它规定了z i g b e e 技 术的体系构架,它和i e e e 8 0 2 15 4 的接口,网络层,应用层,安全,等等。 现在世界很多公司都加入了z i g b e e 联盟,已经有2 0 0 多家,其中有中国华 为技术有限公司。公司或是学校的研究人员也可以免费从联盟的官方网站 上下载z i g b e e 协议规范。 a p p l i c a t i o n z i g b e ed e v i c e o b j e c t o b j e c t ,一7 、- _ ,、 l r 3 i j 匕一3 哕( s d e s a p ) 。- _ _ _ _ _ 一 a p p i i e a t i o ns u p p o r t l a y e r ,、 l 乩一肝) n e t w o r kl a y e r ,- 、7 、 f m 。d e s a p 、) a 3 级级传到中心,在传输过程中若某条链路不通,可以复用对面b 2 节点进行转发。即:a 2 a 3 不通,此时可选择a 2 b 3 a 3 ,或a 2 b 2 a 3 。 监控中心收集到每辆公交车运营的数据,生成显示命令,通过网络发送到每 个站台节点。如:中心生成线路l 上行的显示命令,信息沿着b 3 b 2 b 1 传输, 若某条链路不通,可以复用对面节点进行转发。 4 4 3 仿真结果 用n s 2 1 3 8 1 仿真软件进行模拟,使用i e e e 8 0 2 15 4 扩展模块【3 9 , 4 0 l 。仿真环 境为较简单的两条公车线路,每条线路有2 3 个站台,并设定为无障碍物遮挡。 仿真结果如图4 8 和4 9 所示。其中图4 8 为分组的平均延时情况,图4 9 为分组 到达率为中心节点接收数据包总数与节点发送数据包总数之比。 图4 8 分组平均延时图4 9 数据接收率 从图4 8 可以看到,采用这种半动态的路由协议在开始1 秒之内m a c 分组 冲突较严重而延时较大,在1 秒之后则趋于稳定的0 值,使节点功耗得以降低; 从图4 9 可以看出在半适应的路由方式下分组到达率明显好于传统的a o d v 算 法,当发送间隔大于5 秒的时候两种协议的分组到达率都可以接近于1 0 0 。通 过仿真结果可以得知此方案相比传统的路由算法更加适用于公交系统的环境。 此路由算法也存在着缺点:节点在安装之前须事先写入路由表,在系统运营 的过程中,每次按照固定线路发送数据,即使最初生成的静态路由表项不可用, 节点不会自动修复。网络中每个节点只有从中心配置并烧入路由表才能加入网 络,网络不能自动发现新加入的未被配置的节点。针对以上问题可考虑采用静态 路由和a o d v j r 相结合的方式,在固定路由失效时采用a o d v j r 寻找路由,这是 以后研究的重点。 4 5 网络层的设计与实现 在下位机软件设计中,根据程序功能的不同把整个软件划分为网络层与应用 层两个部分。其中网络层将执行组网以及路由等数据传输功能;应用层则负责数 据的整合与处理。 4 5 1 网络层协议及流程 在智能公交网络中主要存在三种类型数据:公交车发往中心的数据、站台节 点发往中心的数据、中心发往线路上站台的数据。 i e e e 8 0 2 1 5 4 定义的m a c 层数据格式如图4 1 0 所示。公交网络中传输的数 据都是载荷在m a c 层数据帧上。通过上面的分析,可以定义m a c 层数据格式 如图4 1 1 所示。 字节:l210 2 0v a r i a b l e2 f r a m ef r a m e s e q u e n c e a d d r e s sf r a m ep a y l o a df c s l e n g t h e o n t r o ln u m b e rf i e l d s 图4 1 0m a c 数据格式 i 字节:1 22v a r i a b l e l d a t a _ t y p e d e s t i n a t i o na d d r e s ss o u r c ea d d r e s s a p p l i c a t i o nd a t a 图4 1 1 网络层数据格式 网络层存在三种数据类型定义如下: 0 x 0 0 车子向站台广播数据 0 x 0 1站台向中心发送的数据 0 x 0 2 中心向线路上发送的数据 网络层中两字节的源地址和目的地址为通信节点的逻辑地址。 网络层主要完成数据的转发。网络层采用状态机机制,分为接收态、发送态 和等待态;在接收状态下解析网络层头,根据类型做相应处理,如果是线路上需 要转发的数据直接转发送态将数据发送出去,如果是其他的数据提交给应用层处 理;发送态将应用层需要发送的数据或者是接收到的数据转发出去后转入等待 态;等待态等待a c k 帧的到来,如果超时未得到确认则继续转发送态查找路由表 的下一项发送,否则如果得到a c k 则转接收态接收数据。如图4 1 2 所示。 程序首先要执行的动作是初始化,包括硬件初始化,例如全局中断打 开,各个引脚对应配置为输入或者是输出。接着是串口的初始化,配置相 应的波特率。然后是s p i 通信的配置。然后是节点的i d 地址值的设置, 之后是信道的选择。主要的函数有: ( 1 ) s t a t i cv o i di n i t i a l i z e b o a r d ( v o i d ) 对整个板子进行初始化,其中包括了 s p i 通信的初始化。 ( 2 ) v o i dc o n s o l e i n i t ( v o i d ) 对串1 2 1 通信进行初始化。 ( 3 ) 在各个节点之间进行通信的时候,最基本的操作就是发送和接收 帧。 ( 4 ) v o i dp h y s e t c h a n n e l ( b y t ec h a n n e l ) 信道选择函数,可以选择需要 的信道,从2 7 个信道中选择一个。 m t a s k 0 + s mt u r k _ s t a t e = s m _ n w kr e c e i v e 企 1 l上上 s mn w kr e c e i v e s m _ m v ks e i 岫 s mn w kw a i t 1 l 返回循环 图4 1 2 网络层主流程图 网络层主要执行n w k t a s k ( ) i 函数,函数首先调用m a c t a s k 0 ,执行m a c 层 的功能,然后将状态置为接收状态,返回主循环。如图4 1 3 所示。 图4 1 3 接收态流程图 当m a c 层接收到数据提交到网络层,网络层首先解析网络层头,根据网络 数据类型做出相应处理。如果是车辆发送的数据或者中心发来的命令要上报给应 用层进行处理,否则直接置发送状态转发数据。如图4 1 4 所示。 s mp 哪ks e n d 上 查找路由表转发数据 t r a a s m l t o s m _ n w k _ s t a t f _ p s mn w ks t a t e 2 s m _ n w k _ w a i t 更新源、目的地址 s m _ n w k _ r e c e i v e n 帅a y l o a d 0 s m _ n w k _ s t a t e = s mn w ks 日, a 图4 1 4 发送态流程图 处于发送状态时,网络层首先根据目的地址查找路由表,找到下一条节点的 m a c 地址并转发出去,网络层置为等待状态,若路由表中找不到相应表项报告 链路出错。如图4 1 5 所示。 s m _ 黼l w a r r 上 否j r s m _ n w k _ s t a t e = s 是 , s m _ n w k _ s t a t e m _ n w k _ r e l e i v e - - s m 矾z kw a r t 路由表指针下 移 上 s mn w k _ s t a t e = s m _ n w k _ s e n d 图4 1 5 等待状态流程图 处于等待状态时,若接收到a c k 帧表明发送成功,重新置为接收态。否则 超时未收到a c k 帧,路由表指针下移重新置为发送态查找。 4 5 2 网络层函数接口 网络层与链路层、应用层的函数调用关系如图4 1 6 所示。 m a i n o 1r i n w k t a s k 0 1r l m a c t a s k 0 图4 1 6 函数调用关系 其中,n w k i n i t ( v o i d ) 用来进行路由表和网络层相关变量的初始化。 n w k t a s k ( v o i d ) 用来完成网络层数据接收和转发功能,它调用m a c 层函数 m a c t a s k o 。n w k g e t h e a d e r ( v o i d ) 解析网络层头,读取网络层数据放入缓冲区。 n w k g e t ( v o i d ) 功能为从网络层读出一个字节。 n w k p u t h e a d e r ( b y t et y p e ,s h o r t a d d rd e s t a d d r , s h o r ta d d rs r e a d d r ) 发 送网络层头,它调用函数m a c p u t o 。s e n d d a t a ( s h o r ta d d rd e s t a d d r , b y t e p ,b y t el e n g t h ) 供应用层调用,向目的地址发送指定数据单元固定长度的数据。 其参数中d e s t a d d r 表示数据的目的地址( 逻辑地址) ,p 指针指向待发送的数 据单元,l e n g t h 是待发送数据的长度。 r o u t e r t r a n s m i t ( v o i d ) 根据目的地址查找路由表,找到下一跳的m a c 地址,发送 数据,调用函数f i n d r o u t e r t a b l e 0 等。用i n i t r o u t e r t a b l e ( v o i d ) 对路由表进行初始。 l e a r r o u t e r t a b l e ( v o i d ) 指向路由表首项。f i n d r o u t e r t a b l e ( s h o r ta d d ra d d n 根据 参数传递来的逻辑地址查找路由表,找到目的地址的下一跳。 4 6 应用层的设计与实现 应用层主要是采集信息,交由网络层发送出去。并根据接收到的数据做不同 处理。根据节点的不同划分为三部分:车载终端应用层、电子站牌( 站台节点) 应用层和中心节点应用层。具体协议数据将在下一章详细说明。 3 8 4 6 1 车载终端软件应用层 该应用层用于集成各个模块最上层程序,初始化全局;负责收集各个模块的 有效数据并进行融合,根据不同功能组成不同类型数据,记数,间隔一定时间后 调用网络层接口函数进行发送。其软件流程图如图4 1 7 所示。 图4 1 7 车载应用层软件流程图 根据发送信息的不同又可分为车辆普通数据和车辆报警数据。 ( 1 ) 车辆普通数据 车辆普通数据采集和传送流程如图4 18 所示。 图4 1 8 车辆普通数据流图 3 9 雾 其中,1 a 为g p s 模块信息,1 b 为车内人数信息,1 c 为组合数据。车辆 普通数据为定时发送,周期为1 5 秒。调用函数n w k i s p u t r e a d y 0 用来检查网络 层是否准备好发送数据,当网络处于可发送状态时,调用函数发送数据。 ( 2 ) 车辆报警数据 车辆报警数据采集和传送流程如图4 19 所示。 图4 1 9 车辆报警数据流图 其中,1 1 a 为g p s 模块信息,1 1 b 为按键键值,l l c 为组合数据。车辆报 警数据检测到按键就发送,1 秒内重复相同按键无效。同样在网络处于可发送状 态时,调用函数立即发送数据给监控中心。 g p s 模块接口:提供当前g p s 值,站台号,是否在该站上标志,行进方向 标志。其提供的具体函数分别为: i s g p s d a t a r e a d y ( v o i d ) ;g e t g p s d a t a ( v o i d ) ;对 应变量分别为:p l a t f o r m ;f l a g o n ;d i r e c t i o n ; 通讯模块接口:提供当前车内大致人数值,当发生特殊紧急情况时,提供报 警按键键值。其提供的具体函数分别为:g e t p e r s o n n u m 0 ;g e t k e y v a l u e ( ) ; ( 3 ) 车载模块定位和语音报站 车载模块定位和语音报站流程( r s s i 值) 如图4 2 0 所示。 图4 2 0 报站数据流图 其中,2 a 为r s s i 值。2 b 为传到语音模块的控制命令。调用函数v o i c e c m d ( v o i c e l d ) ( 录音段号) 进行语音播报。 4 6 2 站台节点软件应用层 该应用层主要进行全局初始化,接收网络层提供的数据进行判断,根据不同 类型数据实现转发或调用通讯模块接口发送命令给显示模块,控制其显示灯亮灭 等功能。其软件流程图如图4 2 1 所示。 图4 2 l 站台节点应用层软件流程图 其协议数据流图如图4 2 2 所示。 ,、 车载处理通讯模块( 语言模 车载网络层 2 a2 b ( 是否发控制命 块) 令) 图4 2 2 数据流图 网络层接口:当网络处于可接收状态时,负责提供网络层数据,当网络处于 可发送状态时,调用函数发送数据。其提供的具体函数为:n w k i s g e t r e a d y ( ) ; n w k g e t 0 ;n w k i s p u t r e a d y 0 ;s e n d d a t a 0 ; 通讯模块接口:当接收到中心发送的控制命令时,调用此函数传输命令给显 示模块。其提供的具体函数为:v i e w c m d ( ) ; 4 1 4 6 3 中心节点软件应用层 中心节点设置在调度中心附近,是无线接力的终点,它通过电缆和监控所用 的p c 相联。中心节点负责把从网络层收到的数据拆分,加停止位,通过串口发 送到监控中心;并负责把从监控中心收到的控制命令进行合并,去尾后调用网络 层函数发送出去。其软件流程图如图4 2 3 所示。 图4 2 3 中心节点应用层软件流程图 网络层接口:当网络处于可接收状态时,负责提供网络层数据,当网络处于 可发送状态时,调用函数发送数据。其提供的具体函数为:n w k i s g e t r e a d y 0 : n w k g e t 0 ;n w k i s p u t r e a d y 0 ;s e n d d a t a 0 ; 监控中心接口:定义了波特率,传输格式,停止位标志。利用缓冲区进行读 写,利用中断方式获取监控中心数据。 从上面的流程图可以看出,无论是网络层还是应用层,其协议并不是 很复杂,状态也不是很多。因为协议越简单越可靠,实现起来也比较容易。 4 2 4 7 本章小结 本章对系统的下位机软件部分进行了较为详细的讨论,针对于公交环 境的特殊性设计出一种半动态的路由方案,并进行了模拟仿真。把整个下 位机软件分为网络层与应用层两个部分。分别从各自的软件结构、相关协 议以及具体函数实现进行了分析说明。 4 3 第五章上位机软件的设计与实现 在网络系统中,可以使用网络嗅探器s n i f f e r l 4 1 】来观察接收到的数据 包,并且已经有了大量的关于这方面的软件产品。同理,为了分析串口的 数据,我们也使用了相同的类似思想实现,只是数据来源于串口,而不是 网络。 网络的分析器对于开发者来说是一个十分重要的工具。有了它可以对 各个节点收到的信息进行形象化的分析和处理,可以对收到的帧等进行定 量的检测,测量,对网络的阻塞等进行诊断,检视,或是定位到个别节点, 或是对网络的整个性能进行衡量。类似的还有不少关于无线传感器网络的 后台程序,像d a i n t r e e 公司的s n a ( t h es e n s o rn e t w o r ka n a l y z e r ) ,e m b e r 公司的e m b e rs t u d i on e t w o r km a n a g e m e n ts o f t w a r e ,还有我国的中科院宁 波计算所自己开发的网络后台系统( s n a m p ) 。这都是做的典型的后台程 序。 5 1 开发环境 采用m i c r o s o f tv i s u a lc + + 6 0 ( 简称v c + + 6 o ) 作为后台开发环境,v i s u a l c + + 6 0 是可视化的c + + 编程开发环境,是微软公司v i s u a l 系列的最新杰作。 v i s u a lc + + 6 0 全面支持w i n d 0 w s 编程,与微软公司的w i n d o w s 系列操作系统 之间具有天然的亲和性。v i s u a lc + + 6 0 集成开发环境( i d e ) 提供了编写应 用程序的所有工具,包括源代码的编辑、代码的编译和链接、代码的测试 和调试、代码的优化等等。 5 2 监控中心的功能以及组成部分 监控中心利用软件工程方法和信息管理系统、数据库技术、( 电子地图技术) 对公交运行状况进行分析,及时掌握车辆、线路实时运行状况。根据某些繁忙线 路的需要对车辆进行临时调配,辅助调度。其实现的功能如图5 1 所示。 ( 1 ) 通过串口接收数据; ( 2 ) 转入数据分析类,分析数据头确定数据类型: 根据不同类型进行处理如下: 1 ) 当接收到普通车辆数据时,处理数据,根据当前车的位置信息在前台界面 上显示出其位置,同时p c 将车载信息入库, 2 ) 5 接收到按键报警数据时,处理数据,根据当前车的位置信息在前台界面 上显示出其位置同时触发声音警报并要根据键值判断触发的事情,做出相应处 理。最后将信息入库。 3 ) 当收到链路状态数据时,处理数据,将信息入库由此得知坏掉的节点并做 相应处理( 记录并提示) 。 4 ) 当收到站台信息时,记录到相应库表中。 5 ) 当收到车内照片数据时,合成照片,进行保存,可供查看。 ( 3 ) 监控中心每隔1 5 秒搜索数据库内信息,将线路上的公车位置信息( 站台 显示信息) 发送给同一线路上的每个站台。 ( 4 ) 监控中心可向目标站台节点发送查询命令。 ( 5 ) 监控中心可向目标节点发送升级程序实现程序升级( 如路由表) 。 ( 6 ) 监控中心可向附近车辆无线传送语音更改信息( 即实现无线下载) 。 图5 1 功能示意图 5 3 协议设计及说明 监控中心和下位机进行通信,他们之间有着必要的协议说明。 5 3 1 数据定义 下位机中心节点应用层数据格式为应用层头+ 应用层数据+ 结束符。 ( 1 ) 应用层数据类型( 应用层头) 普通车辆数据 o x 0 1 按键报警数据 o x 0 2 链路状态数据 o x 0 3 站台信息数据 o x 0 4 4 5 车内照片数据0 x 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论