摘要:提出一種基于ZigBee協(xié)議的用于測(cè)量溫度的無線傳感器網(wǎng)絡(luò)方案,方案中使用CC2530無線芯片和溫度傳感器DS18820搭建了一個(gè)基于ZigBee協(xié)議棧的無線傳感器網(wǎng)絡(luò)。該網(wǎng)絡(luò)由一個(gè)協(xié)調(diào)器充當(dāng)中心節(jié)點(diǎn)和若干個(gè)終端節(jié)點(diǎn)一起,構(gòu)成一個(gè)星型網(wǎng)絡(luò),給出了傳感器節(jié)點(diǎn)、協(xié)調(diào)器節(jié)點(diǎn)的硬件設(shè)計(jì)原理圖及軟件流程圖。實(shí)驗(yàn)證明節(jié)點(diǎn)性能良好、通信可靠,通信距離明顯增大。
關(guān)鍵字:無線傳感網(wǎng)絡(luò):ZigBee;CC2530;DS18B20
引言
無線傳感器網(wǎng)絡(luò)就是由安放在監(jiān)測(cè)區(qū)域內(nèi)大量廉價(jià)微型
傳感器節(jié)點(diǎn),通過無線通信方式形成的一個(gè)自組織網(wǎng)絡(luò),該網(wǎng)絡(luò)應(yīng)用前景廣闊。ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通信技術(shù),可用于距離短、功耗低且傳輸速率不高的各種電子設(shè)備之間進(jìn)行數(shù)據(jù)傳輸以及典型的有周期性數(shù)據(jù)、間歇性數(shù)據(jù)和低反應(yīng)時(shí)間數(shù)據(jù)傳輸?shù)膽?yīng)用。
1、系統(tǒng)硬件組成與設(shè)計(jì)
本文設(shè)計(jì)的無線溫度傳感網(wǎng)絡(luò)是由若干個(gè)ZigBee終端節(jié)點(diǎn)和一個(gè)ZigBee中心節(jié)點(diǎn)(協(xié)調(diào)器)組成,搭建成一個(gè)星型無線傳感器網(wǎng)絡(luò),由終端節(jié)點(diǎn)上的溫度傳感器采集環(huán)境溫度信息,協(xié)調(diào)器中心節(jié)點(diǎn)將接收到的信息及時(shí)反饋到計(jì)算機(jī)上,整體網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
1.1微處理器和溫度傳感器
CC2530單片機(jī)是一款*兼容8051內(nèi)核,同時(shí)支持IEEE802.15.4協(xié)議的2.4GHz無線射頻單片機(jī)。zui大擁有256KB的可編程FLASH容量,12個(gè)10位精度的A/D轉(zhuǎn)換通道,21個(gè)雙向的I/O端口,該款單片機(jī)能滿足Z-Stack運(yùn)行內(nèi)存容量的要求。本文選用DS18B20作為溫度傳感器,能提供9位溫度讀數(shù)、設(shè)置溫度上下限報(bào)警值。
1.2終端節(jié)點(diǎn)硬件組成
無線傳感網(wǎng)絡(luò)節(jié)點(diǎn)是一個(gè)微型化的嵌入式系統(tǒng),構(gòu)成無線傳感網(wǎng)絡(luò)的基礎(chǔ)支持平臺(tái)。本文設(shè)計(jì)的無線傳感網(wǎng)絡(luò)終端節(jié)點(diǎn)硬件組成如圖1所示,主要由CC2530F256片上系統(tǒng)收發(fā)射模塊,電源模塊,下載接口模塊(同時(shí)兼顧仿真接口),傳感器模塊,發(fā)光二極管顯示模塊和獨(dú)立
按鍵模塊等組成。
電源模塊由自鎖開關(guān)、外部電池接口插針、輸出電壓為3.3V的AMS1117穩(wěn)壓芯片、若干阻容元件組成。本文的調(diào)試系統(tǒng)終端節(jié)點(diǎn)選用3.6V大容量充電電池,程序下載為JTAG接口。
傳感器模塊為三位插座接口,分別連接溫度傳感器電源、數(shù)據(jù)和接地管腳。數(shù)據(jù)接口和電源接口直接連接一個(gè)5kΩ的上拉電阻。因?yàn)楸緜鞲衅鹘K端采用傳感器直接插入方式,線路短,上拉電阻可不用接,如果要測(cè)量監(jiān)控環(huán)境惡劣,可用長(zhǎng)導(dǎo)線連接傳感器和終端模塊,使發(fā)射模塊處于較良好穩(wěn)定的工作環(huán)境,使處理器正常工作、延長(zhǎng)芯片壽命,此時(shí)要接上上拉電阻。
發(fā)光二極管顯示模塊由發(fā)光二極管和分壓電阻組成,用于顯示程序的運(yùn)行狀態(tài)。
獨(dú)立按鍵模塊,為四角按鍵,模塊帶上拉電阻,按鍵與發(fā)射模塊靈活連接。本終端模塊中包含兩路獨(dú)立按鍵電路,一路用于復(fù)位,一路用于程序調(diào)試。
1.3協(xié)調(diào)器節(jié)點(diǎn)的硬件組成
本文設(shè)計(jì)的無線傳感網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)硬件組成如圖2所示,主要由CC2530發(fā)射系統(tǒng)、電源、下載接口、LCD液晶屏顯示、發(fā)光二極管顯示、獨(dú)立按鍵五向?qū)Ш胶蚏S232串口等模塊等組成。
協(xié)調(diào)器的電源模塊與終端節(jié)點(diǎn)的基本相同,但因協(xié)調(diào)器要根據(jù)需要不停地查詢網(wǎng)絡(luò)中的信息,因此要外接穩(wěn)定的電源,在終端的電源模塊基礎(chǔ)上增加了外部穩(wěn)壓源接口。協(xié)調(diào)器的下載接口、發(fā)光二極管顯示和獨(dú)立按鍵等模塊原理圖與終端節(jié)點(diǎn)一樣,只是LED燈為4只,獨(dú)立按鍵增加了3只。
LCD液晶模塊,為128x64點(diǎn)陣的液晶,數(shù)據(jù)傳輸模式采用SPI總線傳輸。
RS232串口模塊是連接單片機(jī)與計(jì)算機(jī)的通信接口,把協(xié)調(diào)器從終端節(jié)點(diǎn)返回的傳感器ID、實(shí)時(shí)溫度、溫度閾值等信息傳輸?shù)接?jì)算機(jī),由上位機(jī)監(jiān)控軟件顯示、分析、存儲(chǔ)。
五向?qū)Ш桨存I采用A/D讀取模式,有上下左右中間五個(gè)方向的鍵值,原理圖如圖3所示。
2、軟件設(shè)計(jì)與實(shí)現(xiàn)
2.1協(xié)調(diào)器節(jié)點(diǎn)程序
在網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都有一個(gè)64位的物理長(zhǎng)地址和一個(gè)16位的短地址,短地址用于本網(wǎng)絡(luò)的設(shè)備通信,而長(zhǎng)地址則可以與本網(wǎng)絡(luò)之外的其他網(wǎng)絡(luò)進(jìn)行通信。數(shù)據(jù)傳送采用主從節(jié)點(diǎn)方式,與計(jì)算機(jī)相連作為主節(jié)點(diǎn)(協(xié)調(diào)器),其他節(jié)點(diǎn)作為從節(jié)點(diǎn)(終端節(jié)點(diǎn)),從節(jié)點(diǎn)可以向主節(jié)點(diǎn)發(fā)送中斷請(qǐng)求。
協(xié)調(diào)器端程序流程如圖4所示,協(xié)調(diào)器上電后,首*行設(shè)備初始化,包括硬件電路初始化,寄存器初始化,協(xié)議棧初始化,操作系統(tǒng)初始化。然后進(jìn)入到執(zhí)行操作系統(tǒng),進(jìn)入無限循環(huán)的任務(wù)執(zhí)行程序中。
終端程序的大體流程,終端的初始化過程和協(xié)調(diào)器類似。首先判斷節(jié)點(diǎn)是否加入一個(gè)網(wǎng)絡(luò),如果是,則可以發(fā)送所采集的信息。如果沒有加入網(wǎng)絡(luò),則判斷是否作為老節(jié)點(diǎn)加入網(wǎng)絡(luò),如果作為老節(jié)點(diǎn)加入網(wǎng)絡(luò),則終端節(jié)點(diǎn)通過保留以前加入網(wǎng)絡(luò)的地址來加入網(wǎng)絡(luò)。如果作為新的節(jié)點(diǎn)加入網(wǎng)絡(luò),則需要掃描網(wǎng)絡(luò),然后加入其中zui的一個(gè)網(wǎng)絡(luò)。
2.2組網(wǎng)
組網(wǎng)的過程主要如下:
?。?)協(xié)調(diào)器首先上電,完成網(wǎng)絡(luò)的初始化,選擇一個(gè)合適的信道,并且為自己的網(wǎng)絡(luò)選擇一個(gè)PAN_ID(網(wǎng)絡(luò)標(biāo)識(shí)符),然后周期的向周圍發(fā)送beaconrequest的數(shù)據(jù)包。
(2)再將終端節(jié)點(diǎn)上電,終端節(jié)點(diǎn)會(huì)首先向周圍的環(huán)境做一個(gè)信道能量掃描選擇一個(gè)能量比較合適的信道進(jìn)行網(wǎng)絡(luò)搜尋。
?。?)當(dāng)協(xié)調(diào)器接收到終端節(jié)點(diǎn)的beaconrequest數(shù)據(jù)包之后會(huì)發(fā)送一個(gè)包含自己IEEEMAC地址的超幀。
?。?)終端節(jié)點(diǎn)接收到超幀之后,將協(xié)調(diào)器的MAC地址保存,并利用這個(gè)地址向協(xié)調(diào)器發(fā)送一個(gè)AssociationRequest的數(shù)據(jù)包,此包目的是尋求加入網(wǎng)絡(luò)。
?。?)當(dāng)協(xié)調(diào)器接收到DataRequest之后,首先經(jīng)過NWK層的算法為其分配一個(gè)惟一的網(wǎng)絡(luò)短地址,然后向終端節(jié)點(diǎn)發(fā)送一個(gè)包含其網(wǎng)絡(luò)短地址的包,這個(gè)包是通過MAC地址發(fā)送的。
?。?)當(dāng)終端節(jié)點(diǎn)接收到這個(gè)包之后,配置自己的短地址為0xXXXX,此時(shí)可用這個(gè)短地址和協(xié)調(diào)器進(jìn)行應(yīng)用層的通信,至此終端節(jié)點(diǎn)已經(jīng)成功加入到網(wǎng)絡(luò)。
2.3數(shù)據(jù)傳輸
本研究采用了直接尋址(通用單播),用于設(shè)備間的通信。設(shè)備直接尋址必須知道接收方的短地址或者長(zhǎng)地址。
當(dāng)節(jié)點(diǎn)接收到一個(gè)單播的消息,其APS層就會(huì)激活A(yù)PSDE_DATA_indication原語處理消息。如果接收到的是一個(gè)確認(rèn)幀,則APS層應(yīng)該發(fā)送APSDE_DATA。
Indication原語來接收命令,然后將溫度信息通過APSDE-DATA.request原語發(fā)送回協(xié)調(diào)器,協(xié)調(diào)器同樣通過APSDE-DATA.indication原語來接收信息。如圖5所示。
3、系統(tǒng)測(cè)試
對(duì)網(wǎng)絡(luò)的測(cè)試,主要集中于兩個(gè)方面:功能測(cè)試,如組網(wǎng),點(diǎn)對(duì)點(diǎn)的通信,系統(tǒng)整體測(cè)試等;靜態(tài)測(cè)試,如節(jié)點(diǎn)的性能指標(biāo),程序的實(shí)現(xiàn)和數(shù)據(jù)收發(fā)的正確率等。
3.1功能測(cè)試
首先將協(xié)調(diào)器程序燒入一個(gè)節(jié)點(diǎn)作為協(xié)調(diào)器;將傳感節(jié)點(diǎn)程序燒入幾個(gè)節(jié)點(diǎn)作為傳感器終端。經(jīng)系統(tǒng)測(cè)試,所有終端都能加入網(wǎng)絡(luò),并能進(jìn)行正常的數(shù)據(jù)收發(fā),功能測(cè)試顯示系統(tǒng)完好。
3.2節(jié)點(diǎn)測(cè)試
3.2.1無障礙傳輸距離測(cè)試
測(cè)試在室外空曠的環(huán)境下進(jìn)行,打開協(xié)調(diào)器,建立無線網(wǎng)絡(luò)后,再打開一個(gè)終端節(jié)點(diǎn)設(shè)備,此設(shè)備作為溫度和電壓信息的參考節(jié)點(diǎn)。zui后打開另一個(gè)終端節(jié)點(diǎn),對(duì)該節(jié)點(diǎn)加以移動(dòng),分別選取5個(gè)測(cè)試距離,測(cè)試移動(dòng)中該節(jié)點(diǎn)數(shù)據(jù)接收效果,數(shù)據(jù)由計(jì)算機(jī)保存記錄,測(cè)試完畢統(tǒng)計(jì)分析數(shù)據(jù)。結(jié)果見表1。
3.2.2有障礙傳輸距離測(cè)試
測(cè)試在室內(nèi)隔墻的環(huán)境下進(jìn)行測(cè)試,步驟與無障礙傳輸距離測(cè)試方法一樣。打開協(xié)調(diào)器,建立無線網(wǎng)絡(luò)后,在協(xié)調(diào)器一旁打開一個(gè)終端節(jié)點(diǎn)設(shè)備,此設(shè)備作為溫度和電壓信息的參考節(jié)點(diǎn)。zui后打開另一個(gè)終端節(jié)點(diǎn),對(duì)該節(jié)點(diǎn)加以移動(dòng),分別選取5個(gè)測(cè)試距離,測(cè)試移動(dòng)中該節(jié)點(diǎn)數(shù)據(jù)接收效果,數(shù)據(jù)由上位機(jī)軟件保存記錄,測(cè)試完畢統(tǒng)計(jì)分析數(shù)據(jù),如表1所示。
在進(jìn)行無障礙傳輸距離測(cè)試和障礙傳輸距離測(cè)試,在有墻相隔的時(shí)候信號(hào)不強(qiáng),這與天線設(shè)計(jì)有關(guān),本文終端設(shè)備的天線為PCB天線,如果使用帶桿狀天氣的射頻模塊,接收效果就能夠更好。
4、結(jié)論
隨著計(jì)算成本的下降以及微處理器體積越來越小,無線傳感器網(wǎng)絡(luò)開始投入使用,如環(huán)境的監(jiān)測(cè)和保護(hù)、醫(yī)療護(hù)理、目標(biāo)跟蹤,本文所采用的基于CC2530無線傳感網(wǎng)絡(luò)系統(tǒng)設(shè)計(jì)方案不失為一種較為、節(jié)能、抗*力強(qiáng)的廉價(jià)組網(wǎng)方案。提高該無線網(wǎng)絡(luò)的傳輸距離、增強(qiáng)網(wǎng)絡(luò)的自愈能力,提高ZigBee和Wi—Fi及其他2.4GHz系統(tǒng)的共存時(shí)的互不*力,將該方案推向工業(yè)現(xiàn)場(chǎng)是今后研究的重點(diǎn)。