杜永文,練云翔,馮 珂
(蘭州交通大學電子與信息工程學院,甘肅 蘭州 730070)
無線傳感器網絡(wireless sensor network,WSN)[1]是一種能量受限的自組織網絡,其發展受到各國政府和研究組織的高度重視。由于無線傳感器網絡規模較大,運行時間較長,直接進行測試會造成成本增加、時間和資源的大量浪費,且操作困難。因此,構建了無線傳感器網絡能耗仿真模型。該模型可以在傳感器網絡進行仿真測試時有效地觀察傳感器網絡的能耗分布。
本文根據傳感器節點各模塊進行情況,對節點的處理器、ADC模塊和閃存存儲器等模塊的能耗情況進行統計,提出了一種更加準確、便于操作的傳感器節點能耗模型。該模塊實現了對傳感器節點能耗信息的實時記錄。采用TinyOS仿真軟件,對CC2530傳感器節點能耗進行仿真,并對能量消耗進行實測。經過數據對比,驗證了能耗模型的有效性。
文獻[2]提出了一種基于硬件測量的傳感器節點能耗計算方法。使用測量電路計算無線通信模塊運行時的電壓和電流,計算節點能耗。文獻[3]根據傳感器節點使用的無線發送和信號強度計算節點能耗,根據無線通信距離、傳輸的數據、信號傳輸過程的衰減程度以及信號放大器的能耗,對節點運行能耗進行統計。文獻[4]對無線傳感器網絡的實際情況進行分析并結合節點通信、計算及其他物理特性,對節點能耗進行統計,提出了傳感器節點能耗模型。
在實際使用過程中,傳感器節點能量主要用于無線通信和數據信息采集。節點的通信根據工作狀態,可分為發送、接收、空閑、休眠四種。節點的能耗分別為發送能耗、接收能耗、空閑能耗、休眠能耗和采集能耗。
在不同的通信狀態下,傳感器節點處理器的運行能耗不同。發送狀態傳感器節點的處理器能耗最大,休眠時處理器能耗最小。想要準確計算傳感器網絡運行時的能耗情況,不能只對傳感器節點的無線通信能耗進行計算,還要對節點的處理器的能耗進行統計。傳感器節點結構如圖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為休眠時間。
傳感器節點在進行信息采集時需要用到的模塊包括:環境感知模塊、ADC轉換模塊、存儲器實現數據的保存與傳輸模塊。因此,傳感器節點的采集能耗主要包括傳感器運行能耗、ADC轉換能耗和存儲器儲存和傳輸能耗。
Ecollect=(Psensor+PADC+Pflash)×Tcollect×Tcollect
(2)
傳感器節點在進行無線通信過程中的能耗主要是無線通信能耗和處理器運行能耗。根據傳感器節點的不同通信狀態設計各狀態的能耗算法,實現對傳感器節點的能耗實時監測。
通信能耗算法運行流程如圖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; }
傳感器節點根據不同的應用要求,可以使用不同的傳感器完成工作。雖然傳感器功能不同,但是節點整體架構基本類似。傳感器節點進行采集時的能耗包括傳感器運行能耗、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; }
目前,對無線傳感器網絡仿真的工具主要有NS2[5]、OPNET[6]、TOSSIM[7]和OMNeT++[8]等,其中TOSSIM是TinyOS[9]操作系統的仿真工具。
本文采用TinyOS操作系統自帶的TOSSIM仿真平臺對CC2530傳感器節點進行仿真,并根據能耗模型設計能耗組件[10-13]。能耗組件根據傳感器節點不同狀態的運行功率以及運行時間等參數,對節點能耗進行計算,獲得各個狀態的能耗情況。仿真參數如表1所示。

表1 仿真參數
實測采用CC2530傳感器節點[14],使用PF9802功率測試儀和電流表等工具對傳感器節點在不同工作狀態中的電壓值和電流值進行統計,獲得傳感器節點在不同狀態下的平均電壓、平均電流和平均持續時間,并計算出節點功率。傳感器節點的實測數據如表2所示。

表2 實測數據
根據傳感器節點在不同通信狀態和采集狀態下的能耗情況,將CC2530節點的仿真能耗與實測能耗進行分析對比。仿真和實測數據對比如圖3所示。

圖3 仿真和實測數據對比圖
本文對無線傳感器網絡節點硬件的模塊化架構進行了分析,提出了一種傳感器節點能耗算法,并對基于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.