3.2 传感器节点软件
传感器节点初始化后,首先发送请求基站节点分配级别的命令,同时打开一个定时唤醒的定时器;然后进入低功耗模式,等待外部事件的唤醒。若传感器发送请求基站节点分配级别的次数达到设定上限,仍未确定节点在网络中的级别,则该节点就会向周围传感器节点广播信息。当广播次数达到设定值时,传感器节点就根据收到的信息确定自己的级别以及与该节点有直接联系的节点的信息,并把这些信息发送给基站节点。传感器节点的外部中断事件包括接收到数据事件、定时器中断事件、状态突变事件。
当传感器节点检测到状态突变后,会从低功耗状态唤醒,并及时采集此时的环境参数(包括状态量、温度值及节点电压值),将这些数据发送出去。该数据包通过单跳或多跳到达基站节点并在上位机软件上显示。
3.3 上位机处理软件
为了监测整个网络情况,需要在主机上建立良好的人机交互界面。采用Visual Basic(VB)来设计人机界面。利用VB的MSComm控件实现上、下位机的串口通信,利用其他控件实现对无线传感器网络的分析、显示和操作。
上位机主程序主要完成一些变量和控件初始化,然后等待串口数据。数据的接收和发送都是由中断程序完成的,其流程如图4所示。
图4 上位机的串口中断流程
上位机接收到完整的数据包后,会根据数据包中的关键字进行不同的处理。发送数据时,根据保存的网络数据计算中转数据的路径。为节约基站节点的能量,网络中有很多的数据处理是在上位机中进行的。
4 实验结果
系统研制完成后,需要设计实验来考核自组网效果及网络性能。实验中,首先关注的问题是随机分布的传感器节点在自定义的组织协议下的组网情况。为了考核自组织效果, 首先让基站节点通过串口与上位机相连并打开上位机处理软件;然后打开传感器节点的电源,并通过人工安放或者随机撒播方式布置好传感器节点。
借助上位机的处理软件,可以非常清楚地看到整个网络的拓扑结构和网络节点的环境参数。当上位机处理软件检测到网络内的传感器节点后,会在上位机上进行显示并保存传感器节点的数据。图5为系统演示的11个传感器节点自由组网时界面的显示情况。组网时间约3 min。
图5中的黑色曲线为数据的传输路径。当鼠标点击某个节点,会弹出该节点的信息采集卡。信息采集卡反映了节点的状态量、温度值、电压值以及剩余能量,通过采集卡可直接对该节点进行远程控制。
图5 网络拓扑及数据传输路线图
在检测网络性能的实验中,让传感器节点一级一级分布下去。通过上位机软件可以很清楚地看到所投放的传感器节点可组成的最大跳数的网络拓扑结构。当网络组成后,可通过上位机界面对网内各个节点进行远程控制;当各个节点发生状态突变时,会以中断形式唤醒节点,以能量优先的原则逐级传送到基站节点,并在上位机界面上进行相应显示。
当新的传感器节点加入到网络中,系统会及时反映新加入节点。当系统检测到传感器节点由于电源电压低于工作电压,或人为破坏引起失效时,会从网络中删除该节点的拓扑结构及相关信息,检测方法有手动刷新和定时采样两种。网络内传送的数据都保存在网络数据库中,便于查寻。通过上位机软件还能够对网络进行复位,让所有传感器节点进行重新组网。
结语
本文首先提出了一种无线传感器网络的自组织协议,然后选用MSP430F149和nRF905设计了微型传感器节点,并实现了一种低功耗无线网络,其特点如下:
① 利用无线通信携带的信息自动生成多级网状网络,并按能量优先的原则自动生成数据的传输路径。
② 采取应答和退避机制,防止多个传感器节点向一个节点发送数据时所导致的数据丢失。
③ 无线通信的双向性,不仅被动显示各个传感器节点的信息,还可主动对每个传感器节点进行远程控制。
④ 使用支持低功耗工作模式的硬件,配合软件上的智能控制策略来实现系统低功耗,尽可能延长网络寿命。
编者注: 本文为期刊缩略版,全文见本刊网站www.mesnet.com.cn。
参考文献
[1] 孙利民,李建中,陈渝,等.无线传感器网络[M].北京:清华大学出版社,2005.
[2] Heinzelman W R, Kulik J, Balakrishnan H. Adaptive protocols for information dissemination in wireless sensor networks. In: Proceedings of the ACM MobiCom’99. Seattle: ACM Press, 1999:174-185.
[3] Heinzelman W R, Chandrakasan A,Balakrishnan H. An application-specific protocol architecture for wireless microsensor netwoks. IEEE Transactions on Wireless Communications,2002,1(4).660-670.
[4] Kemal Akkaya, Mohamed Younis. A survey on routing protocols for wireless sensor networks,Ad Hoc Networks. 2005(3):325-349.
[5] 赵明,徐科军,陈智渊.一种无线传感器网络节点设计和通信协议研究[J]. 仪器仪表学报(增刊),2005(8). 630-635.
[6] 魏小龙.MSP430系列单片机接口技术及系统设计实例[M].北京:北京航空航天大学出版社,2002.
[7] 郑启忠,朱宏辉,耿四军.单片射频收发器nRF905及其应用[OL].http://www.51base.com/electron/adhibition/wireless/20065068623.shtml ,2006-05-06.
[8] 讯通科技.nRF401低功耗设计及其实现方法[OL].http://www.freqchina.com/,2006.