陳侃松等



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