冉彥中,曹婧華,姜 威,趙 飛
(1.吉林大學(xué)(和平校區(qū))計算機(jī)教研室,吉林長春 130062;2.吉林大學(xué)白求恩醫(yī)學(xué)院,吉林長春 130021;3.吉林大學(xué)軍需科技學(xué)院,吉林長春 130062)
Zigbee技術(shù)是短距離、低速率、低功耗、低成本的短距離無線通信技術(shù),它與IEEE802.15.14一起構(gòu)成無線傳感器網(wǎng)絡(luò)的標(biāo)準(zhǔn)通信協(xié)議,適用于網(wǎng)點多、體積小、數(shù)據(jù)量小,傳輸可靠、低功耗等場合。
Zigbee網(wǎng)絡(luò)有3 種拓?fù)湫问剑盒切巍⒋貥湫魏途W(wǎng)形。網(wǎng)絡(luò)節(jié)點按功能劃分為終端節(jié)點、路由器節(jié)點和協(xié)調(diào)器節(jié)點。ZigBee協(xié)調(diào)器節(jié)點在IEEE 802.15.4中稱為PAN(Personal Area Network)協(xié)調(diào)點,它是整個網(wǎng)絡(luò)的主控節(jié)點,負(fù)責(zé)發(fā)起建立新的網(wǎng)絡(luò)、設(shè)定網(wǎng)絡(luò)參數(shù)、管理網(wǎng)絡(luò)中的節(jié)點以及存儲網(wǎng)絡(luò)中節(jié)點信息等,網(wǎng)絡(luò)形成后也可以執(zhí)行路由器的功能,ZigBee協(xié)調(diào)器節(jié)點必須是FFD(full function device),一個ZigBee網(wǎng)絡(luò)只有一個協(xié)調(diào)器節(jié)點;路由器節(jié)點是全功能節(jié)點,轉(zhuǎn)發(fā)數(shù)據(jù),起到路由的作用,也可以收發(fā)數(shù)據(jù),當(dāng)成一個數(shù)據(jù)節(jié)點,還能保持網(wǎng)絡(luò),為后加入的節(jié)點分配地址;終端節(jié)點RFD(recuced function device),通常定義為電池供電的低功耗設(shè)備,只周期性發(fā)送數(shù)據(jù),不接收數(shù)據(jù)。圖1為星型網(wǎng)絡(luò)拓?fù)鋱D。

圖1 星型網(wǎng)絡(luò)拓?fù)鋱D
本實驗設(shè)計采用基于2.4GHz的Zigbee模塊進(jìn)行傳感器[1-3]的節(jié)點設(shè)計,外面接有溫度傳感器。溫度傳感器采集回來的數(shù)據(jù)送到Zigbee模塊進(jìn)行處理,然后由無線的形式發(fā)送給其他節(jié)點。Zigbee模塊由無線通信模塊(IEEE 802.15.4.RF 2.4GHz)、微控制器模塊、能量模塊和溫度傳感器模塊4個部分組成(見圖2)。Zigbee硬件電路采用TI/Chipcon 公司開發(fā)的2.4GHz IEEE 802.15.4/Zigbee片上系統(tǒng)解決方案CC2430。CC2430整合了2.4GHz IEEE 802.15.4/Zigbee RF 收發(fā)機(jī)CC2420,以及工業(yè)標(biāo)準(zhǔn)的增強(qiáng)型8051MCU 的性能,還包括了8KB 的SRAM、大容量閃存以及許多其他特性。CC2430在接收機(jī)傳輸模式下的電流損耗為25mA,使得RFID 成為針對超長電池使用壽命應(yīng)用的理想解決方案。3種類型的節(jié)點硬件電路都是一樣的,其功能的差別體現(xiàn)在各自的軟件上,從而在無線網(wǎng)絡(luò)中扮演不同的角色。

圖2 網(wǎng)絡(luò)節(jié)點結(jié)構(gòu)圖
Zigbee無線收發(fā)模塊軟件設(shè)計主要包括Zigbee協(xié)調(diào)器[4-10]和終端節(jié)點設(shè)備的軟件設(shè)計。
協(xié)調(diào)器與接受模塊通過串口RS-232連接,并將各個路由器節(jié)點的控制命令轉(zhuǎn)發(fā)下去。各個路由器和終端設(shè)備在加入網(wǎng)絡(luò)后把自己的網(wǎng)絡(luò)地址發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器接收到終端設(shè)備的網(wǎng)絡(luò)地址后建立地址表,并且把地址存儲起來,以便控制命令準(zhǔn)確發(fā)送。網(wǎng)絡(luò)節(jié)點程序流程如圖3所示。
在Zigbee協(xié)議棧里初始化一個星型網(wǎng)絡(luò)只需進(jìn)行相關(guān)的網(wǎng)絡(luò)參數(shù)設(shè)置,再調(diào)用函數(shù)aplFormNetwork(),即可建立一個新的網(wǎng)絡(luò)。初始化協(xié)調(diào)器:首先網(wǎng)絡(luò)層請求MAC 層掃描檢測,掃描完成后網(wǎng)絡(luò)層從MAC層接收到返回信號,然后再選擇一個合適的信道;如果應(yīng)用層已經(jīng)確定了PANID 參數(shù),網(wǎng)絡(luò)層將確保所給定的網(wǎng)絡(luò)標(biāo)志符不會與所選擇的現(xiàn)有的網(wǎng)絡(luò)參數(shù)產(chǎn)生沖突,如果存在沖突則從給定的信道中選擇另外一個信道;一旦合適的信道和網(wǎng)絡(luò)標(biāo)志符PAN ID 確定后,網(wǎng)絡(luò)管理實體將選擇0X0000作為16位的短MAC地址,告知MAC 層;一個RFD 節(jié)點可以調(diào)用aplJoinNetwork()函數(shù)加入當(dāng)前的網(wǎng)絡(luò)協(xié)調(diào)器,RFD 節(jié)點上電后首先掃描網(wǎng)絡(luò)中是否存在協(xié)調(diào)器,如果主機(jī)存在,主機(jī)會自動應(yīng)答RFD 節(jié)點,當(dāng)RFD 節(jié)點收到主機(jī)3次應(yīng)答信號后,RFD 節(jié)點就可以向協(xié)調(diào)器發(fā)送自己的64位物理地址;協(xié)調(diào)器收到RFD 發(fā)送來的64位物理地址后,根據(jù)加入的先后給RFD 節(jié)點分配16位的網(wǎng)絡(luò)地址,那么RFD 節(jié)點成功加入網(wǎng)絡(luò)。

圖3 網(wǎng)絡(luò)節(jié)點程序流程圖
協(xié)調(diào)器建立和維護(hù)網(wǎng)絡(luò)的運行:網(wǎng)絡(luò)上的各個節(jié)點按照入網(wǎng)的先后順序獲得一個網(wǎng)絡(luò)地址,并且這些網(wǎng)絡(luò)地址都發(fā)給協(xié)調(diào)器,由協(xié)調(diào)器將這些地址存儲起來,建立網(wǎng)絡(luò)表;當(dāng)一定時間內(nèi)沒有新的節(jié)點加入網(wǎng)絡(luò)時,協(xié)調(diào)器認(rèn)為整個網(wǎng)絡(luò)建立完成。
Zigbee的星型網(wǎng)絡(luò)的組網(wǎng)實驗在應(yīng)用層上編寫程序。協(xié)議棧的程序是2430[11]的開發(fā)商編寫的,調(diào)用相應(yīng)的函數(shù)完成組網(wǎng),以下是協(xié)調(diào)器和RFD 具體說明。


實驗采用Zigbee協(xié)議實驗節(jié)點6個,由終端設(shè)備RFD 節(jié)點定時采集溫度環(huán)境監(jiān)測參數(shù),并通過Zigbee協(xié)議建立網(wǎng)絡(luò),將檢測數(shù)據(jù)匯集到協(xié)調(diào)器,然后將數(shù)據(jù)發(fā)送到PC機(jī)的串口。
實驗用到了燒寫程序軟件Jennic Flash Programmer,將串口線連接到協(xié)調(diào)器節(jié)點,打開PC 機(jī)上的串口調(diào)試助手,波特率設(shè)置為115 200bit/s,可以收到節(jié)點發(fā)來的數(shù)據(jù)。發(fā)送的數(shù)據(jù)包格式如下:

其中:“00 16”為包號,“00 15 8D 00 00 09 10 1D”為發(fā)送節(jié)點的地址,“00 01”為協(xié)調(diào)器分配的短地址,“00 1D”為溫度數(shù)值,“00 DB”,“0A 3E”為節(jié)點電壓數(shù)值,“FF FF”為包尾。此時用手按住某終端設(shè)備節(jié)點或路由器節(jié)點的溫度傳感器,就可以發(fā)現(xiàn)收到的數(shù)據(jù)包中溫度數(shù)值也相應(yīng)地發(fā)生改變。
本實驗設(shè)計成本低廉,響應(yīng)速度快,系統(tǒng)可靠性高,并在不斷發(fā)展的短距離無線通信技術(shù)中進(jìn)行了有益地探索。
(
)
[1]賈洪杰,王敏.基于FDMA 技術(shù)的無線環(huán)境監(jiān)測系統(tǒng)[J].電腦編程技巧與維護(hù),2010(6):112-113,123.
[2]尹勇,龍毅宏.嵌入式無線傳感器網(wǎng)絡(luò)節(jié)點設(shè)計[J].武漢理工大學(xué)學(xué)報,2006(3):107-109,116.
[3]李婷,王振翀,袁守浩.帶式輸送機(jī)無線保護(hù)傳感器軟件開發(fā)研究[J].中國科技信息,2010(6):79-82.
[4]李路,劉忠,胡洪寧.無線傳感器網(wǎng)絡(luò)在協(xié)同作戰(zhàn)中的應(yīng)用[J].艦船科學(xué)技術(shù),2007(6):111-115.
[5]張來潮,吳廣恩.無線傳感器網(wǎng)絡(luò)在軍隊指揮自動化建設(shè)中的應(yīng)用[J].電子科技,2006(12):57-60.
[6]鄭德忠,韓昭明.王會穎.基于無線傳感器網(wǎng)絡(luò)的co監(jiān)測系統(tǒng)設(shè)計[J].傳感技術(shù)學(xué)報,2007(4):925-928.
[7]張志東,孫雨耕.基于無線傳感器網(wǎng)絡(luò)的語音通信系統(tǒng)設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2007(11):117-120.
[8]李文仲,段朝玉.ZigBee無線網(wǎng)絡(luò)技術(shù)入門與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007.
[9]蔣挺,趙成林.ZigBee紫蜂技術(shù)及其應(yīng)用[M].北京:北京郵電大學(xué)出版社,2006.
[10]昂志敏,金海紅,范之國,等.基于ZigBee 的無線傳感器網(wǎng)絡(luò)節(jié)點的設(shè)計與通信實現(xiàn)[J].現(xiàn)代電子技術(shù),2007,30(10):47-49,57.
[11]馬永強(qiáng),李靜強(qiáng),馮立營.基于ZigBee技術(shù)的射頻芯片CC2430[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006(3):45-47.