无线传感器网络的软件开发.ppt_第1页
无线传感器网络的软件开发.ppt_第2页
无线传感器网络的软件开发.ppt_第3页
无线传感器网络的软件开发.ppt_第4页
无线传感器网络的软件开发.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

第十五章无线传感器网络的软件开发 无线传感器网络软件开发概述主要开发环境无线传感器网络中间件设计 第十五章无线传感器网络的软件开发 软件开发特点和设计要求 无线传感器网络的软件系统用于控制底层硬件的工作行为 为各种算法 协议的设计提供一个可控的操作环境 同时便于用户有效地管理网络 实现网络的自组织 协作 安全和能量优化等功能 从而降低无线传感器网络的使用复杂度 无线传感器网络因其资源受限 动态性强 以数据为中心等特点 对其软件系统的开发设计提出了以下要求 1 软的实时性由于网络变化不可预知 软件系统应当能够及时调整节点的工作状态 自适应于动态多变的网络状况和外界环境 其设计层次不能过于复杂 且具有良好的时间驱动与响应机制 2 能量优化由于传感器节点电池的能量有限 设计软件系统应尽可能考虑节能 这需要用比较精简的代码或指令来实现网络的协议和算法 并采用轻量级的交互机制 软件开发特点和设计要求 无线传感器网络因其资源受限 动态性强 以数据为中心等特点 对其软件系统的开发设计提出了以下要求 3 模块化为使软件可重用 便于用户根据不同的应用需求快速进行开发 应当将软件系统的设计模块化 让每个模块完成一个抽象功能 并制定模块之间的接口标准 4 面向具体应用软件系统应该面向具体的应用需求进行设计开发 使其运行性能满足应用系统的QoS要求 5 可管理为维护和管理网络 软件系统应采用分布式的管理办法 通过软件更新和重配置机制来提高系统运行的效率 软件开发特点和设计要求 无线传感器网络软件开发的本质是从如何从工程的思想出发 在软件体系结构设计的基础上开发应用软件 无线传感器网络软件设计的主要内容就是开发这些基于框架的组件 以支持下面三个层次的应用 软件开发的内容 1 传感器应用提供传感器节点必要的本地基本功能 包括数据采集 本地存储 硬件访问 直接存取操作系统等 2 节点应用包含针对专门应用的任务和用于建立与维护网络的中间件功能 其设计分为三个部分 操作系统 传感驱动 中间件管理 操作系统 操作系统由裁剪过的只针对于特定应用的软件组成 专门处理与节点硬件设备相关的任务 包括启动载入程序 硬件的初始化 时序安排 内存管理和过程管理等 传感驱动 初始化传感器节点 驱动节点上的传感单元执行数据采集和测量工作 它封装了传感器应用 为中间件提供了良好的API接口 中间件管理 该管理机制是一个上层软件 用来组织分布式节点间的协同工作 模块 封装网络应用所需的通信协议和核心支撑技术 算法 用来描述模块的具体实现算法 服务 包含用来与其他节点协作完成任务的本地协同功能 虚拟机 能够执行与平台无关的程序 软件开发的内容 3 网络应用描述整个网络应用的任务和所需要的服务 为用户提供操作界面来管理网络评估运行效果 网络应用层次的框架组件结构如图15 3所示 软件开发的内容 无线传感器网络软件开发的主要技术挑战 尽管无线传感器网络的软件开发研究取得了很大的进展 但还是有一些问题尚未得到完全解决 总地来说 还面临着以下挑战 1 安全问题无线传感器网络因其分布式的部署方式很容易受到恶意侵入和拒绝服务之类的攻击 因此在软件开发中要考虑到安全的因素 需要将安全集成在软件设计的初级阶段 以实现机密性 完整性 及时性和可用性 2 可控的QoS操作应用任务在网络中的执行需要一定的QoS保证 用户通常需要调整或设置这些QoS要求 如何将QoS要求通过软件的方式抽象出来 为用户提供可控的QoS操作接口 是无线传感器网络软件开发所面临的又一技术挑战 3 中间件系统中间件封装了协议处理 内存管理 数据流管理等复杂的底层操作 用来协调网络内部服务 配置和管理整个网络 设计具有可扩展 通用性强和自适应特点的中间件系统也是无线传感器网络软件开发所面临的技术挑战之一 主要开发环境 TinyOS是当前无线传感器网络开发所使用的主流操作系统 在TinyOS上编写程序使用的主要是nesC语言 nesC是C语言的扩展 精通C语言的程序员可比较快地掌握这种语言 与C语言的存储格式不同 用nesC语言编写的文件以 nc 为后缀 每个nc文件实现一个组件功能 组件化 模块化 在nesC程序中 主要定义两种功能不同的组件 模块 Module 和配件 Configuration 模块主要用于描述组件的接口函数功能以及具体的实现过程 每个模块的具体执行都由4个相关部分组成 命令函数 事件函数 数据帧和一组执行线程 配件主要描述组件不同接口的关系 完成各个组件接口之间的相互连接和调用 模块和配件的定义格式如下 nesC语言结构 nesC应用程序的分析 Blink程序是一个简单的nesC应用程序 它的主要功能是每隔1s的间隔亮一次 关闭系统时红灯亮 其程序主要包括3个子文件Blink nc BlinkM nc和SingleTimer nc 1 Blink nc文件Blink nc文件为整个程序的顶层配件文件 关键字为configuration 通过 连接各个对应的接口 文件关键代码如下 2 BlinkM nc文件BlinkM nc为模块文件 关键字为module command 通过其调用StdControl接口中的3个命令 init start stop 连接接口实现Blink程序的具体功能3 SingleTimer nc文件SingleTimer nc为一个配件文件 主要通过TimerC和StdControl组件接口实现与其他组件之间的调用关系 配件文件还定义了一个唯一时间参数化的接口Timer nesC应用程序的分析 nesC程序的仿真 1 运行环境在PC上安装TinyOS的运行平台 具体安装过程和安装Windows系统一样 为了避免与PC自身系统的冲突 可将安装包tinyos 1 1 0 exe 软件版本以实际仿真的版本为主 现升级到TinyOS 2 1 安装到指定路径 本仿真软件环境是安装在D盘下 这个安装包已经包含了Java Cygwin TinyOS相关软件和编译器 同时提供像mica micaz等硬件驱动 并针对不同硬件编译生成可执行文件以供下载 2 执行步骤 打开生成的cygwin图标 Linux建立在Windows下的软件平台 在光标下进入仿真环境路径 安装在D盘下 cygdrive d tinyos cygwin opt tinyos sim 寻找软件仿真路径 输入make 之后将生成一个执行脚本文件Tinyviz jar 进入应用程序路径 在相同的路径下进入blink目录下 输入 makepc 在PC上对Blink程序进行编译 仿真 若有相关硬件 则输入硬件名称 如makemicaz 在blink文件下会生成一个pc文件夹 里面包含了在PC上blink主程序main exe 打开blink pc路径 输入 tinyviz runmain exe20 20为传感器节点的仿真个数 利用可视化Tinyviz将调用接口使Blink程序执行的仿真结果通过图形显示出来 nesC程序的仿真 nesC程序的仿真 无线传感器网络中间件设计 中间件是介于操作系统 包括底层通信协议 和各种分布式应用程序之间的一个软件层 其主要作用是建立分布式软件模块之间互操作的机制 屏蔽底层分布式环境的复杂性和异构性 为处于上层的应用软件提供运行与开发环境 无线传感器网络的中间件软件设计必须遵循以下的原则 1 由于节点能量 计算 存储能力及通信带宽有限 因此无线传感器网络中间件必须是轻量级的 且能够在性能和资源消耗间取得平衡 2 传感网环境较为复杂 因此中间件软件还应提供较好的容错机制 自适应机制和自维护机制 3 中间件软件的下层支撑是各种不同类型的硬件节点和操作系统 如TinyOS MANTISOS SOS等 因此 其本身必须能够屏蔽网络底层的异构性 4 中间件软件的上层是各种应用 因此 它还需要为各类上层应用提供统一的 可扩展的接口 以便于应用的开发 无线传感器网络中间件设计 围绕无线传感器网络在信息交互 任务分解 节点协同 数据处理和异构抽象等方面的设计目标 目前提出了众多不同的无线传感器网络中间件设计方法 主要可分为以下几类 1 基于虚拟机的无线传感器网络中间件 2 基于数据库的无线传感器网络中间件 3 基于应用驱动的无线传感器网络中间件 4 面向消息的无线传感器网络中间件 5 基于移动代理的无线传感器网络中间件 无线传感器网络中间件设计 无线传感器网络中间件设计 典型的无线传感器网络中间件软件体系结构 1 网络适配层在该层中 网络适配器实现对网络底层 无线传感器网络基础设施 操作系统 的封装 2 基础软件层基础软件层包含各种无线传感器网络中间件组件 具备灵活性 模块性和可移植性 包括网络中间件组件 完成无线传感器网络接入 网络生成 网络自愈合 网络连通性服务等 配置中间件组件 完成无线传感器网络的各种配置工作 如路由配置 拓扑结构调整等 功能中间件组件 完成无线传感器网络各种应用业务的共性功能 提供功能框架接口 管理中间件组件 完成网络应用业务实现各种管理功能 如资源管理 能量管理 生命期管理 安全中间件组件 完成应用业务实现各种安全功能 如安全管理 安全监控 安全审计 典型的无线传感器网络中间件软件体系结构 3 应用开发层应用框架接口

温馨提示

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

评论

0/150

提交评论