張正華,殷有燁,湯 旭
(揚州大學信息工程學院,江蘇揚州225000)
自然環(huán)境與人類生產(chǎn)生活密切相關,對于環(huán)境中一些重要參數(shù)的及時獲取,可以有效地幫助人們解決實際生產(chǎn)生活中所遇到的問題。近年來物聯(lián)網(wǎng)技術日新月異。人們可以借助于物聯(lián)網(wǎng)的技術及時準確地獲取自己想要的環(huán)境數(shù)據(jù)。以基于ZigBee的無線傳感器網(wǎng)絡技術是目前比較流行的一種近程通信技術手段[1]。在環(huán)境監(jiān)測應用中,通過其自組網(wǎng)和多跳技術的方式[2],能夠滿足普通環(huán)境下終端監(jiān)測節(jié)點傳回數(shù)據(jù)的要求。然而為了使得環(huán)境監(jiān)測系統(tǒng)適用于更為復雜的野外環(huán)境,可以考慮通過多種無線通信的方式(比如GPRS、Wi-Fi以及藍牙等技術)實現(xiàn)數(shù)據(jù)的有效傳輸,從而要求環(huán)境監(jiān)測系統(tǒng)中的網(wǎng)關能夠?qū)Χ喾N傳輸協(xié)議下所傳輸?shù)男畔⑦M行解析,數(shù)據(jù)格式轉換,實現(xiàn)網(wǎng)關能夠廣泛接入多種通信技術。這也是目前物聯(lián)網(wǎng)網(wǎng)關研究熱點之一,其應用前景較為廣闊。
一個完整的物聯(lián)網(wǎng)環(huán)境監(jiān)測系統(tǒng),一般是由3大部分組成:無線傳感器網(wǎng)絡(WSN)、網(wǎng)關和后臺監(jiān)控中心。在文中選取TI公司的片上系統(tǒng)CC2430芯片和SHT11的溫濕度傳感器,通過I2C總線將其構建成環(huán)境監(jiān)測系統(tǒng)中的終端節(jié)點。終端的傳感器節(jié)點分布在所要監(jiān)測的環(huán)境區(qū)域內(nèi),同時能夠正確地采集監(jiān)測范圍內(nèi)的溫度和濕度信息,并且各個節(jié)點能在監(jiān)測范圍內(nèi)以自組網(wǎng)的方式構建網(wǎng)絡,然后以多跳技術方式將數(shù)據(jù)傳輸至網(wǎng)關部分。網(wǎng)關部分對接收到的數(shù)據(jù)進行一系列的重新打包處理,最后選擇通過Wi-Fi的傳輸方式上傳至監(jiān)控中心。對于整體系統(tǒng)只做了個簡要概述,主要針對網(wǎng)關系統(tǒng)進行了研究。
三星公司的基于ARM9架構的S3C2440[3]微處理器是一款高性能、低功耗的16/32位的RISC處理器[4]。這款微處理器主頻高達400MHz,擁有完整的系統(tǒng)外圍設備,省去了系統(tǒng)額外配置器件的需要,降低了成本。此外,這款微處理器可以擴展豐富的外部資源,如外部存儲器、串口和網(wǎng)口等,這就為以后所設計系統(tǒng)的升級開發(fā)打下了基礎。
設計選用的是基于S3C2440的Micro2440一個雙層電路核心板。這款核心板其實是個最小系統(tǒng),包括了最基本的電源電路(5V供電)、復位電路和JTAG口等。核心板板上引出了各種常見接口,多余的I/O口則通過插針引出,方便了網(wǎng)關系統(tǒng)的設計,網(wǎng)關硬件框圖如圖1所示。
圖1 網(wǎng)關硬件框圖
Linux操作系統(tǒng)其源碼公開,內(nèi)核精悍,運行穩(wěn)定,所需資源少,支持硬件數(shù)量龐大。而且各種硬件驅(qū)動程序源代碼都可以得到,為用戶帶來很大方便。選擇移植Linux操作系統(tǒng)也為網(wǎng)關實現(xiàn)廣泛接入帶來很大方便。對于操作系統(tǒng)的移植主要包括了Bootloader移植[5]、Linux系統(tǒng)移植、根文件系統(tǒng)制作和各個模塊驅(qū)動程序?qū)崿F(xiàn)[6]。
網(wǎng)關中的組建網(wǎng)絡及應用程序設計主要有3個步驟:首先是網(wǎng)絡初始化,由網(wǎng)關中的協(xié)調(diào)器節(jié)點建網(wǎng),然后是子節(jié)點加入網(wǎng)絡,最后是讀取子節(jié)點上的數(shù)據(jù),轉換并發(fā)送[7]。圖2和圖3是網(wǎng)關的具體程序設計流程。
圖2 網(wǎng)絡初始化
圖3 網(wǎng)關APP工作流程
在上述中監(jiān)測系統(tǒng)是以ZigBee這一固定設備構建的無線傳感器網(wǎng)絡作為接入對象的,通過測試證明在環(huán)湖景點這樣普通環(huán)境下是可行的。但是在更為復雜環(huán)境下,需要多種通信設備的接入,這就提出了網(wǎng)關廣泛接入的要求。在本文中構建了一種新型的網(wǎng)關功能層次模型。該模型分別由協(xié)議適配層、統(tǒng)一信息格式轉換層和標準信息構成層組成,如圖4所示。
圖4 網(wǎng)關功能層次模型圖
各個層的功能明確,協(xié)議適配層負責解析出數(shù)據(jù),格式轉換和標準信息層主要負責對數(shù)據(jù)重新打包處理。這其中協(xié)議適配層是實現(xiàn)廣泛接入機制的關鍵,在這一層中主要實現(xiàn)的是將各個不同設備構建的異構網(wǎng)絡上傳的信息進行解析,獲得有效數(shù)據(jù),由于不同感知網(wǎng)絡存在著明顯不同,所以要使用同一種模式進行適配是不可行的。本文中提出一種模塊可加載的方法,通過靈活添加不同的硬件設備以及相應的驅(qū)動程序軟件,來實現(xiàn)不同網(wǎng)絡在該適配層進行統(tǒng)一配置[8]。
該模型硬件構成和操作系統(tǒng)都是以文中前面所述框架為基礎的,要實現(xiàn)廣泛接入機制主要是在APP應用程序上結合Linux共享庫文件(.so文件)來實現(xiàn)動態(tài)加載的。首先需要編譯一個共享函數(shù)庫文件(.so文件)。應用程序里只需一個“指向”位置,程序本身不再包含函數(shù)代碼,然后將應用程序編譯成可執(zhí)行文件[9],并裝載到網(wǎng)關系統(tǒng)的內(nèi)存中執(zhí)行,當可執(zhí)行文件需要用到共享函數(shù)庫機制時,函數(shù)引用才會被解析并產(chǎn)生對共享庫的調(diào)用[10],共享庫才會被加載到內(nèi)存中執(zhí)行。APP的可執(zhí)行文件中具有指向共享函數(shù)庫的指針,是擁有指向功能,因此在接入不同的近程通信設備時只需升級共享函數(shù)庫,APP的可執(zhí)行文件無需重新編譯變動,就可以實現(xiàn)對升級后的共享庫文件的調(diào)用,從而實現(xiàn)了網(wǎng)關系統(tǒng)的廣泛接入機制。圖5就是一個動態(tài)鏈接加載實現(xiàn)框圖。
圖5 動態(tài)鏈接加載框圖
網(wǎng)關能夠很好地接收以ZigBee構建的無線傳感器網(wǎng)絡上傳的數(shù)據(jù),并對數(shù)據(jù)進行重新打包處理后上傳至服務器,最后通過設計的數(shù)據(jù)支撐軟件服務界面顯示出來,如圖6所示。
圖6 測試圖
圖7所示的是環(huán)湖景點環(huán)境監(jiān)測系統(tǒng)實驗結果平面圖。
圖7 環(huán)湖景點平面圖
由上述2幅實驗圖可見基于ZigBee構建的環(huán)湖景點的環(huán)境監(jiān)測系統(tǒng)是成功的,所以網(wǎng)關的設計也是合理的,網(wǎng)關能夠很好地接入ZigBee設備,并接受處理ZigBee傳輸?shù)臏貪穸葦?shù)據(jù)。因此在這設計合理的網(wǎng)關系統(tǒng)上進行一次延伸,給出的廣泛接入機制的實現(xiàn)方法是可行的。
在以ZigBee作為無線數(shù)據(jù)傳輸設備接入網(wǎng)關的物聯(lián)網(wǎng)環(huán)境監(jiān)測系統(tǒng)的實驗基礎上,提出一種物聯(lián)網(wǎng)環(huán)境監(jiān)測中的網(wǎng)關廣泛接入機制的研究實現(xiàn)方法。該方法可以靈活方便地使得環(huán)境監(jiān)測中的網(wǎng)關接入不同的通信設備,從而拓展了物聯(lián)網(wǎng)技術在環(huán)境監(jiān)測中的應用,同時也是針對物聯(lián)網(wǎng)網(wǎng)關進行標準化工作以及實現(xiàn)各種通信技術標準的互聯(lián)互通奠定了基礎。
[1]章偉聰,梁越,俞新武.基于CC2430的溫室智能無線傳感器節(jié)點設計[J].農(nóng)機化研究,2011,6(6):159-162.
[2]張演飛.基于CC2430的ZigBee組網(wǎng)技術[J].物聯(lián)網(wǎng)技術,2011,3(6):65-67.
[3]魏亞楠,吳伯農(nóng).基于S3C2440家庭網(wǎng)關設計[J].計算機系統(tǒng)應用,2012,21(6):244-248.
[4]張金金,高軍偉,張明超.基于S3C2440的無線傳感器網(wǎng)絡匯聚節(jié)點設計[J].工業(yè)控制計算機,2012,25(9):1-2.
[5]文全剛.嵌入式Linux操作系統(tǒng)原理與應用[M].北京:北京航空航天大學出版社,2011.
[6]王永鋒,楊育,顧永明.基于S3C2440和Linux的溫濕度測控系統(tǒng)設計[J].現(xiàn)代科學儀器,2011,12(6):37-40.
[7]潘云寬.基于ZigBee的無線傳感網(wǎng)絡環(huán)境監(jiān)測系統(tǒng)研究[D].南京:南京理工大學,2010.
[8]孟勇濤.基于嵌入式系統(tǒng)的物聯(lián)網(wǎng)網(wǎng)關研究與實現(xiàn)[D].北京:北京郵電大學,2012.
[9]Neil Matthew,Richard Stones.Linux程序設計[M].陳健,宋健健 譯.北京:人民郵電出版社,2010.
[10]鳥哥.鳥哥的Linux私房菜[M].北京:人民郵電出版社,2010.