第15章 无线传感器网络的软件开发

时间:2026-01-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应用程序。它的主要功能是每隔1 s的间隔亮一次, 关闭系统时红灯亮。其程序主要包括3个子文件Blink.nc、BlinkM.nc和 SingleTimer.nc。 1.Blink.nc文件 Blink.nc文件为整个程序的顶层配件文件,关键字为configuration,通过“->” 连接 …… 此处隐藏:1055字,全部文档内容请下载后查看。喜欢就下载吧 ……

第15章 无线传感器网络的软件开发.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:4.9 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:19元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219