基于TinyOS的传感器节点能耗仿真研究
2018-01-18杜永文练云翔
杜永文,练云翔,冯 珂
(兰州交通大学电子与信息工程学院,甘肃 兰州 730070)
0 引言
无线传感器网络(wireless sensor network,WSN)[1]是一种能量受限的自组织网络,其发展受到各国政府和研究组织的高度重视。由于无线传感器网络规模较大,运行时间较长,直接进行测试会造成成本增加、时间和资源的大量浪费,且操作困难。因此,构建了无线传感器网络能耗仿真模型。该模型可以在传感器网络进行仿真测试时有效地观察传感器网络的能耗分布。
本文根据传感器节点各模块进行情况,对节点的处理器、ADC模块和闪存存储器等模块的能耗情况进行统计,提出了一种更加准确、便于操作的传感器节点能耗模型。该模块实现了对传感器节点能耗信息的实时记录。采用TinyOS仿真软件,对CC2530传感器节点能耗进行仿真,并对能量消耗进行实测。经过数据对比,验证了能耗模型的有效性。
1 传感器节点的能耗模型
文献[2]提出了一种基于硬件测量的传感器节点能耗计算方法。使用测量电路计算无线通信模块运行时的电压和电流,计算节点能耗。文献[3]根据传感器节点使用的无线发送和信号强度计算节点能耗,根据无线通信距离、传输的数据、信号传输过程的衰减程度以及信号放大器的能耗,对节点运行能耗进行统计。文献[4]对无线传感器网络的实际情况进行分析并结合节点通信、计算及其他物理特性,对节点能耗进行统计,提出了传感器节点能耗模型。
在实际使用过程中,传感器节点能量主要用于无线通信和数据信息采集。节点的通信根据工作状态,可分为发送、接收、空闲、休眠四种。节点的能耗分别为发送能耗、接收能耗、空闲能耗、休眠能耗和采集能耗。
1.1 通信能耗模型
在不同的通信状态下,传感器节点处理器的运行能耗不同。发送状态传感器节点的处理器能耗最大,休眠时处理器能耗最小。想要准确计算传感器网络运行时的能耗情况,不能只对传感器节点的无线通信能耗进行计算,还要对节点的处理器的能耗进行统计。传感器节点结构如图1所示。
图1 传感器节点结构图
设定传感器节点的通信能耗为Eradio,发送能耗为Esend,接收能耗为Ereceive,空闲监听能耗为Eidle,休眠能耗为Esleep,则传感器节点总能耗为:
Eradio=Esend+Ereceive+Eidle+Esleep
(1)
其中:
Esend=(Psend+Pcore-send×Tsend×Nsend
Ereceie=(Prec+Pcore-rec×Trec×Nrec
Eidle=(Pidle+Pcore-idle)×Tidle
Esleep=(Psleep+Pcore-sleep)×Tsleep
Eradio=(Psend+Pcore-idle)×Tsend×Nsend+(Prec+Pcore-rec)×Trec×Nrec+(Pidle+Pcore-idle)×Tidle+
(Psleep+Pcore-sleep×Tsleep
式中:Psend为通信发送功率;Pcore-send为处理器空闲功率;Tsend为发送1帧数据时间;Nsend为发送帧数;Prec为通信接收功率;Pcore-rec为处理器接收功率;Trec为接收1帧数据时间;Nrec为接收帧数;Pidle为通信空闲功率;Pcore-idle为处理器空闲功率;Tidle为空闲时间;Psleep为通信休眠功率;Pcore-sleep为处理器休眠功率;Tsleep为休眠时间。
1.2 采集能耗模型
传感器节点在进行信息采集时需要用到的模块包括:环境感知模块、ADC转换模块、存储器实现数据的保存与传输模块。因此,传感器节点的采集能耗主要包括传感器运行能耗、ADC转换能耗和存储器储存和传输能耗。
Ecollect=(Psensor+PADC+Pflash)×Tcollect×Tcollect
(2)
2 传感器节点的能耗算法
2.1 通信能耗算法
传感器节点在进行无线通信过程中的能耗主要是无线通信能耗和处理器运行能耗。根据传感器节点的不同通信状态设计各状态的能耗算法,实现对传感器节点的能耗实时监测。
通信能耗算法运行流程如图2所示。
图2 通信能耗算法流程图
通信能耗算法各状态能耗计算伪代码如下。
send energy()
{ start time=send_time_1; end time=send_time_2;
send time=(send_time_2-send_time_1)×10-6;
send energy=(send voltage×send current+processor voltage×processor current)×send time; }
随着经济高速发展,综合国力的不断增强,旅游者的消费观念也在发生着变化。参加霍童古镇旅游的人群主要是个体户、学生和企事业单位人员,他们都有着一定的教育背景,对旅游也有一定的理解,对于古镇独特的民俗资源和清新的自然环境充满向往。政府在开发霍童古镇旅游时应从大局出发,统筹规划,建立相关指导性文件,加强对霍童古镇旅游的宣传力度,根据霍童旅游产品的特点,利用传统和现代相结合的促销手段进行促销,打造具有地方特色的古镇旅游产品。
receive energy()
{ start time= receive _time_1; end timer= receive _time_2;
receive time=(receive _time_2-receive _time_1)×10-6;
receive energy=(receive voltage×receive current+processor voltage×processor current)×receive time; }
idle energy()
{ start time= idle_time_old; end time= idle_time_now;
idle time=(idle_time_now- idle_time_old)×10-6;
idle energy=(idle voltage×idle current+processor voltage×processor current)×idle time; }
2.2 采集能耗算法
传感器节点根据不同的应用要求,可以使用不同的传感器完成工作。虽然传感器功能不同,但是节点整体架构基本类似。传感器节点进行采集时的能耗包括传感器运行能耗、ADC数据转换能耗以及存储器能耗。
采集能耗算法伪代码如下。
collect energy()
{ start time =collect_time_1;
end time =collect_time_2;
collect time=(collect_time_2-collect_time_1)×10-6;
collect energy=(sensor voltage×sensor current+ADC voltage×ADC current+flash voltage×flash current)×collect time; }
3 仿真与实测
3.1 仿真工具
目前,对无线传感器网络仿真的工具主要有NS2[5]、OPNET[6]、TOSSIM[7]和OMNeT++[8]等,其中TOSSIM是TinyOS[9]操作系统的仿真工具。
本文采用TinyOS操作系统自带的TOSSIM仿真平台对CC2530传感器节点进行仿真,并根据能耗模型设计能耗组件[10-13]。能耗组件根据传感器节点不同状态的运行功率以及运行时间等参数,对节点能耗进行计算,获得各个状态的能耗情况。仿真参数如表1所示。
表1 仿真参数
3.2 实测
实测采用CC2530传感器节点[14],使用PF9802功率测试仪和电流表等工具对传感器节点在不同工作状态中的电压值和电流值进行统计,获得传感器节点在不同状态下的平均电压、平均电流和平均持续时间,并计算出节点功率。传感器节点的实测数据如表2所示。
表2 实测数据
3.3 仿真与实测的数据对比
根据传感器节点在不同通信状态和采集状态下的能耗情况,将CC2530节点的仿真能耗与实测能耗进行分析对比。仿真和实测数据对比如图3所示。
图3 仿真和实测数据对比图
4 结束语
本文对无线传感器网络节点硬件的模块化架构进行了分析,提出了一种传感器节点能耗算法,并对基于TinyOS2的能耗组件进行仿真。采用能耗组件对传感器节点的各种状态进行能耗仿真试验,并与实际运行时的能耗进行对比。试验仿真和实测结果表明,本模型能较为准确模拟节点能耗。TinyOS2没有图形界面,无法实现结果的直观输出,下一步将在TOSSIM上实现能耗数据的图形化显示。
[1] 姜馨,胡屏,王翥,等.面向WSN环境数据传输加密算法的研究[J].自动化仪表,2016,37(11):55-57.
[2] SHARMA I,SINGH R,KHURANA M.Performance evaluation of PEGASIS protocol for WSN using NS2[C]//Computer Engineering and Applications,2015:926-929.
[3] 张志东,孙雨耕,刘洋,等.无线传感器网络能量模型[J].天津大学学报,2007(9):1029-1034.
[4] 成小良,邓志东,董志然.基于无线通信和计算特征分析的能耗模型[J].计算机研究与发展,2009,46(12):1985-1993.
[5] 王庆凤,陈虹,王萍.基于NS2的网络控制系统仿真平台的设计与实现[J].系统仿真学报,2011,23(2):270-274.
[6] ABDULRAHMAN N,ALI Y F.Performance evaluation of Zigbee routing protocol under various conditions using OPNET modeler[J].International Journal of Computer Applications,2015,117(18):25-31.
[7] DUTTA R,GUPTA S,PAUL D.Energy efficient modified SPIN protocol with high security in wireless sensor networks using TOSSIM[C]// International Conference on Parallel,Distributed and Grid Computing,IEEE,2015:290-294.
[8] SHAUKAT H R,HASHIM F.MWSN modeling using OMNET++ simulator[C]//International Conference on Intelligent Systems,2015:597-602.
[9] 刘爽,吴蒙.基于IEEE 802.15.4c TinyOS平台的移植研究[J].计算机技术与发展,2014(11):114-117.
[10]徐敬东,赖锡盛.TinyOS 2.0在CC2430上的移植[J].计算机工程,2011,37(2):256-257.
[11]徐智勇,袁凌云,夏幼明,等.基于TinyOS 2.1无线传感网的能量监测模型设计与实现.[J].传感器与微系统,2011,30(4):99-101.
[12]WANG S,GAO Y,LI X,et al.The pig food intake measurement system based on TinyOS and WSN[C]// International Conference on Mechatronics,Materials,Chemistry and Computer Engineering,2015.
[13]AMJAD M,SHARIF M,AFZAL M K,et al.TinyOS-new trends,comparative views,and supported sensing applications:a review[J].IEEE Sensors Journal,2016,16(9):1-1.
[14]章伟聪,俞新武,李忠成.基于CC2530及ZigBee协议栈设计无线网络传感器节点[J].计算机系统应用,2011(7):184-187.