随着技术的发展,基于分布式、无线传感器网络的应用也越来越多。本文提出了一个基于嵌入式系统的无线传感器网络实验平台,该实验平台在无线传感器网络的算法和协议验证方面具有良好的应用前景。
集成电路、微机电系统以及通信理论的发展促使了无线传感器网络的出现。这种无线传感器网络是由很多自给供电的传感器节点组成的。每个传感器节点都可以进行周围环境数据的采集、简单计算以及与其它节点及外界进行通信。传感器网络的多节点特性使得众多的传感器可以通过协同工作进行高质量的传感,以及组成一个容错性好的的采集系统。正是由于这些优点,近年来出现了许多基于分布式的无线传感器网络应用,如抢险救灾、智能家居以及生物化学武器攻击的探测和救援。
然而,作为一种新兴出现的技术,建立一个运转良好、鲁棒性好的无线传感器网络还是面临着许多挑战。而且由于它的一些独特特性,无线传感器网络的设计方法与现有无线网络的设计方法有很大不同。例如,由于传感器网络中的传感器节点分布密集,所以需要大范围的数据管理和处理技术。其次,无线传感器网络节点一般部署在人类难以到达和接触的区域,这就使传感器网络节点的维护面临着很大的挑战。除此之外,电源消耗也是一个很重要的问题,无线传感器节点作为微小器件,只能配备有限的电源,在有些应用场合下,更换电源是近乎不可能的。这使得传感器节点的寿命在很大程度上依赖于电池的寿命,所以降低功耗以延长系统的寿命是无线传感器网络设计需要首要考虑的问题。许多无线传感器网络方面的研究人员都在注重研究新的节约功耗的协议和算法,这些协议和算法需要传感器网络平台进行实验和验证。在本文中,我们就将介绍一种对协议和算法进行实验和验证的无线传感器网络平台。
无线传感器网络平台架构
一般来说,一个无线传感器网络包括传感器节点以及传感器网络网关节点,如图1所示。网关节点用于组合从各个传感器节点得到的数据以及负责与外界的通信,该节点基于嵌入式系统。
传感器节点首先采集诸如声、光和距离等环境相关的数据,并对这些数据进行简单处理后传送到网关节点。无线传感器网络通常具有两种应用模式:主动轮询模式、被动模式。主动模式要求网关节点对各个传感器节点进行主动的轮询以获得消息,而被动模式则要求在某个传感器节点事件发生时,网关节点能作出及时的响应。各个传感器节点得到的数据还能进行组合,这也很大地提高了传感器网络的效率。当然这也要求传感器节点要具有一定的计算能力。
系统硬件实现
在本文介绍的系统架构中,主要需要实现的是传感器节点和网关的硬件平台,下面介绍这两个平台的硬件实现。
1. 传感器节点的硬件实现
传感器节点的功能是采集人们感兴趣的数据,并将数据发送给各个传感器节点组的网关。传感器节点主要由电源模块、计算模块、存储单元、通信模块和传感单元组成,如图2所示。
传感器节点的计算单元的功能已经在上节中介绍过,在我们的系统中采用了TI 公司的16位微控制器MSP430F149。MSP430具有丰富的片上存储资源,在5 MHz的工作频率下,MSP430的功耗大约为1.5mW,而且该微控制器还有多种省电模式可供选择。除了丰富的片上存储资源和多种省电模式以外,MSP430还具有多个AD接口和I/O数据线,使之很容易用软件编程,这些接口还可以用作与传感单元的接口。
传感器节点的通信模块的功能是由nRF903 射频收发器来实现。该收发器所具有的低功耗和小尺寸使之非常适合用于无线传感器网络系统中,该收发器可以工作在433MHz、868MHz、915MHz等公共频段中。射频模块通过串口与MSP430通信。nRF903还可以根据输入电流来决定传输功率,这一特性使之具有以下优点:
a. 可以使一个节点自动调整通信的相邻节点的个数,从而使得整个网络的规模可调。
b. 可以使一个节点在与相对较近的节点通信时,使用较少的能量。
c. 可以被辅助用来进行无线信道的冲突检测。
d. 可以用来确定一个节点在网络中的相对位置。
每个传感器节点采用AA电池供电。
2. 网关的硬件实现
网关的硬件部分主要由中央处理单元、存储单元、射频收发模块和GPRS通信模块组成,如图3所示。
网关的中央处理单元主要用来处理从传感器节点采集到的数据以及完成一些控制功能。中央处理单元的主要器件是Atmel 公司的AT91RM9200 微处理器,AT91RM9200是基于ARM920T 指令集的ARM处理器。该处理器具有丰富的外设以及接口,这使得它在低成本、低功耗的条件下能完成一些功能丰富的应用。AT91RM9200处理器集成了许多外设接口,包括USB2.0接口和以太网接口。此外,该处理器还提供了多个符合工业标准的通信接口,包括音频、电信、闪存卡、红外、智能卡接口等。
为了将采集到的数据传输到互联网上,网关设备还配有GPRS通信单元,GPRS通信单元主要是由 索尼-爱立信公司的GM47模块组成,该模块通过中国移动现成的GPRS网络将传感器采集到的数据传输的互联网上,用户可以通过普通PC和GPRS手机终端来观测传感器采集到的数据。网关同时还配有与传感器节点相同的RF收发模块,用于接受传感器节点发送的数据。
系统的软件结构
在我们的无线传感器网络系统中,软件部分主要是在网关和传感器节点上。网关端的软件主要完成的功能是处理和管理传感器节点传输过来的数据,它主要由GPRS通信软件、RF通信软件、命令行软件以及任务管理软件组成,如图4所示。
考虑到各种需求,我们采用开源的操作系统-Linux。Linux是一个网络化的操作系统环境,特别适用于网络应用。Linux具有完整的TCP/IP协议栈,同时支持其它多种网络协议,如PPP协议栈,使其很容易实现GPRS拨号的功能。由于Linux的开源特性,用户很容易在其基础上开发自己的应用程序。
传感器节点上的软件主要利用汇编和C语言开发,主要完成的功能是接受传感单元的数据,并将数据发送到传感器节点组的网关上。
本文小结
本文介绍了一个用于嵌入式系统的无线传感器网络演示系统,整个系统建立在嵌入式Linux和ARM处理器的基础上,具有低功耗,软件易开发等优点。
随着社会和科学技术的日益发展,无线传感器网络将得到日益广泛的应用。目前无线传感器网络在能源、节点规模方面还有不足,随着这些问题的解决,无线传感器网络在环境监测、智能建筑以及军事等领域必然会得到越来与广泛的应用。
作者:周波
Email: bzhou3@mail.ustc.edu.cn
中国科学技术大学精密机械与仪器系
文章评论(0条评论)
登录后参与讨论