快捷搜索:

基于TinyOS操作系统实现无线传感器网络系统的设

小序

无线传感器收集是由支配在监测区域内的大年夜量廉价微型传感器节点,经由过程无线通信要领组成一个多跳的自组织的收集系统,其目的是协同感知、采集和处置惩罚收集覆盖区域中感知工具的信息,并发送给不雅测者。无线传感器收集技巧钻研涉及到多个热点学科的前沿领域,比如传感器技巧、今世收集技巧、嵌入式谋略机技巧、无线通信技巧等。因为无线传感器收集在工业监测、情况检测、医疗监护、军事侦探等浩繁的领域都有着广阔的利用前景,因而引起了天下各国工业界,学术界和军事部门的注重,并且迅速成为当当代界钻研的热点之一。

1、无线传感器收集的主要特征

传感器收集节点硬件一样平常都由数据采集、数据处置惩罚、数据收发和电源等四个单元组成。数据采集单元经由过程传感器采集外界数据并将其转化为数字旌旗灯号;数据处置惩罚单元是节点的核心模块,认真和谐节点各部分的事情,如对数据采集单元采集的数据进行需要的处置惩罚和保存,以及数据收发单元事情模式的设置等;数据收发单元认真数据的无线传输以及与数据处置惩罚单元的数据交互。上述四大年夜基础模块与响应的操作系统、协议栈和利用法度榜样合营构成一个基础的无线传感器收集节点,浩繁的收集节点散播在一路,就可以完成无线传感收集的基础功能。

在软件设计方面,本系统以专用嵌入式实时操作系统为依托,来治理、和谐传感器节点各硬件部分的事情。上层利用以及各层的通信协议都以节能为中间,需要时可以就义其他的一些收集机能指标来得到更高的电源效率。图1所示是一个传感器收集节点的基础组成。

传统的无线收集设计基础上都是为了同时满意人们各类各样的必要,如语音、视频、图像等。而无线传感器收集一样平常是为了某个特定的必要而设计的,它是一种基于利用的无线收集,与移动通信网、无线局域网、Bluetooth比拟,无线传感器收集具有以下主要特征:

(1)电源能量有限:无线收集中,每个节点的电源都是有限的,收集大年夜多事情在无人区或者对人体有危害的恶劣情况中,一样平常替换电源险些都是很艰苦的事。

(2)谋略能力有限:传感器收集节点都采纳具有嵌入式特点的处置惩罚器,但嵌入式处置惩罚器的处置惩罚能力,使传感器节点的谋略能力对照有限。

(3)无线传感器收集节点数量大年夜,散播范围广,收集中的传感器节点十分密集,数量伟大年夜,无意偶尔可能达到几百,几千,以致更多。

(4)动态性拓扑:传感器收集的拓扑布局可能由于情况或节点电能耗尽等身分而改变,这就要求传感器收集系统能够适应这种变更。

2、TinyOS操作系统

因为无线传感器收集节点的资本十分有限,传统的嵌入式操作系统难以正常有效地运行和事情,分外对能量和内存的需求抵触对照凸起。是以,必要一种全新的嵌入式操作系统来满意无线传感器节点的基础需求。TInyOS操作系统便是美国加州大年夜学伯克利分校的钻研职员针对无线传感器收集设计的开源嵌入式操作系统。TInyOS操作系统主要应用了轻量级线程、主动消息通信、事故驱动模式、组件化编程等技巧。

TInyOS操作系统最初应用汇编和C说话。但经钻研职员进一步的钻研及应用后发明,C说话并不能有效和方便地支持无线传感器收集利用法度榜样的开拓。因而在颠末仔细钻研和设计,并在对C说话进行了必然扩展的根基上,提出了支持组件化编程的nesC说话,该说话可以把组件化、模块化思惟和基于事故驱动的履行模型结合起来。因为TInyOS操作系统和基于TinyOS操作系统的利用法度榜样整个应用nesC说话编写,是以,在先容TinyOS操作系统之前,首先先容一下nesC说话。

3、nesC说话

TinyOS和在其上运行的利用法度榜样可以当作是一个大年夜的“履行法度榜样”,它由许多功能自力且互相有联系的软件组件构成,图2所示是nesC说话的一样平常法度榜样框架。该系统中的一个组件一样平常会供给一些接口(假定组件名为ComA),接口可以被觉得是这个软件组件实现的一组函数的声明,是零丁定义的一组敕令和事故,其他组件经由过程引用相同接口声明来应用这个组件(ComA)的函数,从而实现组件间功能的互相调用,即组件的接口是实现组件间互连的通道。但若组件中实现的函数并未被它在接口中阐明,就不能被其他组件所应用。nesC说话的定义中存在两种不合功能的组件:此中组件接口中的函数功能专门在模块的组件文件中实现,而不合组件之间的关系则是专门经由过程称为配件的组件文件来描述的。

本系统中的接口一样平常指一系列声明的着名函数的聚拢,同时,接口也是连接不合组件的纽带。组件的接口平日是双向的,这种接口实际上是供给者组件和应用者组件之间的一个多功能交互通道。接口的供给者所实现的接口的一组功能函数称为敕令;接口的应用者必要实现的一组功能函数称为事故。

组件是nesC法度榜样的基础单元,组件可分为模块与配件两种。

此中模块是组件的逻辑功能实体,主要包括敕令、事故、义务的详细实现。在TinyOS中,敕令都长短壅闭的,它们完成后会看护相关的事故调用。一样平常环境下,敕令调用都是向下的,即利用组件调用那些与硬件慎密结合的组件,事故调用则恰恰相反。一些特殊的基础事故的调用必须绑定在硬件中断上。nesC说话中还有一类特殊的函数称为义务。在TinyOS系统中,义务是一个可以被调整的实体,类似于传统操作系统中的进程或线程观点。

配件平日可经由过程一系列其他组件来实现一个组件规范,它主要实现组件间的互相造访要领。配件包括组件列表和连接阐明,组件列表定义了实现配件的组件,连接平日可将定义的元素(接口、敕令、事故等)联系在一路,以完成组件之间功能的调用。

4、TinyOS系统的事情道理

为了适应无线传感器收集的特征,TinyOS操作系统应用了四个主要技巧,组件化编程、轻量级线程、主动消息通信和事故驱动模型。

4.1 组件模型

TinyOS操作系统中的组件有四个互相关联的部分:一组敕令处置惩罚法度榜样句柄、一组事故处置惩罚法度榜样句柄、一个颠末封装的私稀有据帧和一组简单的义务。义务、敕令和事故处置惩罚法度榜样在私稀有据帧的高低文中履行并切换帧的状态。

TinyOS操作系统中的组件平日分为硬件抽象组件、合成组件、高层次的软件组件三类。此中硬件抽象组件用于将物理硬件映射成为TinyOS操作系统中的组件,无线发送模块是这种组件的代表,它可供给敕令以操纵与射频收发器相连的各个零丁的I/O引脚,并且发旌旗灯号给事故以将数据位的发送和接管看护其他组件,图3所示是天线传感器利用法度榜样的组件布局:合成组件可以模拟高档硬件的行径,这种组件的一个例子是图3中的Radio Byte组件,它以字节为单位与上层组件交互,并以位为单位与下层无线发送模块组件交互,着末将无线接口映射到UART设备接口上;高层次的软件组件可完成节制、路由以及数据传输等功能,图3中的主动消息处置惩罚模块是这种组件的代表,它可实行在传输前添补包缓存区以及将收到的消息分发给响应的义务的功能。

4.2 轻量级线程

在TinyOS操作系统中,一样平常的轻量级线程task(即TinyOS操作系统中的义务)可按照FIFO要领进行调整,轻量级线程之间不容许抢占。义务一旦履行,就必须履行完毕,不能被其他义务中断。而硬件处置惩罚线程(即中断处置惩罚线程)则可以打断用户的轻量级线程和低优先级的中断处置惩罚线程,故可对硬件中断快速相应。

4.3 主动消息通信

主动消息通信是一个面向消息通信的高机能通信模型。在无线传感器收集中采纳主动消息机制的主要目的是使无线传感器节点的谋略能力和通信重叠。为使主动消息更适用于无线传感器收集的需求,主动消息供给了三个最基础的通信机制,其一是带确认的消息通报,其二是有明确的消息地址,其三是消息分发。在TinyOS操作系统中,主动消息通信被视为一个系统组件,它樊篱了下层各类不合的通信硬件,从而为上层供给了同等的通信原语,可方便开拓职员实现各类功能的高层通信组件。

在TinyOS的主动通信中,当数据到达传感器节点时,首先辈行缓存,然后由主动消息把缓存中的数据分发到上层利用。TinyOS操作系统不支持动态内存分配,以是要求每个利用法度榜样在其所需的消息被开释后,要能够返回一块未应用的消息缓存,以用于接管下一个将要来到的消息。由于在TinyOS操作系统中,各个利用法度榜样之间的履行是不能抢占的,以是不会呈现多个未应用的消息缓存发生冲突,是以,TinyOS操作系统的主动消息通信组件只必要保持一个额外的消息缓存以用于接管下一个消息。假如一个利用法度榜样必要同时存储多个消息,则必要在其私稀有据帧上静态分配额外的空间以保存消息。

一样平常环境下,因为TinyOS操作系统中只供给best-effort消息通报机制.以是必要接管方供给确认反馈信息给发送方,以确定发送是否成功。确认消息可由主动消息通信组件天生,这样比在利用层天生确认消息包更能节省开销,而且反馈光阴短。

4.4 事故驱动模型

TinyOS操作系统是事故驱动的操作系统,故当一个义务完成后,就可以使其触发一个事故,然后由TinyOS操作系统自动调用响应的处置惩罚函数。事故驱动分为硬件事故驱动和软件事故驱动。硬件事故驱动也便是一个硬件发出中断,然落后入中断处置惩罚函数;而软件驱动则是经由过程signal关键字来触发一个事故。

5、停止语

只管TinyOS已被广泛应用,而且也获得了相称的认可,但这并不料味着TinyOS能够适用于WSN的所有利用处景。事实上,在某些场合下,TinyOS并不能很好的事情,它也存在不够的地方,比如可能呈现过载、导致义务损掉、通信吞吐量下降等。无线传感器收集节点的三个范例义务一样平常是传感器采集、本地数据发送和作为中继节点转发数据包。当本地义务发生频率过高时,义务行列步队很快就满了,这时发送或接管义务就可能损掉,从而导致数据包损掉;别的,假如本地义务运行光阴过长,则发送或接管数据包的义务也要等待较长光阴才能得到处置惩罚,这样,会低落通信速度。是以TinyOS的调整策略可能导致问题的呈现。而FIFO的调整机制也可能引起一些紧张的义务得不到实时相应的问题。对付这些问题的办理,将在今后的文章中进行评论争论。

责任编辑:gt

您可能还会对下面的文章感兴趣: