论文部分内容阅读
无线传感器网络(wireless sensor network)是由分布在给定区域内足够多的无线传感器节点构成的一种新型信息获取系统。每一个传感器节点具有一种或多种数据感知器,并具有一定的计算能力,各节点之间通过网络协议实现信息的交流、汇聚和处理。TinyOS操作系统被认为是目前无线传感器网络事实上的标准,它是一款基于事件驱动模型的操作系统,提供组件化编程框架,充分考虑了无线传感器网络节点资源有限的特点,更有利于应用开发和提高资源利用率。TOSThreads机制是TinyOS2.1.1版本操作系统新增加的线程化编程技术,在保持TinyOS操作系统高并发的特点基础上,TOSThreads提出了同等优先级相互可抢占的用户级线程概念,扩展了TinyOS的并发特点,更加有利于应用开发和系统优化以提高整个应用开发部署的效率和节点资源利用率。本文在研究了TOSThreads技术的基础上,针对其拥有的用户级线程可以相互抢占以支持TinyOS操作系统高并发的特点,使用TOSThreads机制提供的编程框架提出了一种数据采集系统设计方案,整体系统包括底层TinyOS系统层,提供阻塞性封装的TOSThreads系统库支持层,节点中间件层和上层数据感知应用层,系统中使用了通过阻塞性封装的CTP协议及相关接口作为整个系统的消息传递协议,上层数据感知模块感知到数据后会将数据交给节点中间件层进行处理并发送,最后由汇聚节点接收消息并通过串口发送到用户终端系统,由用户进行分析相关数据;系统的节点中间件层包括两大部分,一部分是数据信息处理模块,另一部分是命令控制模块。其中数据信息处理模块主要包括了网络信息的获取以及协调用户级多线程并发执行所需要的数据缓存的设计,命令控制部分就是对系统中的各应用模块的运行状态进行管理,根据具体需求开启或者关闭相关应用功能,提高节点能量利用率。文章的主要贡献是利用TOSThreads机制的多线程编程框架设计并实现了一个数据采集系统,充分理解并应用TOSThreads机制的用户级多线程模式设计了多个子模块,并成功实现各个子模块的功能。最后通过测试验证了本文设计的系统的稳定性和实用性,使用该系统搭建的网络具有自愈能力和多线程协调运行的能力,还可以很方便的对系统进行功能扩充,具有较好的可扩展性。