陳少峰,鄧周虎,謝 冰,房鼎益,陳曉江
(西北大學(xué)信息科學(xué)與技術(shù)學(xué)院,陜西西安 710127)
無(wú)線傳感器網(wǎng)絡(luò)、主要應(yīng)用于軍事、工農(nóng)業(yè)、生物醫(yī)療、環(huán)境保護(hù)等領(lǐng)域進(jìn)行監(jiān)測(cè)、跟蹤以及偵查等[1,2],通常是在環(huán)境較為惡劣、地處偏遠(yuǎn)、電力供應(yīng)不完善、無(wú)公網(wǎng)覆蓋的野外環(huán)境中使用,因此,現(xiàn)有的無(wú)線傳感器網(wǎng)絡(luò)(WSNs)網(wǎng)關(guān)很難實(shí)現(xiàn)惡劣環(huán)境下的數(shù)據(jù)傳輸。
物聯(lián)網(wǎng)網(wǎng)關(guān)作為連接感知網(wǎng)絡(luò)與傳統(tǒng)通信網(wǎng)絡(luò)/互聯(lián)網(wǎng)的橋梁,既要實(shí)現(xiàn)感知網(wǎng)絡(luò)與現(xiàn)有的通信網(wǎng)絡(luò)/互聯(lián)網(wǎng)的無(wú)縫連接,又要完成對(duì)傳感器網(wǎng)絡(luò)和感知節(jié)點(diǎn)的管理與控制,在整個(gè)無(wú)線傳感器網(wǎng)絡(luò)中起到樞紐作用。常用無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)與公網(wǎng)之間的數(shù)據(jù)傳輸方式分為有線和無(wú)線兩大類。一般是通過(guò)網(wǎng)關(guān)內(nèi)置的以太網(wǎng)接口/公共電話網(wǎng)接口/現(xiàn)場(chǎng)總線/WLAN/GPRS/GSM/3G(TD-SCDMA)/藍(lán)牙等模塊實(shí)現(xiàn)公網(wǎng)的接入[3~5],基本可以滿足復(fù)雜環(huán)境下的數(shù)據(jù)轉(zhuǎn)發(fā)需求,但存在數(shù)據(jù)處理能力有限、蓄電池供電不足導(dǎo)致的生存周期短等問(wèn)題,而且在無(wú)公共網(wǎng)絡(luò)覆蓋地區(qū)無(wú)法實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)發(fā)。
本研究小組在使用無(wú)線傳感器網(wǎng)絡(luò)技術(shù)進(jìn)行秦嶺野生動(dòng)物資源智能感知研究項(xiàng)目中,需要在秦嶺北麓金絲猴保護(hù)區(qū)部署無(wú)線傳感器網(wǎng)絡(luò)監(jiān)測(cè)野外環(huán)境下野生動(dòng)物生存狀態(tài),但由于無(wú)公眾網(wǎng)絡(luò)的支持,無(wú)法實(shí)時(shí)獲取無(wú)線傳感網(wǎng)采集的數(shù)據(jù),只能由人工定期到采集現(xiàn)場(chǎng)提取網(wǎng)關(guān)存儲(chǔ)數(shù)據(jù),使數(shù)據(jù)獲取的實(shí)時(shí)性和完整性大打折扣。因此,設(shè)計(jì)一種適用于無(wú)公網(wǎng)覆蓋地區(qū)的無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)遠(yuǎn)程傳輸系統(tǒng)具有十分重要的意義。
為了使無(wú)公網(wǎng)覆蓋區(qū)域的無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)實(shí)現(xiàn)遠(yuǎn)距離傳輸,需要結(jié)合不同頻段無(wú)線通信技術(shù)的特點(diǎn),采用跨頻段轉(zhuǎn)接技術(shù),結(jié)合2.4GHz頻段的高速率優(yōu)勢(shì)與UHF/VHF頻段遠(yuǎn)距離傳輸?shù)牧己眯阅埽瑯?gòu)建集成有2.4 GHz頻段收發(fā)模塊和UHF/VHF頻段收發(fā)模塊的數(shù)據(jù)傳輸系統(tǒng)[6,7]。
該系統(tǒng)由部署在無(wú)公網(wǎng)覆蓋區(qū)域的數(shù)據(jù)差轉(zhuǎn)單元和部署在有公網(wǎng)覆蓋區(qū)域的轉(zhuǎn)接單元2個(gè)部分組成。分布在無(wú)公網(wǎng)監(jiān)測(cè)區(qū)域內(nèi)的Zig Bee節(jié)點(diǎn)采集數(shù)據(jù)通過(guò)無(wú)線多跳的方式發(fā)送給數(shù)據(jù)差轉(zhuǎn)單元,該單元接收到數(shù)據(jù)并處理后,再通過(guò)UHF/VHF頻段遠(yuǎn)程中轉(zhuǎn)傳輸給部署在有公網(wǎng)覆蓋區(qū)域的轉(zhuǎn)接單元;轉(zhuǎn)接單元接收到數(shù)據(jù)后,由公網(wǎng)接入單元根據(jù)其所處網(wǎng)絡(luò)環(huán)境,選擇有線方式(如,以太網(wǎng)、公共電話網(wǎng)和現(xiàn)場(chǎng)總線等)或無(wú)線方式(如,WLAN/GPRS/GSM/3G(TD-SCDMA)/藍(lán)牙等)接入公網(wǎng),實(shí)現(xiàn)Zig Bee節(jié)點(diǎn)與遠(yuǎn)程監(jiān)控中心的數(shù)據(jù)通信。由于UHF/VHF頻段無(wú)線數(shù)傳模塊最大通信距離可根據(jù)其發(fā)射功率在5~50 km范圍內(nèi)調(diào)整,使用中可根據(jù)實(shí)際應(yīng)用情況通過(guò)多級(jí)中繼延伸覆蓋范圍,所以,該傳輸方法與公網(wǎng)相結(jié)合幾乎可以達(dá)到無(wú)縫覆蓋。適用于無(wú)網(wǎng)絡(luò)覆蓋地區(qū)的數(shù)據(jù)遠(yuǎn)程中轉(zhuǎn)傳輸方法如圖1。
圖1 適用于無(wú)網(wǎng)絡(luò)覆蓋地區(qū)的數(shù)據(jù)遠(yuǎn)程中轉(zhuǎn)傳輸方法Fig 1 Remote relay transmission method of data suitable for areas without network coverage
該系統(tǒng)包括數(shù)據(jù)差轉(zhuǎn)單元和轉(zhuǎn)接單元兩部分,其系統(tǒng)結(jié)構(gòu)框圖如圖2。其中,數(shù)據(jù)差轉(zhuǎn)單元由數(shù)據(jù)匯聚模塊、ARM微處理器、UHF/VHF頻段無(wú)線數(shù)傳模塊、電源管理模塊組成。轉(zhuǎn)接單元由UHF/VHF頻段無(wú)線數(shù)傳模塊、ARM微處理器、GPRS模塊/WAN模塊、電源管理模塊組成。
圖2 系統(tǒng)結(jié)構(gòu)框圖Fig 2 Structure block diagram of system
ARM微處理器作為系統(tǒng)的核心[8],分別在數(shù)據(jù)差轉(zhuǎn)單元和轉(zhuǎn)接單元中負(fù)責(zé)系統(tǒng)各線程任務(wù)的管理和協(xié)調(diào)、處理傳感器節(jié)點(diǎn)的數(shù)據(jù)、將采集的有效信息中轉(zhuǎn)傳輸?shù)竭h(yuǎn)程監(jiān)測(cè)中心、執(zhí)行監(jiān)測(cè)中心的控制指令和控制系統(tǒng)的休眠調(diào)度等。設(shè)計(jì)采用S3C2440A為控制器電路的微處理器芯片,嵌入式操作系統(tǒng)Linux管理各個(gè)任務(wù)的協(xié)調(diào)和調(diào)度。該芯片采用了ARM920t內(nèi)核,集成了外部存儲(chǔ)控制器(SDRAM控制和片選邏輯)、LCD控制器、4通道DMA、3通道UART、2通道SPI、2端口USB、4通道PWM定時(shí)器、1通道內(nèi)部定時(shí)器、看門狗定時(shí)器、130個(gè)通用I/O口和24通道外部中斷源等,具有功能強(qiáng)大、功耗低等優(yōu)點(diǎn),其全靜態(tài)設(shè)計(jì)適合于對(duì)成本和功耗敏感型的應(yīng)用開發(fā)。微處理器的外部存儲(chǔ)單元包括SDRAM、用于固化程序的FLASH和暫存采集數(shù)據(jù)的32 Gbit SD卡。外圍接口電路包括一個(gè)異步串行接口(UART1)、由MAX232擴(kuò)展的2個(gè)RS—232串口、1個(gè)HOST USB1.1接口、1個(gè)40針的LCD液晶屏接口、GPIO擴(kuò)展接口和支持ADS1.2和keil等軟件單步調(diào)試用的JTAG接口。系統(tǒng)核心電路如圖3。
圖3 系統(tǒng)核心電路框圖Fig 3 Core circuit block diagram of system
數(shù)據(jù)匯聚模塊用于接收并匯聚Zig Bee節(jié)點(diǎn)采集的數(shù)據(jù)[9],射頻芯片采用CC2420。該芯片是一個(gè)基于無(wú)線傳感器網(wǎng)絡(luò)Zig Bee/802.15.4標(biāo)準(zhǔn)的片上系統(tǒng),工作在2.4 GHz頻段,接收靈敏度-98 dBm,抗鄰道干擾能力為39 dB,數(shù)據(jù)傳輸速率250為kbps。它有多種工作模式,適合于能耗極低的系統(tǒng),通過(guò)SPI接口與數(shù)據(jù)差轉(zhuǎn)單元的ARM微處理器連接實(shí)現(xiàn)與Zig Bee節(jié)點(diǎn)的數(shù)據(jù)收發(fā)。以CC2420為核心的數(shù)據(jù)匯聚模塊電路原理圖如圖4所示。
圖4 CC2420數(shù)據(jù)匯聚模塊電路原理圖Fig 4 Principle diagram of data aggregation module circuit of chip CC2420
UHF/VHF頻段無(wú)線數(shù)傳模塊由ISM頻段無(wú)線芯片Si4432和外圍電路組成,該芯片是一種高集成度、低功耗、多頻段的EZRadioPRO系列無(wú)線收發(fā)芯片,可工作在UHF/VHF頻段。芯片內(nèi)部集成分集式天線、喚醒定時(shí)器、數(shù)字調(diào)制解調(diào)器、可配置的GPIO等,天線接收靈敏度-124 dBm。通過(guò)SPI接口、GPIO接口與ARM微處理器連接,實(shí)現(xiàn)數(shù)據(jù)差轉(zhuǎn)單元與轉(zhuǎn)接單元之間的遠(yuǎn)距離傳輸。以Si4432為核心的UHF/VHF頻段無(wú)線數(shù)傳模塊電路原理圖如圖5所示。
圖5 UHF/VHF頻段無(wú)線數(shù)傳模塊電路原理圖Fig 5 Principle diagram of UHF/VHF band wireless data transmission module circuit
系統(tǒng)軟件設(shè)計(jì)為多線程任務(wù)方式,采用同一進(jìn)程多個(gè)線程的方式來(lái)實(shí)現(xiàn)多任務(wù)并發(fā)執(zhí)行,以提高用戶界面的響應(yīng)能力和數(shù)據(jù)交換的效率。軟件包括用戶控制命令接收線程、無(wú)線傳感網(wǎng)接收線程和休眠調(diào)度線程。用戶控制命令接收線程負(fù)責(zé)與用戶交互操作,接收處理用戶的控制命令;休眠調(diào)度線程用于控制系統(tǒng)自身的休眠喚醒;無(wú)線傳感網(wǎng)接收線程用于控制數(shù)據(jù)匯聚模塊實(shí)時(shí)監(jiān)聽采集數(shù)據(jù)。主程序流程如圖6所示。
圖6 主程序流程圖Fig 6 Flow chart of main program
針對(duì)野外環(huán)境下系統(tǒng)電源供給不足的問(wèn)題,設(shè)計(jì)中采用太陽(yáng)能與風(fēng)能互補(bǔ)作為其主要能源,該方法在一定程度上解決了能源補(bǔ)給的問(wèn)題,為進(jìn)一步提高其野外生存周期,設(shè)計(jì)中引入節(jié)點(diǎn)的休眠調(diào)度思想,從根本上降低系統(tǒng)的平均功耗。為減小傳輸延遲,系統(tǒng)采用的休眠調(diào)度算法與無(wú)線Zig Bee節(jié)點(diǎn)算法必須保持一致,設(shè)計(jì)中把整個(gè)系統(tǒng)看作一個(gè)Sink節(jié)點(diǎn),和無(wú)線Zig Bee節(jié)點(diǎn)一起采用相同的休眠調(diào)度算法。由于UHF/VHF頻段無(wú)線數(shù)傳模塊靜態(tài)功耗和發(fā)射功率較大,對(duì)該部分的休眠調(diào)度管理是本設(shè)計(jì)的重點(diǎn),UHF/VHF頻段無(wú)線數(shù)傳模塊具有3種節(jié)電模式:硬件喚醒模式、串口喚醒模式和空中喚醒模式。硬件喚醒模式是其中最省電的一種,休眠電流小于10μA,設(shè)計(jì)中將UHF/VHF頻段無(wú)線數(shù)傳模塊的硬件喚醒控制引腳SLE與ARM微處理的GPIO接口相連,使GPIO接口輸出高低電平來(lái)控制其休眠喚醒。ARM微處理器也具有睡眠喚醒功能,在SLEEP模式下,給CUP和內(nèi)部邏輯單元供電的電源被關(guān)閉,只有喚醒模塊與相應(yīng)GPIO接口是工作的。這種狀態(tài)下,可以通過(guò)外部中斷或RTC(real-time clock)中斷將系統(tǒng)從睡眠狀態(tài)中喚醒。由于ARM微處理器具有實(shí)時(shí)時(shí)鐘芯片RTC,數(shù)據(jù)差轉(zhuǎn)單元與轉(zhuǎn)接單元之間可通過(guò)時(shí)鐘芯片RTC實(shí)現(xiàn)精確的時(shí)間同步,因此,該系統(tǒng)的休眠調(diào)度策略具有較好的簡(jiǎn)易性、穩(wěn)定性及精確性。圖7是系統(tǒng)的休眠調(diào)度時(shí)序圖。
圖7 休眠調(diào)度時(shí)序圖Fig 7 Timing diagram of sleep scheduling
將傳感網(wǎng)數(shù)據(jù)差轉(zhuǎn)裝置布置在西北大學(xué)信息科學(xué)與技術(shù)學(xué)院大樓前的空地里,在其周圍的樹上隨機(jī)部署了30個(gè)傳感器節(jié)點(diǎn)Micaz motes,用于采集溫濕度、光照等環(huán)境數(shù)據(jù),采集周期為10 s,無(wú)線數(shù)傳—公網(wǎng)轉(zhuǎn)接裝置布置在大樓的樓頂,它們和監(jiān)測(cè)中心的服務(wù)器一起組成一套完整的傳感網(wǎng)監(jiān)測(cè)系統(tǒng)。
中轉(zhuǎn)傳輸系統(tǒng)丟包的主要原因有以下幾種可能:
1)從無(wú)線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)匯聚數(shù)據(jù)時(shí)丟包;
2)UHF/VHF頻段遠(yuǎn)距離傳輸時(shí)丟包;
3)將數(shù)據(jù)發(fā)送到遠(yuǎn)程監(jiān)測(cè)中心時(shí)丟包。
對(duì)于第1種可能性,同時(shí)部署了一個(gè)Sink節(jié)點(diǎn),使用其匯聚的數(shù)據(jù)包作為參考,即可以測(cè)試出系統(tǒng)從無(wú)線傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)匯聚數(shù)據(jù)時(shí)丟包情況;對(duì)于第2種可能性,由于傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包中有節(jié)點(diǎn)ID和數(shù)據(jù)包的序列號(hào)字段,因此,可以通過(guò)ARM微處理器單元統(tǒng)計(jì)接收到的數(shù)據(jù)包的序列號(hào)來(lái)查看是否有丟包情況;對(duì)于第3種可能性,可以直接通過(guò)遠(yuǎn)程監(jiān)測(cè)中心的數(shù)據(jù)庫(kù)統(tǒng)計(jì)接收到的數(shù)據(jù)包的序列號(hào)來(lái)查看是否有丟包情況。每隔5 min進(jìn)行一次丟包統(tǒng)計(jì),總丟包率的實(shí)驗(yàn)結(jié)果如圖8所示。
圖8 數(shù)據(jù)丟包率Fig 8 Packet loss of data
系統(tǒng)的平均丟包率為0.17%,且隨著時(shí)間的增加,丟包率無(wú)較大的起伏變化,說(shuō)明該系統(tǒng)具有足夠的穩(wěn)定性。
中轉(zhuǎn)傳輸系統(tǒng)的時(shí)延是指從數(shù)據(jù)匯聚單元接收到數(shù)據(jù)包開始到將數(shù)據(jù)發(fā)送給遠(yuǎn)程監(jiān)測(cè)中心之間的時(shí)間間隔。在此項(xiàng)測(cè)試中,當(dāng)數(shù)據(jù)匯聚單元接收到數(shù)據(jù)包時(shí),將數(shù)據(jù)包的接收時(shí)間記錄在傳感網(wǎng)差轉(zhuǎn)模塊的ARM微處理器單元文件中,當(dāng)無(wú)線數(shù)傳—公網(wǎng)轉(zhuǎn)接模塊將數(shù)據(jù)包發(fā)送給遠(yuǎn)程監(jiān)測(cè)中心時(shí),再把數(shù)據(jù)包的發(fā)送時(shí)間記錄在無(wú)線數(shù)傳—公網(wǎng)轉(zhuǎn)接模塊的ARM微處理器單元的文件中,即可計(jì)算出每個(gè)數(shù)據(jù)包的中轉(zhuǎn)傳輸時(shí)延。系統(tǒng)每接收并發(fā)送500個(gè)數(shù)據(jù)包計(jì)算一次數(shù)據(jù)包平均轉(zhuǎn)發(fā)時(shí)延。最終統(tǒng)計(jì)結(jié)果如圖9所示。
圖9 數(shù)據(jù)延遲統(tǒng)計(jì)圖Fig 9 Statistics charts of data of delay
計(jì)算求平均后得到系統(tǒng)的平均時(shí)延為81 ms,且隨著傳輸數(shù)據(jù)包個(gè)數(shù)的增加,時(shí)延無(wú)較大的起伏變化,說(shuō)明該系統(tǒng)具有足夠的穩(wěn)定性與魯棒性。
本文提出了適用于無(wú)網(wǎng)絡(luò)覆蓋地區(qū)的無(wú)線傳感器網(wǎng)絡(luò)遠(yuǎn)程數(shù)據(jù)中轉(zhuǎn)傳輸系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方案,該系統(tǒng)集成了UHF/VHF頻段無(wú)線遠(yuǎn)程傳輸功能,能在環(huán)境較為惡劣、偏遠(yuǎn)、基礎(chǔ)通信設(shè)備不完善、無(wú)公共通信網(wǎng)絡(luò)覆蓋的野外環(huán)境下,對(duì)無(wú)線傳感器網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)采集、顯示、存儲(chǔ)以及控制等,實(shí)現(xiàn)傳感網(wǎng)的遠(yuǎn)程監(jiān)測(cè)功能,且該系統(tǒng)不僅利用太陽(yáng)能及風(fēng)能為系統(tǒng)補(bǔ)給能源,還運(yùn)用休眠調(diào)度策略,降低系統(tǒng)的功耗,提高了系統(tǒng)的野外生存周期,滿足無(wú)線傳感器網(wǎng)絡(luò)在野外長(zhǎng)期監(jiān)測(cè)的應(yīng)用需求。實(shí)驗(yàn)表明:該系統(tǒng)可靠性高、抗干擾能力強(qiáng),同時(shí)具有很好的通用性。
[1]崔光照,陳富強(qiáng),張海霞,等.基于ARM9的無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)節(jié)點(diǎn)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2008(11):115-118.
[2]張希偉,陳貴海.基于SDMA應(yīng)用的移動(dòng)Sink節(jié)點(diǎn)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)研究與發(fā)展,2012,49(3):541-549.
[3]Mainwaring Alan,Polastre Joseph,Szewczyk Robert,et al.Wireless sensor networks for habitat monitoring[C]//Int'l Conf on Wireless Sensor Networks and Applications,New York:ACM,2002:88-97.
[4]朱 瑩,林基明.基于Zig Bee無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].傳感器與微系統(tǒng),2009,28(7):80-85.
[5]Li Chih Ching,Hou An Sang,Wu Chih Chen,et al.A real time remote control architecture using mobile communication[C]//Instrumentation and Measurement Technology Conference,Anchorage,AK:IEEE,2002:901-906.
[6]Kalden R,Meirick I,Meyer M,et al.Wireless Internet access based on GPRS[J].Personal Communications,2000,7(2):8-18.
[7]西安大唐電信有限公司.一種無(wú)線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)設(shè)備及其信道算法:中國(guó) ,CN102523633A[P].2012-06-27.
[8]東南大學(xué).具有終端功能的無(wú)線傳感器網(wǎng)絡(luò)多接口網(wǎng)關(guān)設(shè)備及其應(yīng)用:中國(guó) ,CN101252553B[P].2011-04-20.
[9]桑 濤,黃廷輝,吳勇華.多無(wú)線傳感器網(wǎng)絡(luò)互聯(lián)技術(shù)研究[J].傳感器與微系統(tǒng),2011,30(7):10-12.