陳侃松等
摘 要:以低功耗、低成本、微型化、遠距離的無線傳感網(wǎng)絡(luò)作為主要依托,設(shè)計一種基于ARM處理器和Linux操作系統(tǒng)的網(wǎng)關(guān)。將多種短距離無線通信技術(shù)與遠距離無線通信技術(shù)相結(jié)合集成于網(wǎng)關(guān)節(jié)點,構(gòu)建多模態(tài)網(wǎng)關(guān)。通過分析實驗數(shù)據(jù),與傳統(tǒng)網(wǎng)關(guān)相比具有低成本、易移植、兼容性的優(yōu)勢。
關(guān)鍵詞:無線傳感網(wǎng);網(wǎng)關(guān);ARM;Linux
中圖分類號:TP391.4 文獻標識碼:A 文章編號:2095-1302(2015)04-00-02
0 引 言
無線傳感網(wǎng)絡(luò)可對網(wǎng)絡(luò)分布區(qū)域內(nèi)監(jiān)測對象進行感知、采集、處理和監(jiān)控,并通過無線通信方式傳送給網(wǎng)絡(luò)終端用戶,將信息世界與物理世界融為一體。但無線傳感網(wǎng)絡(luò)要真正發(fā)揮其在物聯(lián)網(wǎng)領(lǐng)域中的作用還要借助于網(wǎng)關(guān)設(shè)備接入外部網(wǎng)絡(luò)。本文設(shè)計了針對多種應(yīng)用場合的一種多模態(tài)網(wǎng)關(guān)。
1 硬件部分設(shè)計
嵌入式網(wǎng)關(guān)向上連接遠程監(jiān)控系統(tǒng),由上位機程序?qū)崿F(xiàn)遠程的數(shù)據(jù)獲取、設(shè)備監(jiān)控。向下連接到無線傳感器網(wǎng)絡(luò)的協(xié)調(diào)器??欤瑢崿F(xiàn)無線網(wǎng)絡(luò)終端節(jié)點的數(shù)據(jù)采集和相關(guān)節(jié)點的功能控制。根據(jù)系統(tǒng)功能需求,總體分為三個部分,如圖1所示。
1.1 無線傳感網(wǎng)接入模塊
無線接入模塊根據(jù)數(shù)據(jù)傳輸速率選擇基于ZigBee通信協(xié)議的核心芯片CC2531和前端芯片CC2591,如圖2所示,進一步改善其接收靈敏度,從而延長通信距離。無線接入模塊均采用USB接口方式連接網(wǎng)關(guān)設(shè)備。
1.2 網(wǎng)關(guān)數(shù)據(jù)處理模塊
采用基于ARM9的S3C2440平臺構(gòu)建網(wǎng)關(guān)的硬件平臺。主控制器分別接收各個采集模塊的數(shù)據(jù)進行統(tǒng)一分析,然后通過總線下達控制命令,把處理好的數(shù)據(jù)送回工業(yè)現(xiàn)場,進行實時控制。
1.3 遠程數(shù)據(jù)輸出模塊
遠程數(shù)據(jù)輸出模塊主要是將處理好的數(shù)據(jù)以特定的形式輸出。用戶可以根據(jù)具體的應(yīng)用場景選擇GSM/GPRS、Ethernet以及UART中的一種,即可實現(xiàn)上位機的實時顯示和監(jiān)控。
2 軟件部分設(shè)計
在Linux操作系統(tǒng)下的程序開發(fā)過程中,每個程序模塊是以任務(wù)的形式開始運行,在創(chuàng)建任務(wù)時,可以對每個任務(wù)提前設(shè)定一個獨有的優(yōu)先級,系統(tǒng)會查詢就緒列表中的優(yōu)先級順序作為執(zhí)行任務(wù)的依據(jù)。軟件部分的組成根據(jù)硬件系統(tǒng)的組成分為三個部分:數(shù)據(jù)無線采集、無線接入模塊的USB驅(qū)動、數(shù)據(jù)的處理和輸出。系統(tǒng)的軟件框圖如圖3所示。
2.1 數(shù)據(jù)無線采集
(1)數(shù)據(jù)采集
根據(jù)網(wǎng)關(guān)節(jié)點發(fā)送的信標信號選擇傳感器節(jié)點,通過對CC2530初始化后,開中斷進行數(shù)據(jù)采集,判斷存儲容量是否飽和,將數(shù)據(jù)發(fā)送至射頻前端CC2591準備進行無線傳輸。
(2)采集節(jié)點低功耗設(shè)計
通過中斷信號的引入與中斷服務(wù)程序的設(shè)計,以及對射頻前端CC2591工作模式的控制,實現(xiàn)傳感器節(jié)點的休眠/喚醒調(diào)度,優(yōu)化節(jié)點休眠機制;減少節(jié)點功耗,保證網(wǎng)絡(luò)通信質(zhì)量。
2.2 無線接入模塊的USB驅(qū)動
在Linux驅(qū)動中,USB驅(qū)動處于最底層的是USB主機控制器硬件,在其之上運行的是USB主機控制器驅(qū)動,主機控制器之上為USB核心層,再上層為USB設(shè)備驅(qū)動層。因此要實現(xiàn)的USB驅(qū)動包括兩類:USB主機控制器驅(qū)動和USB設(shè)備驅(qū)動,前者控制插入其中的USB設(shè)備,后者控制USB設(shè)備如何與主機通信。在編寫特定設(shè)備的USB設(shè)備驅(qū)動時,主要應(yīng)該完成的工作是probe()和disconnect()函數(shù),即探測和斷開函數(shù),它們分別在設(shè)備被插入和撥出的時候被調(diào)用,用于初始化和釋放軟硬件資源。
2.3 數(shù)據(jù)的處理和輸出
數(shù)據(jù)管理單元是本設(shè)計軟件實現(xiàn)的關(guān)鍵部分。負責(zé)數(shù)據(jù)的轉(zhuǎn)發(fā)、存儲以及相關(guān)處理操作。這一部分所要處理的數(shù)據(jù)包括實時的數(shù)據(jù)和以往數(shù)據(jù)兩部分。在系統(tǒng)完成了初始化后,數(shù)據(jù)的管理單元即可通過平臺總線的方式來傳輸數(shù)據(jù),對于數(shù)據(jù)的存儲主要基于兩種方式:一是存儲于本地,二是存儲于外部。此外,存儲于本地的數(shù)據(jù)有兩種形式,分為數(shù)據(jù)庫系統(tǒng)存儲和文件系統(tǒng)存儲。根據(jù)嵌入式網(wǎng)關(guān)的應(yīng)用需求和性能要求,這里網(wǎng)關(guān)采用以本地文件的方式存儲。
3 測試結(jié)果
采用多個ZigBee模塊節(jié)點和S3C2440組成測試網(wǎng)絡(luò)。網(wǎng)絡(luò)采用星型拓撲結(jié)構(gòu),各終端節(jié)點以協(xié)調(diào)節(jié)點為中心相互通信。節(jié)點可設(shè)置為每隔一段時間采集一次數(shù)據(jù),組成數(shù)據(jù)幀發(fā)送給網(wǎng)關(guān)部分。網(wǎng)關(guān)分別設(shè)置成通過USB接口接收ZigBee采集數(shù)據(jù)和利用以太網(wǎng)傳輸數(shù)據(jù),服務(wù)器IP地址為192.168.1.17,網(wǎng)關(guān)上無線接入模塊為CC2531。相關(guān)結(jié)果如圖4所示。
將嵌入式網(wǎng)關(guān)平臺、無線傳感網(wǎng)各節(jié)點上電,在網(wǎng)關(guān)系統(tǒng)完成初始化和 ZigBee 無線傳感網(wǎng)絡(luò)成功建立后,網(wǎng)關(guān)平臺接收匯聚節(jié)點的數(shù)據(jù)并進行相關(guān)數(shù)據(jù)處理,最后通過以太網(wǎng)的方式傳輸?shù)缴衔粰C監(jiān)控系統(tǒng)。監(jiān)控系統(tǒng)通過socket客戶端連接到網(wǎng)關(guān)的socket服務(wù)器。監(jiān)控系統(tǒng)通過對傳輸來的數(shù)據(jù)進行數(shù)據(jù)包解析,并將無線傳感器網(wǎng)絡(luò)節(jié)點信息顯示在上位機界面。
本地存儲通過搭建文件系統(tǒng)以及自制GUI程序來實現(xiàn),如圖5所示。
結(jié) 語
無線傳感器網(wǎng)絡(luò)逐步應(yīng)用到了越來越多的領(lǐng)域,嵌入式網(wǎng)關(guān)作為無線傳感器網(wǎng)絡(luò)與外部網(wǎng)絡(luò)通信的橋梁,在 WSN 網(wǎng)絡(luò)系統(tǒng)整體結(jié)構(gòu)中起著顯著的關(guān)鍵作用。本設(shè)計針對目前無線傳感網(wǎng)的應(yīng)用趨勢,采用模塊化設(shè)計的思想,提出了一種基于ARM的嵌入式網(wǎng)關(guān)系統(tǒng)平臺的實現(xiàn)方案,實現(xiàn)了無線傳感器網(wǎng)絡(luò)和外部網(wǎng)絡(luò)的數(shù)據(jù)傳輸,提高了網(wǎng)關(guān)的通用性。嵌入式Linux系統(tǒng)的應(yīng)用也大大改善了網(wǎng)關(guān)實時性能。未來嵌入式網(wǎng)關(guān)可用于區(qū)域環(huán)境的信息監(jiān)測,如智能樓宇、智能交通、工業(yè)監(jiān)測等應(yīng)用,利用近、遠距離通信方式的結(jié)合延伸了數(shù)據(jù)監(jiān)測范圍,在實際測試當中取得了良好的效果。
參考文獻
[1]張水平,李曉波,張鳳琴等.ZigBee在多傳感器信息集成中的應(yīng)用[J].計算機工程與設(shè)計. 2012(1):41-46.
[2]周澤強,王衛(wèi)星,翁偉明.無線傳感器網(wǎng)絡(luò)3G網(wǎng)關(guān)的設(shè)計與研制[J].現(xiàn)代電子技術(shù),2011(13):27-29.
[3]蔡皓,馮仁劍,萬江文.具有多種通信方式的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)[J].傳感技術(shù)學(xué)報,2008(1):169-173.
[4] 呂西午,劉開華,趙巖.基于ZigBee的無線監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[J].計算機工程.2010(5):243-247.
[5]郭秋平.基于ARM系統(tǒng)的Linux平臺移植研究[D].杭州:浙江大學(xué),2006.
[6]韋東山.嵌入式Linux開發(fā)完全手冊[M].北京:人民郵電出版社,2008.
[7]張國琛.基于Linux的低功耗手持設(shè)備系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:武漢理工大學(xué),2011.
[8] Behrouz A. Forouzan. TCP/IP 協(xié)議族[M],王海譯.北京:清華大學(xué)出版社,2011.
[9] W. Richard Stevens,Bill Fenner,Andrew M. Rudoff.UNIX 網(wǎng)絡(luò)編程(卷 1):套接字聯(lián)網(wǎng)API[M].北京:人民郵電出版社,2010:159-201
[10]刑向磊,周余,都思丹.基于嵌入式Linux系統(tǒng)的電源管理軟件[J].計算機工程.2010(1):253-255.
[11] TAO Shu Marwan Krunz.Energy-efficient power rate control and scheduling in Hybrid TDMA/CDMA networks[J].Computer Networks,2009,53(8):136-140.
[12] Suzuki Nozomu, Mitani Tomohiko, Shinahara. Study and development of a microwave power receiving system for ZigBee device[C]. Microwave Conference Proceedings,Yokohama,2010:45-48