(通信与信息系统专业论文)无线传感器网络路由协议与应用软件的设计与实现.pdf_第1页
(通信与信息系统专业论文)无线传感器网络路由协议与应用软件的设计与实现.pdf_第2页
(通信与信息系统专业论文)无线传感器网络路由协议与应用软件的设计与实现.pdf_第3页
(通信与信息系统专业论文)无线传感器网络路由协议与应用软件的设计与实现.pdf_第4页
(通信与信息系统专业论文)无线传感器网络路由协议与应用软件的设计与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(通信与信息系统专业论文)无线传感器网络路由协议与应用软件的设计与实现.pdf.pdf 免费下载

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

文档简介

信息工程大学硕士学位论文摘要本文以国家发改委项目口v 6 无线传感器网络节点为基础,围绕无线传感器网络节点路由协议和应用软件的设计与实现展开。在深入研究了无线传感器网络结构、特点及应用的基础上,讨论了无线传感器网络路由协议设计的要求,研究了几种经典的无线传感器网络路由协议,探讨了基于嘲s 无线传感器节点应用程序的开发技术。设计、开发了s i l l l 【节点无线单元的软件,设计、实现了普通传感器节点上的应用程序和树状路由协议n 通e s 。在m i c a 2 d o t 节点上完成了s i i l l ( 节点无线单元应用程序、串口通信模块、普通传感器节点应用程序和路由协议t r j e s 的测试。在各层完成自测的基础上,在自主开发的物理平台上完成了s i n k 节点无线单元各层间的接口调试和系统联调,完成了普通传感器节点各层间的接口调试和系统联调,完成了s i l l l (节点有线单元、s i l l l 【节点无线单元和普通传感器节点的系统联调,完成了m v 6w e b 服务器、s i n k 节点有线单元、s i l l l ( 节点无线单元和普通传感嚣节点的系统联调,并完成了整个系统的性能测试。针对测试中出现的问题,提出了解决方法,提高了整个系统的性能。针对节点可移动、多s i n k 节点、具有不对称、不可靠链路的无线传感器网络模型和所有普通传感器节点都具有周期性业务的应用背景,设计了一种简单树状路由协议m s u r r 。仿真结果表明:m s u l r 控制开销小,时延小,具有良好的分组递交率,对节点移动性的支持较好,其性能优于a o d v 。关键词:无线传感器网络,路由协议,应用程序,硒y o s第v i 页信息工程大学硕士学位论文a b s t r a c t1 1 l i st 1 1 e s i si sb 勰c d0 nt l ”p r o j e c to f l en a t i 伽i a ld e v e l o p m 朋t 觚dr c 如衄c o m m i s s i o n 一“球v 6w i r c l e s ss e n s o rn e t w o f i ( sn o d e s ,f o c i l s i n go nd e s i g n 柚di n l p l 锄e m a t i o no fm u t i l 培p r o t o c o la n d 雄,p h c a 土i o ns o f t 、 r a r ci 1 1w i r e l e s ss e 璐o rn e 觚0 r k s b 嚣e do ni l l d 印mr e s e a r c ho fm es t m c t i l r e ,1 h ec h 撇c t 盯a n dt h ea p l p l i c a t i o no fw i r c l e s ss 胁s o rn e t w o r k s ,出ef e q u e s to fm u t i l l gp m t o c 0 1 si 1 1w i r e l 韶ss 既l s o rn 咖0 r k si sd i s c u s s c d ,s e v e 掘lc l 嬲s i c a lr o u t i n gp r o t o c 0 1 si l lw i r c l e s ss e n s o rn e 咐o f i 【s 盯ea n a l y z c d ,t c c l l l l o l o g yo fa p p h c a d d e v e l o p i n gb 撇do nt i n y 0 si nw i r e l e s ss s o rn e t w o f i 【si sp r c s 即t c di i ld e t a i l s t h es o 脚a r co ft h e 嘶e l e s sc e l lo fs i n kn o d e1 1 a sb e d c s i 印c d 纽dd e v e l o p e d t h ea p p h c a t i o np r o g r a mo fo r d m a d ,n o d e s 锄dt 1 1 ef o u t i n gp r o t o c o l 矸也e st m r eb 嘲d e s i 印e d 舭di m p l 锄饥僦t h ea p p l i c a t i o nt e s t i n go fm ew i r c l e s sc e l lo fs i l l l 【n o d e ,t h es 嘶a lc o n l n l l l i l i c a t i o nm o d u l et e s t i n g ,m e 印p l i c 撕o nt c s t i n go fo r d i m r y d c s 锄dt l 地r o m i n gp r o t o c o ln 也e st e s t i n gh a v e b e e l l c o m p l i s h e d0 nm i c a 2 d o tn o d c s t h cs y s t e mt 船t i n gi sb 船e do nn 圮s e l f - t e s to fe v e r yl a y 乱t h ei n t 硎沁et 嚣t i i l g 柚dm es y s t e mt e s t i n go nt h eo r d i n a r yn o d ea n dt h ew i r e l e s sc e l lo fs i n k d e ,1 l l es y s t e mt 韶t i n g 锄o n gn l cw i r c dc e no f s i n kn o d e ,t l l e 、】l ,i r e l e s sc e l lo fs i n kn o d ea n do r d i n a r y d ,t h es y s t 即t e s 蛀n g锄o n gm ep v 6w 曲s e m es 址n o d ea 1 1 do r d i n 叫d e s ,t h ep 曲胁锄c et e s t i n go f t h ew h o l es y s t 锄0 1 1t l l ep h y s i c a lp l a t f o n nw 1 1 i c hi sd e 、r e l o p e d 砌印锄d 锄t l yh a v ea h 弓a d yb e e nc o m p l e t e d t h ei m p m v e dm e 锄sw m c h 盯e 邯e dt os o l v ep r o b l e m sa p p e a r e di nt h et e s t i n gc o u r s eh a v eb e e i lp r 鼹e m e d ,柚dt l l ep 硎 确m a i l c eo f m ew h o l es y s t 锄1 1 a s b 黜i m p f 0 v e d t ba i ma tw i r e l e s ss e n s o rn e t w o f k sm o d e li nw t l i c hn o d e sc 蛆m o v e ,t l l e r ea r em u m s i l l k ,勰y n h n e n ya n du i 鹏l i a b l el i i l i 【s ,t h ea p p l i c a t i b a c k g r o 嘶do fw 疵1 e s ss e i l s o rn e 愀so nw l l i c ha l lt 1 1 e 删n a r yn o d e sh a v ep e r i o d i ct r a 衔ct 0s e n d ,t l l es i m p l e 仃e e s b 嬲e dr o u t i i 培p r o t o c 0 1m s u t rh 嬲b e 髓d c s i 朋e d s i 咖1 a t i o nr e s u l t ss h o wl l l a tm s u h 己a c h i e v e sb e 仕e rp e r f 0 1 m a l l c ei nt 黜培o fc o m r o lo v e r h e a d ,d e l a y ,p a c k e td e l i v e r yr a t i o 锄dt h es u p p o r to ft h en o d em o v i n gc o m o a r e d 谢t l la o d v |k e yw o r d s :w i r c l 豁ss e m o rn e 铆o r k s ,r o u t m gp m t o c 0 1 ,a p p l i c a t i o np r o f 锄,t i n y o s第v i i 页信息工程大学硕士学位论文图目录图1 无线传感器网络体系结构2图2 无线传感器网络通信协议栈2图3 内爆和重叠5图4 定向扩散的路由建立过程6图5 应用程序总体框架8图6 试验网络组网结构。l l图7s i n l 【节点结构1 2图8s i l l k 节点无线单元软件的总体结构1 4图9 网络结构1 6图1 0s i l l i 【节点无线单元程序结构1 8图1 1 普通传感器节点协议栈结构及层间接口1 9图1 2 普通传感器节点应用模块的总体结构1 9图1 3 查询采样模块的处理流程2 l图1 4 协议栈结构及层间接口2 3图1 5 路由模块的总体结构2 4图1 6 节点收到r e 0 的处理流程2 5图1 7 节点收到r e p 的处理流程2 6图1 8 等待广播激活消息定时器超时的处理流程2 7图1 9 收到应用层分组的处理流程2 8图2 0 收到下层递交上来分组的处理流程2 9图2 1 串口调试助手界面与日志文件输出3 3图2 2 测试用拓扑3 8图2 3 测试结果3 9图2 4 测试结果4 l图2 5 修改后s i l l l 【节点无线单元上查询命令的转发流程4 4图2 6 节点间距离对节点间通信的影响4 6图2 7 节点间的父子关系4 8图2 8 修改前后性能比较4 8图2 9t o sm s g 结构4 9图3 0t i n v o s 中无线通信过程实际涉及的各层组件5 l图3 1 缩减后的分组结构5 2图3 2 原来的通信各层组件及其相互调用关系5 3图3 3 将s i n g l c h 叩m a n a g c r 层去掉后的通信各层组件及其调用关系5 3第1 v 页信息工程大学硕士学位论文图3 4 普通传感器节点程序量比较5 4图3 5s i 呔节点无线单元的程序量比较5 4图3 6 原来的组件间初始化关系5 6图3 7 修改后的组件间初始化关系5 6图3 8 提速前后性能比较5 7图3 9 相对控制开销和业务到达周期的关系6 0图4 0 相对控制开销和业务分组大小的关系6 1图4 1 分组递交率和拓扑变化的关系6 1图4 2 相对控制开销和拓扑变化的关系6 2图4 3 平均时延和拓扑变化的关系6 2第v 页原创性声明本人声明所提交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表和撰写过的研究成果,也不包含为获得信息工程大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。学位论文题目:趔蓥鉴鲴盘盗燃望豳筮聋熊焦缂叟鎏砂学位论文版权使用授权书本人完全了解信息工程大学有关保留、使用学位论文的规定。本人授权信恩工程大学可以保留并向国家有关部门或机构送交论文的复印件和电子文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密学位论文在解密后适用本授权书。)学位论文胂:型丛丝赵鉴圈缝遂燃望蠲益缁丝亟丝雀塞砂学位论文作者签名;室堑日期:朋7 年月一日作者指导教师签名:1 h 磬织广魄冲月删信息工程大学硕士学位论文第一章绪论近年来,随着无线通信技术和电子器件技术的快速发展,低成本、低功耗、多功能的无线传感器的开发和广泛应用成为可能,在这样的背景下,融合了传感器技术、嵌入式计算技术、分布式信息处理技术和网络通信技术的无线传感器网络( w i r e l e s ss 脚n 咖o r k s ,w s n ) 技术应运而生。无线传感器网络以其获取信息精度高、布设灵活性强、可靠性高、经济性好等特点,日益引起社会各界的广泛关注。无线传感器网络具有非常广阔的市场前景,可以广泛的应用于汽车工业、环保产业、军事监控、工业控制与监测、医疗卫生等领域。1 1 无线传感器网络概述1 1 1 无线传感器网络的起源与发展无线传感器网络【1 捌是由一组集成有传感器、数据处理单元和通信模块的微型传感器节点以无线通信方式构成的网络,主要作用在于采集监测区域的信息,将监测数据经过多跳转发到达与基础设麓网络连接的s i l l l 【节点,从而将信息及时提供给观察者( 用户) 。无线传感器网络的研究【3 4 】起步于2 0 世纪9 0 年代末期。最早的代表性论述出现在1 9 9 9年,题为“传感器走向无线时代”。由于无线传感器网络的巨大应用价值,它已经引起了世界许多国家的军事部门、工业界和学术界的极大关注。美国自然科学基金委员会、美国国防部和各军事部门等都对无线传感器网络给予了高度重视,设立了一系列无线传感器网络研究项目。日本、英国、意大利、巴西等国家也对无线传感器网络表现出了极大的兴趣,纷纷展开了该领域的研究工作。从2 0 0 0 年起国际上对无线传感器网络的研究已取得一些初步性成果,但是这些成果与实际应用的需求还相距甚远。我国对无线传感器网络的发展也非常重视。国家自然科学基金委员会和国家发展改革委员会都部署了和无线传感器网络相关的课题。近年来,我国的一些科研院所和高校已积极展开了该领域的研究工作,倾注了很大的研究力量,但是这些工作都还处在起步阶段。总而言之,无线传感器网络的研究任重而道远。1 1 2 无线传感器网络结构典型的无线传感器网络结构1 5 ,6 伽图1 所示。该网络由普通传感器节点、s i n l 【节点、h l t e n l c t 或卫星网络、任务管理节点( 用户) 等部分构成。普通传感器节点负责采集网络分布区域内的监测对象的信息,将监测信息经过多跳转发到达s “【节点;s i i l l 【节点连接w s n与i n t e r i l e t 等外部网络,实现w s n 与b t e m c t 之间的物理接口和通信协议转换,同时发布管理节点的监测任务,将收集的信息转发到外部网络上:用户通过管理节点对无线传感器网络进行配置和管理,发布监测任务以及收集监测数据。第1 页信息工程大学硕士学位论文用户图1 无线传感器网络体系结构1 。1 3 无线传感器网络的通信协议栈无线传感器网络的通信协议栈1 7 】包括物理层、数据链路层、网络层、传输层和应用层,与互联网协议栈五层协议相对应,如图2 所示。另外,该协议栈还包括能量管理平台、移动管理平台和任务管理平台。各层协议和平台的功能如下:1 物理层提供简单但健壮的信号调制和无线收发技术:2 数据链路层负责数据成帧、帧检测、媒体访问和差错控制;3 网络层负责路由生成与路由选择;4 传输层负责数据流的传输控制,是保证通信服务质量的重要部分;5 应用层包括一系列基于监测任务的应用层软件;6 能量管理平台管理传感器节点的能源使用情况,在各个协议层都需要考虑节能;7 移动管理平台检测并注册传感器节点的移动,维护到s i l l l 【节点的路由,使得传感器节点能够动态跟踪其邻居的位置;8 任务管理平台在一个给定的区域内平衡和调度监测任务。图2 无线传感器网络通信协议栈第2 页信息工程大学硕士学位论文1 1 4 无线传感器网络的特点无线传感器网络是一种特殊的自组织网络( 也称为a d h o c 网) ,与传统的无线网络相比有着许多鲜明的特点嗍。1 自组织网络无线传感器网络的布设和展开无需依赖于任何预设的网络设施,节点通过分层协议和分布式算法协调各自的行为,节点开机后就可以快速、自动地组成一个独立的网络。2 应用相关的网络不同的应用背景对传感器网络的要求不同,其硬件平台、软件系统和网络协议必然会有很大的差异。因此传感器网络不能像h l t e r i l e t 一样,有统一的通信协议平台。只有让系统贴近应用,才能做出最高效的目标系统。3 以数据为中心的网络无线传感器网络的目的是获取信息,用户关心的是信息的内容,而并不关心信息来自于哪个节点,因此无线传感器网络以数据为中心,而不以地址为中心。4 业务方向性强无线传感器网络的业务主要有甄个方面:一是普通节点将采集的数据向s i l l l ( 节点回传;二是s i n l 【节点向普通节点发布查询请求。而两个普通节点之间通常没有通信需求。5 传感器节点数量大、分布密集为了对一个区域执行监测任务,往往有成千上万个传感器节点空投到该区域。传感器节点分布非常密集,利用节点之间的高度连接性来保证系统的容错性和抗毁性。6 数据冗余大由于传感器节点布设密集,多个节点在位置上邻近,使得这些节点可能采集到大量相同或相关的数据。1 1 5 无线传感器网络的应用无线传感器网络可广泛应用【9 1 于军事、环境、医疗等领域。l 军事应用军事应用是无线传感器网络技术的主要应用领域,由于其特有的无需架设网络设施、可快速展开、抗毁性强等特点,是未来数字化战争获取敌方信息的重要技术手段之一。2 环境科学随着人们对于环境的日益关注,环境科学所涉及的范围越来越广泛。采用一些传统的方法无法及时、准确地获得原始数据,而无线传感器网络就能克服这些缺点。3 医疗健康医生可以通过安装在病人身上的特殊用途的传感器节点,随时了解被监护病人的病情,进行及时处理,无线传感器网络为远程医疗提供了便利的条件。第3 页信息工程大学硕士学位论文1 2 无线传感器网络路由协议的研究1 2 1 无线传感器网络路由协议设计的要求路由协议的主要任务是将数据分组从源节点通过网络转发到目的节点。它主要包括两个方面的功能:寻找源节点和目的节点问的优化路径,将数据分组沿着优化路径正确转发。a d - h o c 网、无线局域网等传统无线网络的首要目标是提供高服务质量和公平高效的利用网络带宽。在无线传感器网络中,路由协议的设计需要满足节能、基于局部拓扑信息选择合适的路径等要求,而不再以提供高的服务质量和有效利用带宽为目标,因此传统无线网络的路由协议不适应于无线传感器网络。无线传感器网络的路由协议应满足以下一些要求【7 】:1 能量高效无线传感器节点的能量资源有限,因此无线传感器网络路由协议要选择能量消耗小且使整个网络能量均衡消耗的路由,以最大限度的延长整个网络的寿命。2 基于局部拓扑信息的简单路由无线传感器节点的存储和计算资源有限,不能存储大量的路由信息,不能进行太复杂的路由计算,因此无线传感器网络路由协议要采用基于局部拓扑信息,进行简单计算的路由机制。3 鲁棒性能量耗尽或环境因素会造成传感器节点失效,周围环境会影响无线链路的通信质量以及无线链路本身的缺点等,这些无线传感器网络的不可靠性要求无线传感器网络的路由机制具有一定的容错能力。4 良好的可扩展性在无线传感器网络中,监测区域范围或节点密度不同,造成网络规模大小不同;节点失效、新节点加入以及节点移动等,都会使得网络拓扑结构动态变化,这就要求路由机制具有可扩展性,能够适应网络结构的变化。5 快速的收敛性无线传感器网络的拓扑结构动态变化,节点能量和通信带宽等资源有限,因此要求路由机制快速收敛,以适应网络拓扑的动态变化,减少通信协议开销,提高消息的传输效率。1 2 2 无线传感器网络路由协议的分类无线传感器网络路由协议众多,可以从各个角度对其进行分类【l o 】。从网络结构的角度分类,可以分为平面路由协议和层次式路由协议。从有没有地理位置信息支持的角度,可以分为有地理位置信息支持的路由协议和无地理位置信息支持的路由协议。从节点是否具有全局d 的角度,可以分为以数据为中心的路由协议和以地址为中心的路由协议。从追求的性能方面分类,可以分为能量有效路由协议,q o s 路由协议,可靠路由协议,简单路由协议。下面着重介绍几种典型的无线传感器网络路由协议。第4 页信息工程大学硕士学位论文1 2 3 典型的无线传感器网络路由协议介绍1 洪泛法( f 1 0 0 d i i l g ) 川这是一种经典的路由协议,它无需维护网络拓扑和进行路由计算,只需简单地将收到的消息以广播形式转发出去即可。该协议虽然简单、实效,但是它没有考虑到传感器节点的能源限制,在网络运行过程中,节点将会多次收到邻居节点转发的相同的消息( “内爆”和“重叠”现象严重) ,不利于节能。内爆( i m p l o s i o n ) :如图3 ( a ) 所示,开始时,节点a 洪泛数据到它的两个邻居b 和c ,这些节点收到数据后存储并将它的副本发给它们共同的邻居d ,于是d 发生内爆。可以看出,内爆与节点的度呈线性关系。( a )( b )图3 内爆和重叠重叠( o v e r l a p ) :传感器节点覆盖的地理区域经常重叠,所以节点经常收到重复的传感器数据。节点重叠的情况如图3 ( b ) 所示,节点a 覆盖了r 和q 区域,节点b 覆盖了s和r 区域,所以当节点a 和b 将它们所收到的信息发给节点c 时,c 就收到了两份有关r的信息。2 s p 矾( s s o rp r o t o c o l sf o rh l f o 肌a t i 、,i an e 9 0 t i a l j o n ) 【1 2 1 3 】s p 玳主要目标是解决因洪泛所导致的数据大量重复传送的问题。当网络中任一节点要传送数据给它的邻居时,它先广播个元数据( m e 协d a t a ) 给它的邻居。元数据是对数据的描述,不是真正的数据。它的邻居收到元数据后检测是否已经接收过并存于数据库中。如果没有则以一定的规则通知发送元数据的节点将真正的数据传送给它。s p 玳采用两种方法克服洪泛的缺点:( 1 ) 协商机制( n e g 州a t i o n ) :为了克服内爆和重叠,节点在发送数据前进行协商,确保只转发有用信息。为了能够协商成功,节点必须能够描述和命名它们所观察到的数据,在s p 烈中称其为元数据( m e t a d a t a ) ,就是将所得信息进行编码,这种编码后的长度比原来的数据要小得多,并且相同的信息具有相同的编码。( 2 ) 资源自适应( r e s o u r c e a d a p t i o n ) :在s p i n 中,节点在通信前必须检查自身的能量资源。这可以使传感器节点在能量较低时减少通信行为。3 l e a c h ( l o we n e r g ya d 印t i v ec l u s t 甜n gh i e r a r c b y ) 6 】第5 页信息工程大学硕士学位论文l e a c h 是一种典型的层次式路由协议,它将网络的工作时间分成轮,每轮包括构建期和稳定期。在构建期,完成群首选举及群首和群成员节点问的信息交互;稳定期分成若干帧,每一帧成员节点在分配给自己的时隙向群首发送数据,群首把融合后的数据发送给s i l l k 节点。一轮结束后,进行群的重构。l e a c h 所采用的机制使得网络中因能量耗尽而失效的节点呈随机分布状态,一定程度上延长了网络的寿命。但是u ! a c h 假设群内节点彼此都在一跳通信范围内,极大地限制了网络的规模,同时动态分群的方式也带来了大量额外的开销。4 p e g a s i s ( p o w 昏e 伍c i e n tg 砒舐n gi ns c i l s o rh l f o n n a t i o ns y s t e l n s ) 【1 7 ,1 8 】p e g a s i s 是针对s i i l l 【节点距离所有的传感器节点都非常远的网络模型,且可以把所有数据分组融合为一个长度不变的分组的应用背景设计的。p e g a s i s 是对l e a c h 的改进,它的基本思想是网络内所有的传感器节点形成一个链( c h a i n ) ,在一轮中,全网只选择一个群首节点,在这里称为l e a d e r 。链中的节点只需要与邻居节点通信,收集到的数据沿着链逐跳汇聚到l e a d e r ,再由k a d e r 把数据发送给s i i l l 【节点。链在第一轮通信开始前建立,一旦建立不需要重建过程,只需要在每轮工作完成后,重新选择一个l e 甜e r ;当链中的节点失效时,对链进行维护。5 定向扩散( d i 溉t e dd i m s i o n ) 圳该协议采用一种基于查询的路由机制,可分为周期的兴趣扩散、梯度建立和路径加强三个阶段,如图4 所示。首先s i l l l ( 节点广播带有查询内容的兴趣消息( i n t e r e s t ) ,其它节点在收到兴趣消息时建立到s j n k 节点的梯度( 鲫d i e n t ) ,最后节点将根据查询要求采集到的数据沿加强路径传回s i l l l 【节点。定向扩散是一种较为节能的路由协议,并且能较好的应对网络拓扑的动态变化。但是这种协议不适合应用于需要连续数据传送的应用( 如环境监测等) ,且兴趣扩散的过程中能量和时间开销较大。镑ooo o 郴ooos i f l l co 普通节点( a ) 兴趣扩散( b ) 梯度建立( c ) 路径加强图4 定向扩散的路由建立过程1 3 基于耵n y o s 的应用程序开发在无线传感器网络中,单个传感器节点内存、能量资源有限,处理器、通信设备速度低,又需要进行较复杂的任务调度与管理,系统需要一个微型化的操作系统。为此,u cb e r k e l e y 分校的研究人员设计了y 0 s 操作系统。t i n y o s 操作系统是目前无线传感器网络中应用较为广泛的操作系统。t i n y 0 s 操作系统采用的轻量级线程技术、两层调度方式、事件驱动模式、主动消息通信技术及组件化编程等有效的提高了传感器节点c p u 的使用第6 页信息工程大学硕士学位论文率,有助于省电操作并简化了应用的开发。y o s 系统、库和基于t i n y o s 的应用基本上都是用l 螂c 语言开发的。在y o s 中采用n 韶c 语言进行应用程序开发,有很多问题值得研究和讨论。1 3 1 弛,帕s 和n e s c 语言简介1 3 1 1t i y o s 特点胁y o s 主要有以下四个方面的特点【2 1 】:1 轻量级线程技术及两层调度方式弛y c s 提供任务和硬件事件处理两级调度体系。轻量级线程( 拓酞,即t i n y o s 中的任务) 比一般的线程更为简单,此种线程按照f o 的方式进行调度,轻量级线程之间不允许抢占;而硬件处理线程( 在t i n y 0 s 中称为硬件事件处理) ,即中断处理线程可以打断用户的轻量级线程和低优先级的中断处理线程,对硬件中断进行快速响应。2 组件化编程组件模型允许应用程序开发人员方便快捷的将独立组件组合到各层配置文件中,并在面向应用程序的顶层配置文件中完成应用的整体装配。3 事件驱动模式,i i n y o s 整个系统是因事件驱动而运行的,如果没有事件发生,则系统进入休眠状态,从而达到节能的目的。4 主动消息通信技术【2 2 】主动消息通信技术是一种基于事件驱动的高性能并行通信方式。在主动消息通信方式中,每个消息都相应的维护一个应用层的处理器。当目标节点收到消息后,就会把该消息中的数据作为参数传递给应用层的处理器进行处理。1 3 1 2n 岱c 语言的几个要素n 龆c 【2 3 刀1 是一种适用于开发基于结构化组件应用的新型语言。n c s c 是对c 的扩展,扩展的目的在于将c 的模块化思想与t i n y o s 的基于事件驱动结合起来。m s c 语言中的两个要素是组件和接口,组件又包括配置( c o 曲g l l r a t i o n s ) 和模块( m o d u l e s ) ,可以提供和使用接口,组件和接口都以相应的文件形式存在,即存在配置文件、模块文件和接口文件。1 配置主要用于描述应用程序所使用的不同组件间的接口关系,将接口提供者与使用者连接起来。2 模块提供应用程序的实现代码,实现一个或多个接口。3 接口( 1 ) 接口是组件唯一的接入点,简化了组件间的相互连接。组件提供的接口体现了该组件所能提供的功能。第7 页信息工程大学硕士学位论文( 2 ) 接口是双向的。接口中可以包含命令和事件,命令( c 咖a i l d ) 由接口的提供者负责实现,事件( e v e n t ) 由接口的使用者负责实现,接口的使用者调用命令,而接口的提供者触发事件,因此说接口是双向的。( 3 ) 接口的定义由接口文件描述,接口文件以接口名+ n c 命名,通常将其放在目录d :蹬r o 蓼锄f i l e s 烘b t i n y o s 一1 1 、c y g w i n b p t 、t i n y o s - 1 x 物s 锄e r f a c e 贰( 笔者t i n y o s 的安装目录为:d :协g r a mf i l e s u c b ) 下。1 3 2 应用程序设计1 3 2 1 应用程序总体架构介绍在t i n y 0 s 中,每个应用程序通常由顶层配置、核心处理模块和其他组件组成。每个应用程序有且仅有一个顶层配置。在顶层配置中,说明该应用所要使用的组件及组件间的接口关系。一般而言,与应用的顶层配置相对应的存在一个模块,以顶层配置名+ m n c 命名,此模块就是该应用的核心处理模块。如果一个应用程序只需顶层配置将几个系统组件装配起来就可实现所需的功能,那么就不必自定义核心处理模块,但所用的系统组件中必有一个作为核心处理模块存在。应用程序的功能决定了所要包含的组件。组件间通过接口进行连接,上层组件调用下层组件的命令,下层组件向上触发事件。应用程序总体框架如图5 所示。图5 应用程序总体框架1 3 2 2 应用程序开发的基本步骤在对t i n y o s 提供的各系统组件功能了解的基础上,开始进行应用程序开发。如果已有系统组件能够满足需求,那么只需做下面前三个工作,否则需做下面四件事情。1 在目录d :憎r o 鲋衄f i l e s u c b t i n y o s 一1 1 、c y g 丽n 叩t t i n y o s - 1 x 印p s 下建立一个文件夹,通常以应用的名字命名。该文件夹通常包含以下四个文件,定制运行环境文件m a k e f i l e 、第8 页细弦信息工程大学硕士学位论文头文件、顶层配置文件和核心处理模块文件,如果该应用只需系统组件就能完成功能,那么只需包含前三个文件。2 定义头文件,与般的程序开发类似,在头文件中定义些数据结构。3 。编写顶层配置文件,包括三部分内容:接口的提供、使用情况,这取决于应用程序的功能;使用的组件列表,这要视应用程序的需求而定;组件问的接口连接关系。4 编写与顶层配置相对应的核心处理模块文件,包括两部分内容:接口的提供、使用情况;具体的实现代码。如有需求,还要自定义组件以实现某些功能,这些自定义组件放到相应类型组件的目录下。1 3 2 3 应用程序开发要点介绍在应用程序开发过程中,需要注意以下一些问题【2 5 】。1 在y o s 中,应用程序从m a i n 组件使用的s t d c ( 曲l 接口的i n i “) 、s t a i t 0 命令开始执行,因此每个应用程序都必须使用组件m a 协,m a i l l 组件又必须使用通用接口s t d c o n 仃o l 。2 组件必须明确调用其子组件( 我们将一个组件所使用的组件称其为该组件的子组件) 的初始化函数,这样才能完成对子组件的初始化工作。3 关于任务( 1 ) 任务用于执行通常意义上的背景处理,像背景数据处理。( 2 ) 任务必须返回为v o i d 且不带任何参数。( 3 ) 任务间的执行彼此互不抢占,只有上一个任务执行结束后,下一个任务才能开始执行,因此每个任务不宜太大。如果需要进行一系列的长操作,应该为每个操作分配一个任务,而不该使用个大的任务。( 4 ) 使用命令“p o s t t 鹊h 锄e ”将任务挂入任务队列中,并立即返回。任务成功提交后,p o s t 返回1 ,否则返回0 ,由此我们可以判断任务是否成功提交,以决定后续处理。4 关于硬件事件处理( 1 ) 硬件事件处理作为硬件中断的响应而执行,可以抢占任务和其它低优先级的硬件事件处理执行。( 2 ) 使用关键字嬲y i i ,可以使c o i l l h l a l l d 和e v e n t 也作为硬件事件处理来执行,但它们的工作量要小,应能在短时间内完成。( 3 ) 硬件事件处理可能抢占任务和其它硬件事件处理,因此会带来访问共享数据冲突的问题。解决此问题的方法有两种,一是采用原子操作访问共享数据,但要注意,原子操作会延迟中断响应,从而使系统的响应性变差,因此,在原子操作中应尽量避免调用命令和触发事件:二是声明变量时使用n o r a c e 进行保护,但要慎用。5 y o s 中通信的相关问题( 1 ) 在髓l y o s 中,通信所使用的消息结构是t o s _ m s g 结构。在发送消息时,将应用层数据填入t o s - m s g 的数据负载域中。默认的最大数据负载是2 9 个b y t e s 。第9 页信息工程大学硕士学位论文( 2 ) 每个消息在发送时都会对应一个a mh a n d l e rd ,a mh a n d l c rd 就是发送该消息的组件所使用的s 吼d 接口实例的m 。例:t 铝t m s d m s g c o 姗s 朗d 7 】,7 就是使用该s 朗d 接口实例发送的消息的a ml 啪d l e rd 。这个a mh 锄d l e rd 将被写入t o s - m s g 中的帅e 字段,与数据一起发送出去。在接收端,只有与该a mh a n d l e rm 相同的接收接口才会处理该消息。( 3 ) 接收命令接收数据后要返回一个相同结构的空间,以用于下一次接收。6 关于加入调试信息为了方便仿真调试,可在程序中的适当位置加入调试信息( 也称为d b g 信息) 。我们可以使用多种d b g 模式,其中u s r l 、u s r 2 、u s r 3 和t 锄p 是专为应用组件预留的,应用程序的开发者就可以使用它们。例:d b g ( d b g1 r i m p ,”i m t i a l i z e dc o m p e n t s ”) ;当仿真指定d b g 模式为t e m p 时,此d b g 信息会输出。d b g ( d b g u s r lp b g j e m p ,”r o c c i v em e s s a g c ”) ;当仿真指定d b g 模式为l l s r l 或t 钮l p 时,此d b g 信息都会输出。1 3 3 定制运行环境在运行弛y o s 应用时,我们可以按需求定制运行参数,像工作频率、组d 、不同的组件库等。在当前应用程序目录下定义一个文件m a k e f i l e ,使用标准的m a k e f i l e 语法定义自己需要的运行参数。例:c o n 伊0 n e n t = t e s td e f a u l t l 0 c a l - g r o u p = o ) 【a 5p f l a g s + 一d c c l k l e f h 洹q = 4 3 3 0 0 2 0 0 0i n c l u d e 一m a 】( e m l e s此m a k e f i l c 文件定义了默认的组d 为o 】( a 5 ,实际的工作频率为4 3 3 0 0 2 z 。1 3 4 仿真调试1 d s s 订是t i n y 0 s 仿真器1 2 6 】,可以同时仿真多个节点,每个节点上运行相同的程序,它有多种d b g 模式,运行时可以输出各种调试信息,允许用户从不同的方面检测程序的执行。i d s s m i 的使用:1 在应用程序的目录下编译应用程序,执行命令“m a k e p c ”;2 指定一种或多种d b g 模式,执行命令“e 】【p o nd b g := d b g _ m o d e ”。如果不指定d b g模式,将默认为将所有d b g 信息都输出,这样会使得程序运行速度较慢;3 执行命令“b u j l 抑c m a i n e x e 【o p t i o n s 】n o d e s _ - n u m ”,一定要指定参数n o d e 跗n u m 。o d t i o n s 为可选项,可以用其指定a d c 模型、输出文件名、程序运行时间等。目前,i d s s 讧存在一些不足之处,主要有以下三点:第1 0 页信息工程大学硕士学位论文1 t o s s 讧并不模拟执行时间,也不模拟真实的世界。2 在1 d s s 卫m 中能够运行的代码未必能在实际节点上正常运行。实际情况是中断会相互抢占执行,这可能使节点进入不可恢复的状态,而且如果中断执行时间过长也可能导致节点崩溃,而这些情况在1 d s s 订仿真过程中都不会出现,因此t 0 s s 江仿真调试通过的程序在实际节点上未必能正常运行。3 t o s s d 幢仿真过程中假定的环境在真实世界中未必是合理的,因此t o s s 的仿真结果并不具权威性。t i n y o s 还提供了仿真工具脚i z ,它是1 d s s n 订可扩展的图形用户界面,可以跟踪应用程序的执行过程,设置断点,可视化无线收发包过程,操纵节点的虚拟位置和节点的无线连接,允许我们开发自己的t i n y v i z 模块,与仿真过程进行交互。但目前t i n y v i z 还有很多缺陷,例:点击弛y 、r i z 界面上的关闭选项,并不能真正关掉t i n y “z ;对参数n o d c sn 啪的改变反应比较迟钝等。限于篇幅,这里不再赘述。1 4 课题的背景和主要工作本课题来源于国家发改委项目m v 6 无线传感器网络节点【2 7 】。该项目的研究目标是:设计并自主开发无线传感器网络节点的硬件平台,无线传感器网络与c n g i 互联的s i l l l 【节点;设计并自主开发口p 、,6 无线传感器节点的网络层协议,m a c 层协议,适应口v 6 特点的数据汇聚技术以及适合传感器网络的安全机制,并提出相应的标准化建议;设计并开发数据处理与监视控制子系统;构建由无线传感器节点、s i l l l ( 节点与数据处理与监视控制子系统组成的面向特定应用的示范演示系统。图6 试验网络组网结构整个试验网络如图6 所示,包括三个部分:外场网络、内场网络和广域互联网络。外场网络主要由布设在监测区域的3 0 个传感器节点和1 个s i n k 节点构成。其中,传感器节点配置有温湿度、光强、红外等类型的传感器,用于采集所需的监测数据;s 础第1 1 页信息工程大学硕士学位论文节点由一台p c 口e r s o m l c o m p u t e r ,称为s i i l l 【节点有线单元) 通过串口外接一个传感器节点( 称为s i i l l 【节点无线单元) 构成,如图7 所示,负责完成w s n 与i n t e n l e t 之间的物理接口及协议的转换。其中,s i i l k 节点有线单元主要用于实现w s n 与i n t e n l e t 两种协议栈间的转换,而s i n l 【节点无线单元的主要功能在于进行w s n 与i n t 咖e t 间数据的转发,s i n l ( 节点无线单元与s i i l ;【节点有线单元闯的通信采用串口通信方式。在传感器网络内部,s i n k节点与多个普通传感器节点组成无线多跳网络,它们之间通过自主设计的自组织通信协议实现信息传输;在外部连接方面,s i l l k 节点作为标准的口v 6 网络终端,通过v 6 协议实现与内场以及其它远程网络之间的互联。另外,为增强演示效果,我们在外场还布设有一套视频监控系统,负责对现场的情况进行实时监控,视频监控服务器的监控图像信息可以实时或非实时地被远程调用。图7s i i l l 【节点结构内场网络主要由、,6w 曲服务器、皿l v 6 主机等构成。其中,碑v 6w 曲服务器主要负责对传感器节点所采集的数据进行分析、处理与存储,接受来自口v 6 用户的数据访问或数据查询,以及对传感器网络的状态进行管理;邛v 6 主机可以在本地对传感器网络的数据进行调阅。 、,6w 曲服务器处于一个标准的脚6 子网之内,采用标准6 作为网络层协议实现与外场以及其它远程网络之间的互联。广域互联网络主要由球v 6 册v 4 双栈路由器、c e 对娓t 口v 4 网络以及矾6 仰v 4 隧道网关设备构成。p v 6 ,v 4 双栈路由器采用c i s c o 公司的2 8 1 l 型路由器,通过它构建两个标准口v 6 方式的接入子网,以实现内场网络和外场网络的口v 6 接入;另外,c i s c 02 8 1 1 支持口v 6 m v 4 隧道功能,利用信息工程学院与郑州大学( 简称郑大) 之问已有的c e i 心m t口v 4 网络连接,通过c i s c o2 8 1 l 与郑大口v 6 口v 4 网关设备之问的配合构建口v 6 一m v 4 手工隧道,实现内、外场网络与c e 对咂t 2d v 6 网络之间的远程互联。作者的主要工作围绕着无线传感器网络节点路由协议和应用软件的设计与实现展开。主要包括:1 基于t i n y o s 完成了s i i l l 【节点无线单元软件的设计与开发,普通传感器节点应用程序的设计与实现。2 在m i c a 2 d o t 节点上完成了s i i l l 【节点无线单元应用程序、串口通信模块、普通传感器节点应用程序和路由协议t r e e s 的测试。3 在自主开发的物理平台上分别完成了s i n k 节点无线单元和普通传感器节点上各层第1 2 页信息工程大学硕士学位论文间的接口调试和系统联调,s i i l l 【节点有线单元、s i l l l c 节点无线单元和普通传感器节点的系统联调,6 w 曲服务器、s i 玎l 【节点有线单元、s i n l ( 节点无线单元和普通传感器节点的系统联调。4 在自主开发的物理平台上完成了整个系统的性能测试,解决了测试中出现的问题,提高了整个系统的性能。5 针对

温馨提示

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

评论

0/150

提交评论