羅立++賀政++趙小龍
摘 要:在研究多種通信模式的網絡設備基礎上,提出一種支持多種接入方式的無線網關的設計方案,實現多種通信模式的異構網絡與無線傳感器網絡的通信,詳細論述了網關的硬件設計與軟件設計,并將其應用于工業無線監控系統中,結果表明,網關能夠在實際網絡中運行。
關鍵詞:無線傳感網;多接入;無線網關;監控系統
中圖分類號:TP274 文獻標識碼:A 文章編號:2095-1302(2015)02-00-03
0 引 言
無線網關能夠對無線傳感網中的現場設備實時監控,設備的運行狀況以及設備對周圍環境采集到的信息能夠匯聚于無線網關,網關能通過多種傳輸方式將無線傳感網里面節點采集到的環境信息上傳至監控室內的上位機,使整個工作環境能得到及時有效的監控。
傳統的無線網關多數只支持單一頻段的無線傳感網,隨著物聯網相關標準的制定和發展,僅支持一種無線頻段的模式已不再能滿足開發和使用需求,因此需要一種支持多種通信模式的網絡設備。本文提出了一種支持多種接入方式的無線網關,它不僅支持符合IEEE 802.15.4標準的433 MHz、470 MHz、780 MHz和2.4 GHz無線傳感網,還支持以太網、WiFi及TD-SCDMA、CDMA2000、WCDMA、LTE制式的3G/4G移動通信網等,同時還基于此網關構建了一個用于工業無線監控的數據采集系統。
1 無線網關總體設計與架構
1.1 無線網關的硬件設計
本文設計的無線網關硬件模型如圖1所示:
無線網關的硬件系統包括:主控制單元,多頻段WSN子網接入單元,外網接入單元,調試和交互接口模塊和電源模塊。
(1)主控制單元:主要負責調度和處理來自四個頻段子網模塊的數據,并對這些數據進行處理,將這些數據包解析、處理成符合標準格式的數據包,通過外網接入模塊傳送給遠程終端。主控制單元必須具有功能強大的數據處理能力以及高速的外設通信資源,才能將數據實時、高速的上傳給3G網絡、WiFi網和以太網,因此這里選用三星公司型號為S3C2440的ARM9芯片作為網關的主控制單元。
(2)多頻段WSN子網接入單元:主要負責采集現場多頻段WSN的組網、對終端采集設備管理和數據交互。設計的多頻段WSN子網模塊主要有四種:2.4 GHz無線子網模塊,780 MHz無線子網模塊,470 MHz無線子網模塊和433 MHz無線子網模塊。其中,2.4 GHz射頻模塊采用臺灣達盛公司生產的US2400單射頻芯片,它由S3C2440控制單元直接對其收發進行控制。其余三個頻段的射頻模塊均采用主控制器直接控制射頻芯片的形式,433 MHz和470 MHz的射頻芯片分別為TI公司CC1101,CC1100E,780 MHz射頻芯片為Atmel公司的AT86RF212,其主控單元均為STM32F103,都以統一的串口形式接入網關。
(3)外網接入單元:包括以太網接入模塊、3G/4G網絡接入模塊和WiFi無線通信模塊。其中以太網接入模塊主要負責數據管理模塊與以太網的信息交互,提供有線接入以太網的方式;3G網絡接入模塊以Mini PCI-E接入網關,支持Linux操作系統,主要負責將數據管理模塊處理后的數據通過3G網絡傳送給遠程,以便對采集到的數據進行更進一步的分析和處理。采用通用接口的網關設備能夠在硬件層面上對三種制式采用相同接口標準的3G模塊和4G模塊在實際開發應用中提供可調換的空間;WiFi無線通信模塊主要負責將數據管理模塊處理后的數據通過基于IEEE 802.11.n的無線局域網實現與上位機的信息交互,以便對采集到的數據進行更進一步的分析和處理,模塊以USB接口接入網關。
(4)交互借口模塊:主要負責將網關的信息上傳至PC機進行調試。本設計將RS 232通用串行接口作為網關調試與交互接口模塊的一部分,用于網關和PC機之間的連接和調試。
(5)電源管理單元:主要負責給網關中的全部功能模塊供電。該部分的設計至關重要,關系到整個系統運行的持續性、穩定性等方面的問題。更加合理的電源管理配置也使得網關對各個通信模塊所接的設備提供了一個更寬廣的用電需求。在具體設計中采用了兩個AS2830電源管理芯片分別將5 V直流源輸入轉成3.3 V直流輸出,并在輸入端和輸出端加上了旁路和去耦電容,以有效抑制輸出電壓的紋波,保證了電源供電的穩定性,以此滿足系統內部各個功能模塊對供電電源的要求。
1.2 無線網關的軟件設計
根據無線網關對各個通信協議的需求,網關需要安裝合適的嵌入式操作系統。本設計通過安裝嵌入式Linux操作系統來管理整個網關的通信資源設備。嵌入式Linux操作系統包括底層硬件驅動程序、各種通信協議棧、內存進程控制管理軟件、應用服務等,其內核提可供硬件驅動,包括串口擴展模塊驅動、3G/4G模塊驅動、以太網接口驅動、WiFi模塊驅動以及內存管理、進程管理、文件系統管理、中斷和中斷處理、系統初始化、網絡協議棧、各種系統調用等。網關的應用服務是通過系統調用實現的,可實現無線接入或有線接入選擇、遠程登錄程序、數據查詢等,網關的軟件結構框圖如圖2所示。
圖2 無線網關軟件結構
網關的協議棧包含了物理層、MAC層、適配層、IP層、傳輸層和應用層;其中物理層和MAC層在433 MHz、470MHz、780 MHz和2.4 GHz無線模塊上實現,適配層、IP層、傳輸層和應用層在ARM平臺上(軟件環境為utuLinux 2.6.24)實現。適配層實現分片重組,包頭壓縮等功能;IP層實現鄰居發現等功能;MAC層實現無線傳感網IEEE 802.15.4與其他異構網絡的協議轉換,mesh路由,串行鏈路的Internet 協議等。這些軟件功能需要在嵌入式Linux操作系統上實現,有關操作系統的移植方法以及3G/4G和WiFi功能在嵌入式Linux下的實現方法在網絡上有很多資料,這里由于篇幅限制不再贅述。
由于本網關是按照4個無線傳感網頻段進行設計,且有3個頻段是以串口形式接入網關,而ARM9本身支持3個串口,除了一個串口需要連接上位機進行調試之外,因此還需外接一個串口擴展芯片來滿足設計要求。本設計采用GM8142串口擴展芯片,這是一款用SPI擴展串口的芯片,需要設計GM8142芯片的在嵌入式Linux下的底層驅動。
GM8142的底層驅動必須遵循嵌入式Linux驅動設計標準,嵌入式Linux驅動分為字符設備驅動、網絡設備驅動和塊備驅動等。設計驅動時,首先需要系統無法根據硬件地址對設備進行管理,必須映射成能夠讓操作系統管理的虛擬地址,接著對SPI寄存器進行設置用來得到串口擴展芯片所需要的工作模式。接下來可以用底層的驅動函數對串口進行參數設置,最后創建驅動的write、read、open和close等操作函數,以此可在用戶程序里面對設備進行讀與寫、打開與關閉等操作。驅動設計流程如圖3所示。
圖3 串口擴展驅動設計流程
2.4 GHz頻段采用US2400射頻芯片,由于該芯片并沒有集成主控制器,需要S3C2440控制單元對其芯片進行初始化和收發控制,也需設計相應的芯片底層驅動,具體驅動的設計流程同上面驅動的設計流程大體上相同,都必須遵循嵌入式Linux下驅動程序的設計標準,這里不再詳細闡述。
軟件模塊功能設計或移植好后,需要完成多接入無線網關主程的序設計。這里需要打開4個驅動設備,其中兩個是433 MHz、470 MHz頻段所對應的標準串口驅動設備,另外兩個是780 MHz頻段對應的擴展串口設備和2.4 GHz頻段對應的射頻驅動設備。為了提高網關的數據的處理能力和網關的響應速度,應用程序采用了多線程技術,即每個線程接收處理相應頻段的數據。在這里需要創建3個子線程,其中433MHz和470 MHz頻段的子線程用來監聽標準串口過來的數據,采用了select監聽機制,用來檢測433 MHz和470MHz對應的驅動文件描述符是否發生了變化,一旦發生變化說明有數據包上來,這時將收到的數據包解析后通過UDP套接字傳遞給3G/4G、WiFi和以太網傳遞給上位機實現遠程監控。780 MHz和2.4 GHz頻段子線程都采用了異步通知的方式來分別接收無線傳感網數據。所謂的異步通知就類似于軟中斷,指的是應用程序無需特定去監聽某個數據通道,當有數據流進時,應用程序里面的信號處理函數會自動從驅動設備讀取數據,在進行解析后傳遞給UDP套接字,這樣使整個程序的執行效率得到有效提高。網關的應用主程序流程圖如圖4所示。
圖4 應用主程序流程圖
2 無線網關在工業監控上的應用
Modbus協議是工業控制中的一種標準、開放的通用語言,使用此協議的用戶無需繳納許可費用,也不會涉及到侵犯知識產權,且幀格式簡單、緊湊,格式規范、通俗易懂,已經廣泛應用于工業現場設備控制中。
本網關上行部分結合6LowPAN協議棧,在協議棧的應用層使用Modbus協議,下行利用Modbus/TCP協議以3G/4G和WiFi傳輸方式將無線傳感網節點設備采集的數據上傳至上位機,同時上位機也能以輪訓方式發指令對節點設備進行周期性控制。在此監控系統中,上位機作為TCP客戶端,網關作為TCP服務器,再加上網關下面的現場節點設備以此構成了整個監控系統。網關的系統服務進程主要由兩個子線程構成,子線程1以3G/4G或WiFi通信方式接收遠端監控上位機發送的Modbus/TCP幀,在解析后封裝成Modbus/RTU幀,通過網關上的協調器發送給下面節點設備;子線程2負責接收下面節點設備采集到的數據,再解析以Modbus/RTU封裝成的數據幀后,又封裝成Modbus/TCP幀后以3G/4G或WiFi通信方式傳送至遠程上位機監控終端。整個監控系統的軟件流程如圖5所示。
3 工業監控結果展示
本文設計的支持多種接入方式的無線網關已經應用于工業無線監控系統中,并取得了良好的實際應用效果,實現了本無線網關的設計目標。圖6展示了工業監控系統中基于組態軟件設計的對于工廠設備實時監控的上位機界面。
圖5 監控系統軟件流程圖
圖6 變速器工廠監控結果展示
4 結 語
隨著無線通信技術逐漸進入工業領域,無線通信系統在工業通信網絡中應用逐漸增加,由3G、4G和WiFi在國內的蓬勃發展所帶來了巨大的機會,尤其是物聯網時代,3G、4G和WiFi技術將促進物聯網有效發揮無縫通信的巨大威力。本文以充分利用互聯網和無線通信公用網絡資源為目的,將無線傳感網技術、嵌入式技術、3G/4G通信及以WiFi通信有機的結合起來,完成了一種支持多種接入方式的無線網關的設計,實現了無線傳感網與互聯網之間的互聯互通。該網關具有數據處理能力強,數據傳輸速率快,實時性好等諸多優點,特別已經在工業監控系統中得到了有效應用,因此在工程技術領域有著良好的應用價值。
參考文獻
[1] 李婷.基于IPv6和PROFIBUS的遠程監測方法研究與實現[D].長春:吉林大學,2013.
[2] 徐聞拯.多模物聯網網關系統設計與實現[D].西安:西安電子科技大學,2014.
[3] 常英亮.基于嵌入式Linux的物聯網網關研究與實現[D].北京:北京郵電大學,2014.
[4] 繆銳.基于物聯網的太陽能LED路燈監控系統設計與研究[D].南京:南京理工大學,2014.
[5] 安麗君.基于嵌入式的物聯網信息采集系統的設計與實現[D].北京:北京郵電大學, 2013.
[6] 馬妮娜.Zigbee/GPRS物聯網網關系統的實現研究[J].計算機光盤軟件與應用,2014(13):63-64.
[7]劉國彥,段益群.基于物聯網的溫室大棚系統設計[J].信息與電腦(理論版),2014(12):35-36.
[8] 孫其博,劉杰,黎羴,等. 物聯網:概念、架構與關鍵技術研究綜述[J]. 北京郵電大學學報. 2010,33(3):1-9.
[9] 宋寶華.Linux設備驅動開發詳解[J].北京:人民郵電出版社,2010.
[10] Xiao Rong Zhou, Meng Tian Song, Gan Wei Cai. The Design of 3G Embedded Smart Home System Based on ARM Cortex MCU[J].Applied Mechanics and Materials,2013(3):73-75.