張 藝,廖俊必
(四川大學制造科學與工程學院,四川 成都 610065)
繼計算機、互聯(lián)網(wǎng)、移動通信網(wǎng)之后,傳感器網(wǎng)絡(luò)成為信息產(chǎn)業(yè)新一輪競爭制高點的事實已不容置疑。更讓人興奮的是,作為一個新興技術(shù),我國的無線傳感網(wǎng)已經(jīng)呈現(xiàn)出蓬勃發(fā)展之勢,與國際相比極具同發(fā)優(yōu)勢。今年8月,國務院總理溫家寶在江蘇無錫調(diào)研時,指出“在傳感網(wǎng)發(fā)展中,要早一點謀劃未來,早一點攻破核心技術(shù)”,“在國家重大科技專項中,加快推進傳感網(wǎng)發(fā)展”。無線傳感網(wǎng)技術(shù)正以其智能化、低功耗、自組織和無線通信等特性滲透到節(jié)能、電力、物流、工業(yè)自動化等眾多行業(yè),可應用領(lǐng)域非常巨大。
ZigBee無線網(wǎng)絡(luò)是基于IEEE802.15.4技術(shù)標準和ZigBee網(wǎng)絡(luò)協(xié)議的數(shù)據(jù)傳輸網(wǎng)絡(luò),工作于ISM頻段,采用的ZigBee協(xié)議棧緊湊簡單,實現(xiàn)要求低。ZigBee無線網(wǎng)絡(luò)作為一種新興的短距離無線網(wǎng)絡(luò)技術(shù),具有低速率、低功耗、低成本的特點,能夠?qū)崿F(xiàn)快速組網(wǎng)、自動配置和自我維護、路由修復等功能,非常適用于組建距離短、數(shù)據(jù)交換量不大、網(wǎng)絡(luò)節(jié)點多的無線傳感器網(wǎng)絡(luò)。同時,每個ZigBee網(wǎng)絡(luò)節(jié)點不僅可以直接與監(jiān)控對象進行數(shù)據(jù)采集和監(jiān)控,還可以承擔起路由功能,與多個孤立的終端節(jié)點建立無線連接。ZigBee技術(shù)以其在自動化控制數(shù)據(jù)傳輸方面的表現(xiàn),在2004年被列為當今世界發(fā)展最快、市場前景最廣闊的十大最新技術(shù)之一[1]。
現(xiàn)有的環(huán)高測量儀通過對多種傳感器的輸出信號采集處理來實現(xiàn)活塞環(huán)的系數(shù)測量,存在布線復雜、機動性差、難以實現(xiàn)組網(wǎng)性能等問題。該文將基于ZigBee技術(shù)的無線傳感器網(wǎng)絡(luò)應用于環(huán)高測量儀系統(tǒng),完成了從有線到無線的過渡,以提高系統(tǒng)的靈活性和組網(wǎng)性;設(shè)計的基于LabVIEW平臺的上位機監(jiān)控軟件可以實現(xiàn)對環(huán)高測量儀的網(wǎng)絡(luò)拓撲結(jié)構(gòu)以及活塞環(huán)參數(shù)的實時監(jiān)控。
該無線環(huán)高測量儀系統(tǒng)組成結(jié)構(gòu)如圖1和圖2所示,主要由8031單片機控制的環(huán)高測量儀、基于ZigBee芯片CC2430的無線網(wǎng)絡(luò)、基于LabVIEW串口通信的上位計算機監(jiān)控系統(tǒng)三大部分組成。上位計算機監(jiān)控系統(tǒng)中,CC2430模塊被設(shè)定為網(wǎng)關(guān)節(jié)點,向上通過串口與LabVIEW監(jiān)測軟件交互通信完成命令傳達與數(shù)據(jù)傳輸;向下作為協(xié)調(diào)器進行無線傳感器網(wǎng)絡(luò)的組網(wǎng)和管理,收集網(wǎng)絡(luò)節(jié)點信息以及傳感器信息。測量終端系統(tǒng)中,CC2430模塊作為子節(jié)點加入由網(wǎng)關(guān)節(jié)點組織的無線網(wǎng)絡(luò),以無線方式向網(wǎng)關(guān)節(jié)點發(fā)送本身的網(wǎng)絡(luò)信息,以及通過串口采集到的由8031單片機輸出的傳感器信息[2]。
圖1 上位計算機監(jiān)控系統(tǒng)
圖2 測量終端系統(tǒng)
該系統(tǒng)采用的ZigBee芯片CC2430是基于8051系列的系統(tǒng)芯片,結(jié)合了高性能的射頻、增強性能MCU以及芯片可編程閃存,還具備直接存儲器定址功能(可用于減輕8051微控制器內(nèi)核對數(shù)據(jù)的搬移)、多達8輸入的8~14位ADC、兩個可編程USART(可用于主/從SPI或UART操作)、可編程看門狗定時器、睡眠模式定時、上電復位、掉電檢測電路以及21個可編程I/O引腳等。
CC2430芯片的工作頻帶范圍為2.400~2.4835GHz,工作電壓范圍為2.0~3.6 V,接收和發(fā)送模式下的電流損耗分別低于27 mA或25 mA,數(shù)據(jù)速率達250 kb/s,碎片速率達2 Mchip/s,接收靈敏度為-94dBm,抗鄰頻道干擾能力為39dB,采用0-QPSK調(diào)制方式,以其休眠模式和短時間的轉(zhuǎn)換到主動模式的特性成為那些要求電池壽命非常長的應用的理想解決方案[1]。由于它的外圍電路少、強大和靈活的開發(fā)工具,特別是支持編程的USART,非常適用于環(huán)高測量儀的無線擴展。
該設(shè)計中,由8031單片機控制的環(huán)高測量儀采用匯編語言編程,使得對硬件直接控制能力更強,執(zhí)行速度更快[3];CC2430模塊采用ZigBee協(xié)議棧,具有結(jié)構(gòu)緊湊、編程簡單等優(yōu)點??紤]到CC2430芯片雖然集成了增強性能的8051MCU和存儲器,但是能力和容量有限,該模塊的計算能力十分有限,因而要求終端節(jié)點的計算機完成基本數(shù)據(jù)處理工作。實驗中,采用ZigBee2006協(xié)議棧和匯編語言混合編程的思想[4],ZigBee協(xié)議棧編寫軟件的調(diào)度程序,環(huán)高測量儀對數(shù)據(jù)處理、串口輸出等部分編寫成子程序模塊以供調(diào)用,做到了兼顧執(zhí)行效率高和靈活的特點,實現(xiàn)最優(yōu)的程序質(zhì)量。
上層模塊的基本編程思路是:首先,網(wǎng)關(guān)節(jié)點選擇一個信道和一個網(wǎng)絡(luò)ID用于啟動整個網(wǎng)絡(luò),然后等待路由器和終端設(shè)備的加入。當有設(shè)備申請加入該網(wǎng)絡(luò)時,網(wǎng)關(guān)節(jié)點將為子設(shè)備預先分配一個64位的IEEE地址,加入網(wǎng)絡(luò)成功以后該子設(shè)備將被分配一個與IEEE地址匹配的16位的網(wǎng)絡(luò)地址,且該16位地址在網(wǎng)絡(luò)中是唯一的。
網(wǎng)絡(luò)建立成功以后,打開LabVIEW 8.5監(jiān)控界面的串口開關(guān),監(jiān)測串口是否存在網(wǎng)關(guān)。如果有網(wǎng)關(guān),則發(fā)送命令請求網(wǎng)關(guān)傳送網(wǎng)絡(luò)的基本信息(節(jié)點的IEEE地址、網(wǎng)絡(luò)地址);然后解析網(wǎng)關(guān)傳來的網(wǎng)絡(luò)節(jié)點信息并存儲,同時顯示網(wǎng)絡(luò)的拓撲結(jié)構(gòu)以及節(jié)點的地址;選定節(jié)點,發(fā)送傳感器數(shù)據(jù)收集命令;對收到的數(shù)據(jù)進行解析并顯示在相應的節(jié)點信息圖上。
下層模塊的基本編程思路是:子節(jié)點請求加入網(wǎng)絡(luò),加入成功后得到網(wǎng)絡(luò)分配給自己的網(wǎng)絡(luò)地址,向網(wǎng)關(guān)節(jié)點發(fā)送自己的基本信息;子節(jié)點收到傳感器數(shù)據(jù)上報命令時,首先檢查地址,如果地址不符則丟棄,如果地址符合則調(diào)用讀取數(shù)據(jù)子程序。然后將數(shù)據(jù)通過無線方式發(fā)送給網(wǎng)關(guān)節(jié)點,重新進入等待狀態(tài)。
組網(wǎng)功能實現(xiàn)中,網(wǎng)關(guān)節(jié)點在ZigBee網(wǎng)絡(luò)中充當協(xié)調(diào)器,負責整個網(wǎng)絡(luò)的建立和管理,設(shè)定網(wǎng)絡(luò)類型;普通傳感器節(jié)點作為路由器,與測量儀連接的傳感器節(jié)點被設(shè)計成終端設(shè)備。節(jié)點的設(shè)備類型參數(shù)設(shè)置如下:
表1 Cluster命令對應表
該監(jiān)控軟件是在虛擬儀器開發(fā)平臺LabVIEW 8.5環(huán)境下開發(fā)的,采用模塊化編程思想,提供清晰的圖形化操作界面[5]。
監(jiān)控軟件功能的實現(xiàn)是通過串口與網(wǎng)關(guān)節(jié)點交互通信。監(jiān)控軟件向網(wǎng)關(guān)節(jié)點發(fā)出命令WNⅠ,網(wǎng)關(guān)節(jié)點通過串口收到該命令后,通過串口向上位機監(jiān)控軟件回復網(wǎng)絡(luò)中節(jié)點的設(shè)備屬性、地址等信息。監(jiān)控軟件向網(wǎng)關(guān)節(jié)點發(fā)出命令WA,網(wǎng)關(guān)節(jié)點通過串口收到后,以無線方式向普通傳感器節(jié)點發(fā)出傳感器信息收集命令(Zg_SensorReq_ClusterID);普通傳感器節(jié)點接收到信息收集命令后,解析其中的網(wǎng)絡(luò)地址,若地址匹配,則調(diào)用環(huán)高測量儀的8031微控制器進行傳感器數(shù)據(jù)的采集、處理和傳輸;子節(jié)點將傳感器信息以無線方式回復給網(wǎng)關(guān)節(jié)點,回復命令為Zg_SensorReqReq_ClusterID。網(wǎng)關(guān)節(jié)點接收到普通傳感器節(jié)點通過無線傳來的數(shù)據(jù),通過串口中轉(zhuǎn)給監(jiān)控軟件,命令為WAA;監(jiān)控軟件將信息提取并顯示。
節(jié)取串口通訊程序段,以說明WAA命令的使用方法:
在監(jiān)控界面的控制臺,設(shè)定了網(wǎng)絡(luò)信息、傳感器數(shù)值傳送、命令準備狀態(tài)三種操作命令。選擇“網(wǎng)絡(luò)信息”命令,將實時顯示網(wǎng)絡(luò)拓撲結(jié)構(gòu)以及各個節(jié)點的IEEE地址、16位的唯一網(wǎng)絡(luò)地址,并將節(jié)點的地址信息存儲至節(jié)點具體信息的節(jié)點地址庫;選擇“傳感器數(shù)值傳送”命令,在節(jié)點網(wǎng)絡(luò)地址中輸入想要得到信息的終端節(jié)點地址,點擊“發(fā)送命令”按鈕,在前面板的傳感器數(shù)值圖中,將顯示網(wǎng)關(guān)節(jié)點、路由節(jié)點以及終端節(jié)點的運行狀態(tài),同時終端節(jié)點傳送來的傳感器測量數(shù)據(jù),以及各個節(jié)點自身的電源電壓值、溫度值、光強值信息也將以動態(tài)圖形方式顯示出來。在前面板的傳感器數(shù)值表格中同步記錄了各個節(jié)點的所有傳感器信息[6-7]。監(jiān)控軟件如圖3和圖4所示。
圖3 基于LabVIEW的監(jiān)控軟件主界面
圖4 節(jié)點電壓、溫度信息
基于ZigBee網(wǎng)絡(luò)技術(shù)的無線環(huán)高測量儀系統(tǒng)不但實現(xiàn)了對活塞環(huán)參數(shù)的在線檢測、實時監(jiān)控,同時解決了現(xiàn)場布線復雜的問題,提高了系統(tǒng)的靈活性和組網(wǎng)性。但是,無線傳感器網(wǎng)絡(luò)還存在著諸如數(shù)據(jù)傳輸丟失、節(jié)點的數(shù)據(jù)處理能力不強、監(jiān)控系統(tǒng)易受到工作環(huán)境干擾等問題,隨著無線傳感器網(wǎng)絡(luò)研究的不斷深入,這些問題將逐步得到解決和改善。無線傳感器網(wǎng)絡(luò)的應用前景勢必將越來越廣闊。
[1] 李文仲,段朝玉.ZigBee2006無線網(wǎng)絡(luò)與無線定位實戰(zhàn)[M].北京:北京航空航天大學出版社,2008.
[2] 薛鈞義,張彥斌.MCS-5196系列單片微型計算機及應用[M].西安:西安交通大學出版社,2001.
[3]蔣大文,楊大磊,于 鵬.新型活塞環(huán)綜合測量儀系統(tǒng)軟件的設(shè)計[J].機械與電子,2004(12):31-33.
[4] 杜樹春.單片機C語言和匯編語言混合編程實例詳解[M].北京:北京航空航天大學出版社,2006.
[5]楊樂平,李海濤,楊 磊.LabVIEW程序設(shè)計與應用[M].2版.北京:電子工業(yè)出版社,2005.
[6] 王慶東,陳江洪,湯雪華,等.基于ZigBee技術(shù)的空調(diào)溫度無線監(jiān)測系統(tǒng) [J].上海電機學院學報,2008,11(3):239-242.
[7]林少鋒,何 一.基于CC2420的ZigBee無線網(wǎng)絡(luò)節(jié)點設(shè)計[J].電子設(shè)計工程,2009,17(3):66-68.
[8]徐愛鈞.IAR EWARM嵌入式系統(tǒng)編程與實踐[M].北京:北京航空航天大學出版社,2006.
[9] 李光飛,樓然苗.單片機C程序設(shè)計實例指導[M].北京:北京航空航天大學出版社,2005.
[10]UlemaM.Wirelesssensornetworks:architectures,protocols,and management [J].IEEE/IFIP Network Operation and Management Symposium,2004,3(1):21-23.
[11]Liu Y,Wang C,Qiao X,et al.An improved design of ZigBee wireless sensor network[C]∥2ndIEEE International Conference on Computer Science and Information Technology,2009,8(11):515-518.