楊 勇,周雪琴
(1.湖北省襄陽(yáng)職業(yè)技術(shù)學(xué)院,襄陽(yáng)441050;2.湖北省地質(zhì)局第八地質(zhì)大隊(duì),襄陽(yáng)432000)
·微機(jī)軟件·
基于ZigBee的圖書(shū)館環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)
楊勇1,周雪琴2
(1.湖北省襄陽(yáng)職業(yè)技術(shù)學(xué)院,襄陽(yáng)441050;2.湖北省地質(zhì)局第八地質(zhì)大隊(duì),襄陽(yáng)432000)
圖書(shū)館中溫度、濕度和光強(qiáng)等環(huán)境指標(biāo)對(duì)圖書(shū)保護(hù)有重要影響,因此研究靈敏、準(zhǔn)確、高效的圖書(shū)館環(huán)境監(jiān)控系統(tǒng)顯得尤為重要。為了克服傳統(tǒng)圖書(shū)館環(huán)境監(jiān)控系統(tǒng)的布線(xiàn)麻煩、設(shè)備可移動(dòng)性不強(qiáng)、精度差等缺點(diǎn),提出了一種基于ZigBee無(wú)線(xiàn)通訊技術(shù)的環(huán)境監(jiān)控系統(tǒng),可以檢測(cè)采集環(huán)境條件中的溫度、濕度和光強(qiáng)度等參數(shù),通過(guò)無(wú)線(xiàn)傳輸由網(wǎng)關(guān)節(jié)點(diǎn)進(jìn)行收集,并且發(fā)送到PC機(jī),由上位機(jī)監(jiān)控軟件對(duì)網(wǎng)絡(luò)采集的數(shù)據(jù)統(tǒng)一管理和分析。分析了ZigBee無(wú)線(xiàn)監(jiān)控系統(tǒng)的組成及其特點(diǎn)和功能,從軟硬件兩方面設(shè)計(jì)了系統(tǒng)中的各個(gè)節(jié)點(diǎn),完成ZigBee網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)、ZigBee路由節(jié)點(diǎn)和ZigBee傳感器節(jié)點(diǎn)的設(shè)計(jì)。系統(tǒng)在ZigBee2004協(xié)議?;A(chǔ)上,通過(guò)對(duì)協(xié)議棧應(yīng)用層添加和修改程序來(lái)實(shí)現(xiàn)系統(tǒng)功能的。下位機(jī)軟件設(shè)計(jì)主要分為網(wǎng)絡(luò)協(xié)調(diào)器程序、傳感器節(jié)點(diǎn)程序和路由節(jié)點(diǎn)程序及上位機(jī)程序。
環(huán)境監(jiān)控;圖書(shū)館;無(wú)線(xiàn)網(wǎng)絡(luò),終端節(jié)點(diǎn);網(wǎng)絡(luò)協(xié)調(diào)器;監(jiān)控
圖書(shū)館是各種書(shū)籍、古書(shū)、學(xué)術(shù)資料收藏、保護(hù)、研究、展示和宣傳的機(jī)構(gòu)。為了妥善保護(hù)這些珍貴的歷史和文化財(cái)產(chǎn),圖書(shū)館要保持恒定的溫度、濕度、光強(qiáng)和其他一些環(huán)境參數(shù),以免圖書(shū)遭到破壞,延緩古書(shū)的老化速率。隨著現(xiàn)代電子技術(shù)、通信技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,設(shè)計(jì)圖書(shū)館智能環(huán)境監(jiān)測(cè)系統(tǒng)已經(jīng)成為可能。傳統(tǒng)的監(jiān)控手段,主要采用有線(xiàn)網(wǎng)絡(luò)實(shí)現(xiàn)環(huán)境監(jiān)控。存在著布線(xiàn)麻煩、設(shè)備可移動(dòng)性不強(qiáng)、精度差等缺點(diǎn)[1]。同時(shí)由于無(wú)法實(shí)時(shí)地將數(shù)據(jù)反饋給保護(hù)人員,使圖書(shū)館圖書(shū)保存環(huán)境的控制工作具有一定的滯后性。因此,利用無(wú)線(xiàn)局域網(wǎng)絡(luò)技術(shù),配合無(wú)線(xiàn)傳感器網(wǎng)絡(luò),設(shè)計(jì)相應(yīng)的無(wú)線(xiàn)環(huán)境監(jiān)控系統(tǒng),實(shí)現(xiàn)環(huán)境監(jiān)控?cái)?shù)據(jù)的實(shí)時(shí)傳遞成為必然,同時(shí)也突破了有線(xiàn)網(wǎng)絡(luò)無(wú)法延伸到圖書(shū)遺址中的弊端。
根據(jù)圖書(shū)館環(huán)境的上述要求,設(shè)計(jì)的基于Zig-Bee無(wú)線(xiàn)通信技術(shù)的環(huán)境監(jiān)控系統(tǒng),可以實(shí)現(xiàn)如下功能:本系統(tǒng)可以實(shí)時(shí)監(jiān)測(cè)圖書(shū)館中各個(gè)節(jié)點(diǎn)的環(huán)境參數(shù),并且在電腦上顯示各個(gè)節(jié)點(diǎn)的實(shí)時(shí)溫度、濕度、光照度和檢測(cè)參量時(shí)的時(shí)間,且相應(yīng)的參數(shù)測(cè)量精度比同類(lèi)產(chǎn)品精度高。在電腦界面可以檢測(cè)各個(gè)節(jié)點(diǎn)的無(wú)線(xiàn)通信狀態(tài)并且可以控制執(zhí)行機(jī)構(gòu)的工作。當(dāng)溫度超出規(guī)定范圍則發(fā)聲報(bào)警,并且繼電器開(kāi)始工作,模擬對(duì)空調(diào)的控制。濕度、光照度超過(guò)相應(yīng)的范圍也要進(jìn)行報(bào)警。該無(wú)線(xiàn)傳輸網(wǎng)絡(luò)中可以加入路由節(jié)點(diǎn),起到連接網(wǎng)絡(luò)協(xié)調(diào)器和終端傳感器節(jié)點(diǎn)的目的,實(shí)現(xiàn)動(dòng)態(tài)組網(wǎng)的功能。
系統(tǒng)可以實(shí)時(shí)監(jiān)測(cè)圖書(shū)館中各個(gè)節(jié)點(diǎn)的環(huán)境參數(shù),并且在電腦上顯示各個(gè)節(jié)點(diǎn)的實(shí)時(shí)溫度、濕度和光照度,且相應(yīng)的參數(shù)測(cè)量精度比同類(lèi)產(chǎn)品高,同時(shí)可以實(shí)時(shí)顯示各個(gè)節(jié)點(diǎn)采集參量的時(shí)間。在電腦界面可以檢測(cè)各個(gè)節(jié)點(diǎn)的無(wú)線(xiàn)通信狀態(tài)并且控制執(zhí)行機(jī)構(gòu)的工作。當(dāng)溫度超出規(guī)定范圍則發(fā)聲報(bào)警,并且繼電器開(kāi)始工作,模擬對(duì)空調(diào)的控制。光照度低于某一值時(shí)則打開(kāi)LED燈,濕度超過(guò)相應(yīng)的范圍也要進(jìn)行報(bào)警。同時(shí)該無(wú)線(xiàn)傳輸網(wǎng)絡(luò)中可以加入路由節(jié)點(diǎn),路由器節(jié)點(diǎn)起到了連接網(wǎng)關(guān)和傳感器節(jié)點(diǎn)通信的目的,實(shí)現(xiàn)動(dòng)態(tài)組網(wǎng)的功能。圖1為圖書(shū)館無(wú)線(xiàn)環(huán)境監(jiān)控系統(tǒng)的總體設(shè)計(jì)圖。
圖1 圖書(shū)館無(wú)線(xiàn)環(huán)境監(jiān)控系統(tǒng)總體設(shè)計(jì)圖
從圖1可以看出,圖書(shū)館無(wú)線(xiàn)環(huán)境監(jiān)控系統(tǒng)主要由ZigBee終端節(jié)點(diǎn)、ZigBee路由節(jié)點(diǎn)、ZigBee網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)、監(jiān)控裝置等各部分組成。
3.1ZigBee終端節(jié)點(diǎn)
ZigBee終端節(jié)點(diǎn)主要由傳感器模塊、執(zhí)行模塊、電源模塊、穩(wěn)壓模塊、CC2430RF模塊組成[2]。Zig-Bee傳感器節(jié)點(diǎn)工作流程主要分為傳感器模塊工作流程和執(zhí)行部分工作流程。如圖2和圖3所示。
圖2 傳感器模塊工作流程圖
圖3 執(zhí)行部分工作流程圖
傳感器模塊主要由溫度傳感器、濕度傳感器、光敏傳感器組成。溫度傳感器為DS18B20數(shù)字溫度傳感器。光敏傳感器主要是由光敏電阻搭建相應(yīng)的電路構(gòu)成的。光敏電阻采用了API公司生產(chǎn)的PDV-P9003。
3.2ZigBee網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)
網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)主要由CC2430RF模塊、電源模塊、LED燈、ZigBee協(xié)調(diào)器、USB接口組成,如圖4所示。
圖4 網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)部分
網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)通過(guò)USB口和計(jì)算機(jī)實(shí)現(xiàn)通信,通過(guò)CC2430RF和各節(jié)點(diǎn)實(shí)現(xiàn)通信。網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)是將所有節(jié)點(diǎn)數(shù)據(jù)匯總、分析、存儲(chǔ)和發(fā)送的一個(gè)機(jī)構(gòu)[3]。
它的工作流程是:當(dāng)計(jì)算機(jī)發(fā)送命令以后,網(wǎng)絡(luò)協(xié)調(diào)器接收命令,首先判斷是不是可用命令,如果可用,根據(jù)命令判斷計(jì)算機(jī)需要哪個(gè)節(jié)點(diǎn)的信息,并向該節(jié)點(diǎn)發(fā)送命令要求將對(duì)應(yīng)數(shù)據(jù)傳回網(wǎng)關(guān),然后再將接收到的指定節(jié)點(diǎn)的信息按既定格式發(fā)送給PC機(jī),PC機(jī)通過(guò)傳感器網(wǎng)絡(luò)上位機(jī)監(jiān)控軟件顯示出來(lái)。
系統(tǒng)的ZigBee無(wú)線(xiàn)通信部分協(xié)議主要是運(yùn)用了精簡(jiǎn)版ZigBee 2004協(xié)議棧[4]。
4.1ZigBee協(xié)議棧
系統(tǒng)的ZigBee無(wú)線(xiàn)通信部分協(xié)議主要是運(yùn)用了精簡(jiǎn)版ZigBee 2004協(xié)議棧[5]。本系統(tǒng)主要采用星型網(wǎng)絡(luò),要在ZigBee協(xié)議棧中建立新的網(wǎng)絡(luò),在ZigBee協(xié)議棧里,只需要進(jìn)行相關(guān)網(wǎng)絡(luò)參數(shù)的定義,然后再調(diào)用函數(shù)
aplForm-Network(),即可建立一個(gè)新的網(wǎng)絡(luò),如下所示:
#define LRWPAN_DEFAULT_START_CHANNEL 11//定義頻號(hào)
#define LRWPAN_DEFAULT_PANID 0x1347//定義網(wǎng)絡(luò)號(hào)
系統(tǒng)的下位機(jī)程序主要是對(duì)協(xié)議棧的應(yīng)用層程序進(jìn)行相應(yīng)的增進(jìn)和修改。在這里采用模塊化設(shè)計(jì)思想,將一個(gè)完整的程序分成若干個(gè)可以獨(dú)立完成某些任務(wù)的功能模塊。根據(jù)所要實(shí)現(xiàn)的功能,軟件組成主要包括:網(wǎng)絡(luò)協(xié)調(diào)器程序、終端節(jié)點(diǎn)程序和路由節(jié)點(diǎn)程序等[7]。而各個(gè)節(jié)點(diǎn)程序又由主程序設(shè)計(jì)和各級(jí)子程序組成。
4.2網(wǎng)絡(luò)協(xié)調(diào)器程序
在網(wǎng)絡(luò)協(xié)調(diào)器中首先初始化CC2430,然后程序開(kāi)始初始化協(xié)議棧并打開(kāi)中斷。之后程序開(kāi)始格式化一個(gè)網(wǎng)絡(luò),如果網(wǎng)絡(luò)格式化成功,通過(guò)串口38400,8,N,1可以在串口調(diào)試助手中看到網(wǎng)絡(luò)協(xié)調(diào)器的物理地址、建立網(wǎng)絡(luò)的網(wǎng)絡(luò)ID號(hào)和頻道號(hào)等[8]。之后程序開(kāi)始進(jìn)入應(yīng)用層,處理函數(shù)apsFSM()監(jiān)控空中的ZigBee信號(hào)。如果現(xiàn)在有RFD節(jié)點(diǎn)或路由節(jié)點(diǎn)加入網(wǎng)絡(luò),則串口輸出都會(huì)顯示有新的RFD節(jié)點(diǎn)或路由節(jié)點(diǎn)加入網(wǎng)絡(luò),并顯示加入網(wǎng)絡(luò)節(jié)點(diǎn)的物理地址,此時(shí)網(wǎng)絡(luò)協(xié)調(diào)器給節(jié)點(diǎn)分配網(wǎng)絡(luò)地址。此后程序可以把串口發(fā)過(guò)來(lái)的相應(yīng)指令進(jìn)行轉(zhuǎn)換,發(fā)送到RFD節(jié)點(diǎn)。同樣在函數(shù)apsFSM()里接收RFD節(jié)點(diǎn)發(fā)送過(guò)來(lái)的各個(gè)傳感器采集到的參數(shù)值,也同時(shí)從串口發(fā)送到上位機(jī)。
4.3終端節(jié)點(diǎn)程序
在終端(RFD)節(jié)點(diǎn)中程序同樣首先初始化CC2430,然后打開(kāi)傳感器電源,之后初始化協(xié)議棧,就開(kāi)始發(fā)送網(wǎng)絡(luò)信號(hào),等待主機(jī)響應(yīng),并給自己分配網(wǎng)絡(luò)地址。如果加入網(wǎng)絡(luò)成功,終端節(jié)點(diǎn)的發(fā)光二極管會(huì)點(diǎn)亮,如果加入失敗則不亮。
加入網(wǎng)絡(luò)成功之后,終端節(jié)點(diǎn)就可以向網(wǎng)絡(luò)協(xié)調(diào)器發(fā)送各個(gè)傳感器采集到的參數(shù)值了。此后程序開(kāi)始進(jìn)入循環(huán)調(diào)用SendData()函數(shù)發(fā)送各個(gè)傳感器采集到的參數(shù)值。終端節(jié)點(diǎn)根據(jù)采集網(wǎng)絡(luò)協(xié)調(diào)器發(fā)過(guò)來(lái)的命令來(lái)判斷是各個(gè)傳感器采集數(shù)據(jù),還是相應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行工作。如果是控制執(zhí)行機(jī)構(gòu),則根據(jù)發(fā)過(guò)來(lái)的命令控制相應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行動(dòng)作。同時(shí)將返回值打包發(fā)送到網(wǎng)絡(luò)協(xié)調(diào)器。如果是采集數(shù)據(jù),則控制相應(yīng)的傳感器進(jìn)行工作,將采集到的數(shù)據(jù)打包再發(fā)送到網(wǎng)絡(luò)協(xié)調(diào)器,并開(kāi)始接收應(yīng)答。如果發(fā)送成功,終端節(jié)點(diǎn)回到空閑狀態(tài);如果發(fā)送不成功,終端節(jié)點(diǎn)馬上重新采集一次數(shù)據(jù)再發(fā)送給主機(jī),直到發(fā)送成功。
4.4路由節(jié)點(diǎn)
在路由節(jié)點(diǎn)上,程序同樣首先初始化CC2430,之后初始化協(xié)議棧,并開(kāi)始發(fā)送加入網(wǎng)絡(luò)信號(hào),等待網(wǎng)絡(luò)協(xié)調(diào)器或前面的的路由節(jié)點(diǎn)響應(yīng),并給自己分配網(wǎng)絡(luò)地址。路由節(jié)點(diǎn)加入網(wǎng)絡(luò)后,就執(zhí)行Router-Work()函數(shù)。當(dāng)收到的是控制信號(hào)指令時(shí),則執(zhí)行與終端節(jié)點(diǎn)相同的功能。如果收到的是尋找終端節(jié)點(diǎn)的指令時(shí),則開(kāi)始執(zhí)行路由功能,開(kāi)始尋找終端節(jié)點(diǎn),并給其分配網(wǎng)絡(luò)地址。同時(shí)如果有數(shù)據(jù)想發(fā)到已經(jīng)尋找到的節(jié)點(diǎn)時(shí),它同時(shí)也起到轉(zhuǎn)發(fā)的作用。
4.5上位機(jī)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
設(shè)計(jì)采用Visual Basic 6.0制作人機(jī)交互界面“基于ZigBee無(wú)線(xiàn)環(huán)境監(jiān)控系統(tǒng)”。此控制系統(tǒng)通過(guò)控制串口數(shù)據(jù)收發(fā)來(lái)控制PC機(jī)與ZigBee網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)通信,PC機(jī)與ZigBee網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)串口通信依照串口通信指令進(jìn)行通信。通過(guò)PC機(jī)與ZigBee網(wǎng)關(guān)節(jié)點(diǎn)間的通信從而實(shí)現(xiàn)監(jiān)控人員對(duì)所有ZigBee傳感器節(jié)點(diǎn)的監(jiān)測(cè)和控制。該控制系統(tǒng)主要功能為:搜索網(wǎng)內(nèi)所有ZigBee傳感器節(jié)點(diǎn),顯示某節(jié)點(diǎn)的溫度,顯示某節(jié)點(diǎn)的濕度,顯示某節(jié)點(diǎn)的光照度,當(dāng)溫度超過(guò)某個(gè)范圍時(shí)進(jìn)行報(bào)警,控制執(zhí)行機(jī)構(gòu)LED燈、蜂鳴器和繼電器進(jìn)行工作等。本系統(tǒng)默認(rèn)通過(guò)登陸界面之后為數(shù)據(jù)采集界面,可通過(guò)菜單中的選項(xiàng)進(jìn)入其他窗體。在數(shù)據(jù)采集界面中,可以選擇相應(yīng)的傳感器節(jié)點(diǎn)進(jìn)行操作。當(dāng)選中某個(gè)節(jié)點(diǎn)時(shí),可以測(cè)試此節(jié)點(diǎn)的無(wú)線(xiàn)通信狀態(tài),設(shè)置相應(yīng)的按鈕,可以顯示這個(gè)節(jié)點(diǎn)的溫度、濕度和光照度,同時(shí)顯示當(dāng)時(shí)的測(cè)試時(shí)間。當(dāng)測(cè)試溫度超過(guò)某個(gè)值時(shí),將會(huì)在界面中顯示報(bào)警畫(huà)面。圖5為數(shù)據(jù)采集界面。
圖5 數(shù)據(jù)采集界面
設(shè)計(jì)了一種針對(duì)圖書(shū)館的基于ZigBee無(wú)線(xiàn)傳輸技術(shù)的環(huán)境監(jiān)控系統(tǒng),提出了系統(tǒng)的軟硬件設(shè)計(jì)方案,開(kāi)發(fā)了供監(jiān)測(cè)人員使用的監(jiān)控系統(tǒng)。系統(tǒng)軟硬件聯(lián)合調(diào)試后,完全達(dá)到圖書(shū)館環(huán)境監(jiān)測(cè)的要求,滿(mǎn)足項(xiàng)目需求提出的指標(biāo)要求。
[1]Yan X,Tan K,and Yuan A.Zigbee Communication based Wireless Data Transmission Module[J].Journal of Dynamic Systems,2010,43(7):530-544.
[2]Li H F.Design of Video Sensor based on Wireless Sensor Networks[J].Advanced Materials Research,2011,5(6):7-23.
[3]Yang H J and Yang L L.Hybrid Zigbee RFID Sensor Network for Humanitarian Logistics Centre Management[J].Journal of Network and Computer Applications,2001,34(5):938-945.
[4]Yang H L and Lin X.Design of Mine Monitoring System based on Zigbee Wireless Network Technology[J].Automation&Instrumentation,2010,4(2):21-31.
[5]Valajic N,Stevanovic D,and Spanogiannopoulos G Strategies for Improving Performance of IEEE 802.15.4/Zigbee WSN with Path-constrained Mobile Sink[J].Computer Communications,2011,34(5):743-757.
[6]Mirabella O and Brischetto M.A Hybrid Wired/Wireless Networking Infrastructure for Greenhouse Management[J].IEEE Transactions on Instrumentation and Measurement,2011,60(2):398-407.
[7]Gribaudo M,Manini D,and Nordio A.Transient Analysis of IEEE 802.15.4 Sensor Networks[J].IEEE Transactions on Wireless Communications,2011,11(6):65-68.
[8]Han J,Choi C,and Lee I.More Efficient Home Energy Management System based on Zigbee Communication and Infrared Remote Controls[J].IEEE Transactions on Consumer Electronics,2011,57(4):85-89.
Design of Library Environmental Monitoring and Control System Based on ZigBee
Yang Yong1,Zhou Xueqin2
(1.Xiangyang Vocational and Technical College,Hubei Province,Xiangyang 441050,China;2.Class 8,Hubei Province Geological Survey Geological,Hubei Province,Xiangyang 432000,China)
The environmental conditions in the museum such as temperature,humidity and light intensity have an important impact on the preservation of cultural relics.So it is very important to research a sensitive,accurate and efficient environmental monitoring system for the museum.The environmental monitoring and control system,based on ZigBee wireless communication technology,is presented to detect the acquisition parameters such as temperature,humidity and light intensity which collected by the gateway nodes,and sent to the PC for management and analysis of the data from the network unified,which overcomes the shortcomings of poor wiring,mobility and precision.The composition,characteristics and functions of the system are analyzed and each node in the system is designed in two aspects of hardware and software to complete design for ZigBee network coordinator node,ZigBee routing node and ZigBee sensor node.Based on 2004 ZigBee protocol stack,the system function is realized by adding the application layer protocol stacks and modifying the program.The PC software design of this system mainly consists of the network coordinator,sensor nodes and routing node and PC application program.
Environmental monitoring;Library;Wireless network;Terminal nodes;Network coordinator;Monitoring and control
10.3969/j.issn.1002-2279.2016.01.007
TN99
B
1002-2279(2016)01-0024-04
楊勇(1971-),男,湖北省仙桃市人,講師,主研方向:數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)綜合布線(xiàn)。
2015-04-28