- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教学课件讲义PPT教学教案培训资料医学中小学上课资料
第6章 TinyOS网络协议 ; 6.1 概述 路由协议一直是无线传感器网络研究的一个重要方向,在TinyOS 2.x中有两种基本的多跳路由协议:分发路由协议(Dissemination Protocol)和汇聚型路由协议(Collection Protocol)。分发协议能够可靠地传送小数据项到网络中的每一个节点;汇聚型路由协议可以把网络中每个节点的小数据项传递到指定的根节点。本章主要介绍这两种协议以及实现过程。; 6.2 分发路由协议 分发协议主要用于实现共享变量的网络一致性。网络中的每个节点都保存有该共享变量的一个副本。分发服务会通知节点该变量值更改的时间,同时交换数据包以达到整个网络的一致性。在任意给定时刻,可能会有两个节点的变量值不相同。但过一段时间后,不一致的节点数会越来越少,最终整个网络都将同一于一个相同的变量值。分发协议具有以下几个特点:分发协议能够达到网络的高度一致性,能有效避免临时性通信链路失效以及高丢包率等网络传输问题。 分发协议要求在有链路连接的情况下确保能够达到某个变量值一致。; 对于不同大小的数据项,分发协议的设计会有很大的不同。 以下内容将讲解分发协议的一系列接口和组件,以及具体的实现过程。;6.2.1 相关接口和组件 在TinyOS 2.x中为分发协议提供了实现,下面讲解涉及到的重要接口和组件。 1. 分发协议的接口 在分发协议中分发服务提供了两个主要的接口:DisseminationValue接口和DisseminationUpdate接口。它们都位于“tinyos-2.x/tos/lib/net/”目录下。 (1) ?DisseminationValue接口。 DisseminationValue接口适用于接收从网络中分发过来的数据,在此接口中包含两个命令函数和一个事件函数,其具体代码如代码6-1所示。; 【代码6-1】 DisseminationValue.nc interface DisseminationValuet { command const t* get(); command void set( const t* ); event void changed(); }; 其中,各个函数的功能如下所述: DisseminationValue.get()命令获取const类型的指针指向数据区域。 DisseminationValue.set()命令允许节点改变其当前的变量值,并帮助节点给变量分配一个初始值。 DisseminationValue.changed()触发节点改变变量值的事件。 (2) ?DisseminationUpdate接口。; DisseminationUpdate接口用于产生分发的数据,此接口只包含一个命令函数,该命令有一个指针类型的参数,提供DisseminationUpdate接口的组件必须将数据赋值到自己分配的内存中,DisseminationValue接口必须触发change()事件,以此作为对change()调用的响应。其接口定义如代码6-2所示。; 【代码6-2】 DisseminationUpdate.nc interface DisseminationUpdatet { command void change(t* ONE newVal); }; 2. 分发协议的组件 在分发协议中有较多的组件,本文将讲解比较重要的组件为DisseminatorC组件,该组件提供了DisseminationValue接口和DisseminationUpdate接口。该组件位于“tinyos-2.x /tos/lib/net/drip”,其具体代码如代码6-3所示。 【代码6-3】 DisseminatorC.nc generic configuration DisseminatorC(typedef t, dip_key_t key) { provides interface DisseminationValuet; provides interface DisseminationUpdatet; };图6-1 myDissemination文件夹 ; 2. 编写程序 (1) ?myDisseminationApp.nc。 在myDisseminationApp.nc文件中列出了实现分发协议所需要的一系列组件以及组件与组件的关系,具体代码如描述6.D.1 myDisseminationAppC.nc所示。;【描述6.D.1】 myDisseminationAppC.n
您可能关注的文档
- EDA技术与数字系统设计第5章_可编程逻辑器件教材教学课件.ppt
- EI质谱图与结构解析教材教学课件.ppt
- Endnote_X4详细教程教材教学课件.ppt
- Endnote_X5教程教材教学课件.ppt
- ENVI基本影像处理流程操作教材教学课件.ppt
- EPON测试与维护技术培训教材教学课件.ppt
- ERP应用实务_第二讲_ERP系统操作基础教材教学课件.ppt
- ESD紧急停车系统教材教学课件.ppt
- ESH-固定剂量复方制剂与高血压的初始治疗教材教学课件.ppt
- ESH-降压达标与疗效维持教材教学课件.ppt
- TinyOS操作系统开发技术及实践(西电版)实践2_nesC语言基础教材教学课件.ppt
- TinyOS操作系统开发技术及实践(西电版)实践4_TinyOS应用开发教材教学课件.ppt
- TinyOS操作系统开发技术及实践(西电版)实践5_TinyOS网络协议教材教学课件.ppt
- Training_class_振动分析基础讲座教材教学课件.ppt
- UI设计-从图标到界面完美解析第二章_Photoshop功能概述教材教学课件.ppt
- UI设计-从图标到界面完美解析第六章_系列图标教材教学课件.pptx
- UI设计-从图标到界面完美解析第七章_综合案例设计教材教学课件.pptx
- UI设计-从图标到界面完美解析第三章_Illustrator功能概述教材教学课件.ppt
- UI设计-从图标到界面完美解析第四章_按钮、导航、控件的设计教材教学课件.pptx
- UI设计-从图标到界面完美解析第五章_图形、图标设计教材教学课件.pptx
最近下载
- 急性胰腺炎护理(完整版)PPT课件.pptx VIP
- 《电气控制系统设计与装调》教案 任务二: CA6140型车床线路故障分析及检修方法(1).doc VIP
- 2025广西公需科目培训考试答案(90分)——“一区两地一园一通道”建设;人工智能时代的机遇与挑战(1).pdf VIP
- 橋式起重机操作维护检修规程.doc VIP
- 2025年铁路行业白皮书:铁路运输网络优化与智能服务.docx
- 党课ppt+讲稿:二十届四中全会提出的新概念新观点新论断ppt.pptx VIP
- 《电气控制系统设计与装调》教案 任务一:CA6140型车床控制线路基本构造及工作原理.doc VIP
- 果实套袋技术详解.ppt VIP
- 应用文写作教程PPT课件—实习报告.pptx VIP
- 煤矿采掘技术管理体系.doc VIP
原创力文档


文档评论(0)