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