夏宇紅 夏文忠
(昭通學(xué)院圖書(shū)館,云南 昭通 657000)
圖書(shū)館作為公共服務(wù)場(chǎng)所,如何給讀者提供方便、舒適的服務(wù)?如何利用現(xiàn)代信息技術(shù)手段降低圖書(shū)館館員的工作強(qiáng)度,提升圖書(shū)館的服務(wù)水平和服務(wù)質(zhì)量?提升圖書(shū)館的資源利用率?這些問(wèn)題是所有圖書(shū)館,特別是高校圖書(shū)館每天都面臨的問(wèn)題。本文通過(guò)對(duì)設(shè)定的圖書(shū)館環(huán)境規(guī)劃,使用WSN 無(wú)線傳感器網(wǎng)絡(luò)檢測(cè)和采集圖書(shū)館的各個(gè)閱覽室、書(shū)庫(kù)、機(jī)房等環(huán)境的溫度、濕度和光照度,并傳送給樓宇網(wǎng)關(guān),從而驅(qū)動(dòng)相應(yīng)執(zhí)行機(jī)構(gòu)完成環(huán)境參數(shù)的調(diào)整,以達(dá)到利于讀者讀書(shū)學(xué)習(xí)的適宜環(huán)境。
WSN 即無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network),是一種分布式網(wǎng)絡(luò),由大量的靜止或緩慢移動(dòng)的傳感器構(gòu)成的自組織多跳式無(wú)線網(wǎng)絡(luò),其目的是對(duì)網(wǎng)絡(luò)覆蓋區(qū)域內(nèi)的對(duì)象信息進(jìn)行采集、協(xié)作處理和傳輸并報(bào)給用戶,其結(jié)構(gòu)主要包含傳感器節(jié)點(diǎn)、匯聚節(jié)點(diǎn)、管理節(jié)點(diǎn)[1]。物聯(lián)網(wǎng)技術(shù)的大量應(yīng)用,推動(dòng)了無(wú)線傳感器網(wǎng)絡(luò)技術(shù)向深度和廣度發(fā)展,WSN 所具備的高精度、高可靠性、高性價(jià)比和強(qiáng)靈活性,使其特別適用于環(huán)境監(jiān)測(cè)、目標(biāo)跟蹤、智能交通、醫(yī)療保健以及人類活動(dòng)監(jiān)測(cè)等各個(gè)方面。目前WSN 在圖書(shū)館方面的應(yīng)用,主要集中于溫濕度監(jiān)測(cè)、火災(zāi)預(yù)警和空氣質(zhì)量監(jiān)測(cè)[2]。WSN 技術(shù)的自組織、MESH網(wǎng)絡(luò)[4]、分布式、多跳等特性,能方便輕松實(shí)現(xiàn)“M2M、P2M”之間的信息交互,基于這些原因,WSN是智慧圖書(shū)館數(shù)據(jù)采集獲取網(wǎng)絡(luò)層的理想實(shí)現(xiàn)方案。
智慧圖書(shū)館WSN 以ZigBee 芯片CC2530 作為網(wǎng)絡(luò)節(jié)點(diǎn)控制和無(wú)線通信MCU,該網(wǎng)絡(luò)由一個(gè)協(xié)調(diào)器節(jié)點(diǎn),若干個(gè)路由節(jié)點(diǎn),若干個(gè)終端節(jié)點(diǎn)組成。協(xié)調(diào)器節(jié)點(diǎn)通過(guò)UART或者USART 的串口通訊協(xié)議把各個(gè)路由節(jié)點(diǎn)、終端節(jié)點(diǎn)傳送過(guò)來(lái)的數(shù)據(jù)匯聚后傳送給上位控制機(jī),從而實(shí)現(xiàn)無(wú)線溫度、濕度、煙霧、光照度、位置等信息的采集與傳送,再通過(guò)相應(yīng)的執(zhí)行機(jī)構(gòu),即可以實(shí)現(xiàn)圖書(shū)館的控制與管理?;赪SN 的智慧圖書(shū)館環(huán)境感知系統(tǒng)體系結(jié)構(gòu)如圖1所示。
圖1 智慧圖書(shū)館WSN總體結(jié)構(gòu)
智慧圖書(shū)館的環(huán)境監(jiān)測(cè)需要采集圖書(shū)館的各項(xiàng)環(huán)境數(shù)據(jù),例如溫度、濕度、光照度和煙霧等數(shù)據(jù)。通過(guò)環(huán)境數(shù)據(jù)的采集,協(xié)調(diào)器把收集回來(lái)的環(huán)境數(shù)據(jù)傳送給管理上位機(jī),通過(guò)管理上位機(jī)判斷后,再驅(qū)動(dòng)相應(yīng)的執(zhí)行單元進(jìn)行環(huán)境參數(shù)的調(diào)整。例如溫濕度傳感器獲取溫濕度數(shù)據(jù)后,通過(guò)管理機(jī)判斷,從而驅(qū)動(dòng)溫濕度執(zhí)行單元進(jìn)行空調(diào)、采暖設(shè)備的驅(qū)動(dòng),進(jìn)而實(shí)現(xiàn)環(huán)境溫濕度的調(diào)整。本設(shè)計(jì)采用常見(jiàn)的DHT11實(shí)現(xiàn)環(huán)境濕度、溫度的采集,再通過(guò)CC2530把采集到的數(shù)據(jù)通過(guò)終端節(jié)點(diǎn)和路由節(jié)點(diǎn)傳送給管理上位機(jī),經(jīng)過(guò)管理上位機(jī)判斷后,進(jìn)行環(huán)境溫濕度的決策與執(zhí)行。管理上位機(jī)通過(guò)大功率部件來(lái)驅(qū)動(dòng)采暖加熱設(shè)備或者空調(diào)設(shè)備進(jìn)行溫度、濕度的調(diào)整。數(shù)據(jù)采集與驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)流程如圖2所示。
圖2 溫濕度檢測(cè)流程
對(duì)于光照度、氣體檢測(cè)、煙霧傳感等環(huán)境數(shù)據(jù)的采集與環(huán)境參數(shù)的調(diào)整,處理流程和溫濕度流程一樣,只是采用的傳感器不一樣,執(zhí)行機(jī)構(gòu)不一樣。對(duì)于光照度的,可以使用光敏電阻,驅(qū)動(dòng)執(zhí)行機(jī)構(gòu)為電燈,當(dāng)光照度達(dá)到以后,再進(jìn)行持續(xù)的檢測(cè)以保證燈光的長(zhǎng)時(shí)間開(kāi)啟。對(duì)于氣體檢測(cè),需要使用通風(fēng)設(shè)備。對(duì)于煙霧傳感器,需要能判斷是否是火災(zāi),是否需要驅(qū)動(dòng)滅火設(shè)備工作。
無(wú)線網(wǎng)關(guān)主要實(shí)現(xiàn)異種網(wǎng)絡(luò)的數(shù)據(jù)交換,本設(shè)計(jì)中使用的無(wú)線網(wǎng)關(guān)基于ZigBee 實(shí)現(xiàn)上位機(jī)網(wǎng)關(guān)的數(shù)據(jù)傳輸與信息交換。通過(guò)ZigBee 網(wǎng)關(guān)收集無(wú)線傳感器網(wǎng)絡(luò)采集回來(lái)的數(shù)據(jù),再通過(guò)UART 或USART 等協(xié)議實(shí)現(xiàn)ZigBee 采集回來(lái)的數(shù)據(jù)整理轉(zhuǎn)換為適宜TCP/IP網(wǎng)絡(luò)的數(shù)據(jù),從而實(shí)現(xiàn)信息的傳送與交互。
通過(guò)ZigBee 無(wú)線網(wǎng)關(guān)實(shí)現(xiàn)無(wú)線傳感器網(wǎng)絡(luò)的窄帶到TCP/IP網(wǎng)絡(luò)的寬帶轉(zhuǎn)換,從而實(shí)現(xiàn)物聯(lián)網(wǎng)的互聯(lián)互通。
本系統(tǒng)采用基于TI 公司CC2530[5]芯片的無(wú)線傳感器網(wǎng)絡(luò),CC2530 芯片采用51 增強(qiáng)型內(nèi)核為核心,融入了RF 收發(fā)器、系統(tǒng)內(nèi)可編程閃存、8-KB RAM 和其它強(qiáng)大的功能。CC2530 有四種閃存版本:CC2530F32/64/128/256,分別具有32/64/128/256KB 的閃存,本系統(tǒng)采用256KB 閃存版本實(shí)現(xiàn)。具體引腳如圖3所示。
圖3 CC2530引腳功能描述
Zigbee 協(xié)議在3 個(gè)頻段定義了27 個(gè)物理信道:868MHz頻段中定義了1個(gè)20Kb/s信道,915MHz頻段中定義了10個(gè)40Kb/s 信道,信道間隔為2MHz,2.4GHz 頻段上定義了16 個(gè)250Kb/s 信道,信道間隔為5MHz,通過(guò)Z-stack 協(xié)議棧[6]在f8wConfig.cfg 里設(shè)置信道相當(dāng)本系統(tǒng)所要使用的信道編號(hào)為11的默認(rèn)信道,具體代碼如下:
在信道確定后,再確定PANID。PANID 其全稱為Personal Area Network ID[7],即網(wǎng)絡(luò)標(biāo)識(shí)符,是針對(duì)一個(gè)或多個(gè)應(yīng)用的網(wǎng)絡(luò),一般是mesh 或者cluster tree 兩種拓?fù)浣Y(jié)構(gòu)之一。所有節(jié)點(diǎn)的PANID唯一,一個(gè)網(wǎng)絡(luò)只有一個(gè)PANID,它是由PAN協(xié)調(diào)器生成,PANID是可配置項(xiàng),用來(lái)控制ZigBee路由器和終端節(jié)點(diǎn)要加入哪個(gè)具體的網(wǎng)絡(luò)。如果ZDAPP_CONFIG_PAN_ID 被定義為0xFFFF,那么協(xié)調(diào)器將根據(jù)自身的IEEE地址建立一個(gè)隨機(jī)的PANID(0~0x3FFF);如ZDAPP_CONFIG_PAN_ID 沒(méi)有被定義為0xFFFF,那么網(wǎng)絡(luò)的PANID將由ZDAPP_CONFIG_PAN_ID確定。
具體實(shí)現(xiàn)部分代碼如下:
Z-stack中相關(guān)部分代碼如下:
若要在應(yīng)用中查看PANID 可以這樣獲得:_NIB.nwkPanId
本系統(tǒng)中無(wú)線傳感器網(wǎng)絡(luò)的軟件設(shè)計(jì)采用IAR 軟件設(shè)計(jì),程序設(shè)計(jì)語(yǔ)言采用C語(yǔ)言實(shí)現(xiàn)。因在同一個(gè)無(wú)線傳感器網(wǎng)絡(luò)中,只有一個(gè)協(xié)調(diào)器,有多個(gè)路由節(jié)點(diǎn)和多個(gè)終端節(jié)點(diǎn),如圖1 所示,在程序設(shè)計(jì)時(shí),IAR 軟件設(shè)定好相應(yīng)的PANID,在此采用0xFFF 為隨機(jī)PANID,當(dāng)網(wǎng)絡(luò)的PANID 確定后,再把各個(gè)路由節(jié)點(diǎn)和終端節(jié)點(diǎn)分別加入到此PANID中,從而實(shí)現(xiàn)網(wǎng)絡(luò)的構(gòu)建與信息的交互。
在邏輯上構(gòu)建好無(wú)線傳感器網(wǎng)絡(luò)后,可以先構(gòu)建硬件網(wǎng)絡(luò)及其三種結(jié)構(gòu),即協(xié)調(diào)器、路由節(jié)點(diǎn)和終端節(jié)點(diǎn)。終端節(jié)點(diǎn)負(fù)責(zé)采集終端的溫度、濕度、光照度、有害氣體、煙霧傳感等相應(yīng)終端節(jié)點(diǎn)信息。通過(guò)網(wǎng)關(guān)把搜集回來(lái)的信息傳送給控制主機(jī)。在完成硬件部署后,把使用IAR軟件編譯的程序分別燒錄到相應(yīng)的芯片中,檢測(cè)信息是否正確顯示與傳輸,如出現(xiàn)錯(cuò)誤,再進(jìn)行程序修正。經(jīng)過(guò)具體的實(shí)際測(cè)試,發(fā)現(xiàn)本系統(tǒng)設(shè)計(jì)基本達(dá)到了設(shè)計(jì)需求,具體數(shù)據(jù)見(jiàn)表1圖書(shū)館環(huán)境檢測(cè)數(shù)據(jù)一覽表。
表1 圖書(shū)館環(huán)境檢測(cè)數(shù)據(jù)一覽表
溫度均值在23.5 ℃;濕度均值在45.5%;無(wú)煙霧,系統(tǒng)正常運(yùn)行,未報(bào)警。通過(guò)對(duì)數(shù)據(jù)的核對(duì),發(fā)現(xiàn)所有溫度、濕度和光照度、煙霧等信息均在系統(tǒng)初始設(shè)定閥值范圍內(nèi),能正常運(yùn)行,達(dá)到監(jiān)聽(tīng)監(jiān)測(cè)的系統(tǒng)要求。
WSN智慧圖書(shū)館環(huán)境感知系統(tǒng)采用ZigBee技術(shù)實(shí)現(xiàn)了圖書(shū)館環(huán)境的監(jiān)測(cè)與控制,文章簡(jiǎn)要介紹了系統(tǒng)各部分硬件、軟件的組成、設(shè)計(jì)實(shí)現(xiàn)方法及主要流程控制。對(duì)高校圖書(shū)館及公共場(chǎng)合區(qū)域具有一定的實(shí)用和推廣價(jià)值。