摘 要: 實(shí)現(xiàn)了一種多功能的網(wǎng)關(guān)系統(tǒng),可完成無線傳感器網(wǎng)絡(luò)WSN與Internet網(wǎng)絡(luò)的互聯(lián),,同時(shí)具有模糊定位,、IP語音通信以及智能人機(jī)接口等功能,并對其硬件組成,、軟件設(shè)計(jì)和對外接口等方面進(jìn)行了深入闡述,。
關(guān)鍵詞: 無線傳感器網(wǎng)絡(luò);網(wǎng)關(guān)
近年來,,無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)被廣泛應(yīng)用于井下監(jiān)測系統(tǒng)[1-2],。本文對無線傳感器網(wǎng)絡(luò)中的關(guān)鍵技術(shù)部分——網(wǎng)關(guān)進(jìn)行了深入分析與研究。該網(wǎng)關(guān)不但具有傳統(tǒng)網(wǎng)關(guān)所具有的異構(gòu)網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換功能[3],,而且可以實(shí)現(xiàn)井下人員的模糊定位,,與礦上管理人員進(jìn)行IP語音通信等功能,同時(shí)提供了智能的人機(jī)接口,。
1 基于WSN的礦井安全監(jiān)控系統(tǒng)組成及工作原理
基于WSN的礦井安全監(jiān)控系統(tǒng)是利用無線傳感器網(wǎng)絡(luò)實(shí)時(shí)監(jiān)測,,采集礦井下溫度、濕度,、氣壓,、瓦斯?jié)舛鹊拳h(huán)境參數(shù),并將數(shù)據(jù)周期性上傳至Internet遠(yuǎn)程服務(wù)器,,服務(wù)器對底層數(shù)據(jù)進(jìn)行處理,、分類并保存到本地?cái)?shù)據(jù)庫,,井上管理人員通過訪問服務(wù)器能夠隨時(shí)查閱歷史記錄,實(shí)時(shí)了解井下情況,,并能夠針對緊急事件做出快速有效的調(diào)整,。基于WSN的礦井安全監(jiān)控系統(tǒng)的設(shè)計(jì)框架分為三個(gè)部分:傳感器網(wǎng)絡(luò)數(shù)據(jù)采集部分,、網(wǎng)關(guān)協(xié)議轉(zhuǎn)換部分以及遠(yuǎn)程監(jiān)控服務(wù)器部分,。系統(tǒng)框架如圖1所示。
無線傳感器網(wǎng)絡(luò)位于整個(gè)系統(tǒng)的最底層,,由一組傳感器終端節(jié)點(diǎn)以自組織方式構(gòu)成,,分布于井下巷道的感知區(qū)域,能夠協(xié)作地感知,、采集和處理網(wǎng)絡(luò)覆蓋的地理區(qū)域中感知對象的信息,。
網(wǎng)關(guān)是監(jiān)控系統(tǒng)正常運(yùn)行的核心環(huán)節(jié),是實(shí)現(xiàn)異構(gòu)網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換的關(guān)鍵部分,,主要實(shí)現(xiàn)兩個(gè)功能:(1)對無線傳感器網(wǎng)絡(luò)數(shù)據(jù)的匯聚,、處理和存儲;(2)與Internet遠(yuǎn)程服務(wù)器的數(shù)據(jù)交互,。此外,,網(wǎng)關(guān)還引入了一些附加功能,增強(qiáng)了網(wǎng)關(guān)的人性化與實(shí)用性,,比如采用RFID射頻模塊實(shí)現(xiàn)井下人員的模糊定位,、網(wǎng)關(guān)與監(jiān)控中心的實(shí)時(shí)語音通信、本地人機(jī)交互等等,。網(wǎng)關(guān)在整個(gè)系統(tǒng)中具有承上啟下的作用,,設(shè)計(jì)出高效、穩(wěn)定的網(wǎng)關(guān)對整個(gè)系統(tǒng)的服務(wù)質(zhì)量至關(guān)重要,。
遠(yuǎn)程監(jiān)控服務(wù)器位于整個(gè)系統(tǒng)的最上層,,提供了強(qiáng)大的數(shù)據(jù)處理能力和存儲能力。通過該系統(tǒng)可以實(shí)時(shí)查詢礦井下的環(huán)境參數(shù),、人員信息,,調(diào)取系統(tǒng)存儲的歷史記錄,發(fā)送指令信息,,控制WSN網(wǎng)絡(luò)節(jié)點(diǎn)行為,,進(jìn)行網(wǎng)絡(luò)管理?;赪SN的礦井安全監(jiān)控系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,。
2 網(wǎng)關(guān)設(shè)計(jì)
網(wǎng)關(guān)作為系統(tǒng)中連接WSN與Internet的核心部分,要求穩(wěn)定,、可靠,、功能強(qiáng)大而結(jié)構(gòu)精簡,,其整體框架如圖3所示。其中包括中央處理單元,、WSN射頻收發(fā)單元,、以太網(wǎng)接口單元、RFID射頻識別單元,、語音通信單元以及人機(jī)接口單元等,。
網(wǎng)關(guān)的中央處理單元采用Samsung公司處理器S3C2440,主頻達(dá)400 MHz,,運(yùn)算能力強(qiáng)大,,通過移植嵌入式Linux操作系統(tǒng)可以可靠地完成傳感數(shù)據(jù)接收處理、實(shí)時(shí)語音通信,、智能人機(jī)交互等多任務(wù)并行操作,。WSN射頻收發(fā)單元是網(wǎng)關(guān)與WSN的接口單元,采用與無線傳感器網(wǎng)絡(luò)相同的CC1110射頻芯片,,用于提供網(wǎng)關(guān)與無線傳感器網(wǎng)絡(luò)的空中接口,。以太網(wǎng)接口單元是網(wǎng)關(guān)與Internet的接口單元,采用以太網(wǎng)控制器CS8900A,,用于提供網(wǎng)關(guān)與Internet的PHY層與MAC層接口,。RFID射頻識別單元采用基于NRF2401的工業(yè)級模塊,可以在網(wǎng)關(guān)周圍0~30 m范圍內(nèi)實(shí)現(xiàn)人員的模糊定位,。人機(jī)接口單元采用4線電阻式觸摸屏,,通過人機(jī)交互操作可方便地完成網(wǎng)關(guān)的本地屬性配置以及應(yīng)用程序的啟動(dòng),避免了PC機(jī)等大型設(shè)備配置網(wǎng)關(guān)所帶來的不便,。語音通信單元?jiǎng)t采用UDA1341芯片構(gòu)建嵌入式音頻系統(tǒng),實(shí)現(xiàn)網(wǎng)關(guān)與遠(yuǎn)程服務(wù)器之間的高質(zhì)量IP語音通信,。
2.1 與WSN接口設(shè)計(jì)
無線傳感器網(wǎng)絡(luò)常用的2.4 GHz頻段數(shù)據(jù)傳輸速率大,,但由于信號衰減嚴(yán)重,無法適應(yīng)礦井下的惡劣環(huán)境,。CC1110是TI公司的一種系統(tǒng)芯片CMOS解決方案,,沿用了以往TI公司ZigBee無線(定位)芯片CC2430/CC2431架構(gòu),可工作于915 MHz,,滿足無線傳感器網(wǎng)絡(luò)低功耗,、低速率、短距離的要求,,很好地解決了礦井下射頻信號的衰減問題,。
WSN接口以CC1110為核心,提供了網(wǎng)關(guān)與WSN通信的空中接口,,直接與WSN的傳輸匯聚節(jié)點(diǎn)進(jìn)行通信,。傳輸匯聚節(jié)點(diǎn)作為連接無線傳感器網(wǎng)絡(luò)與網(wǎng)關(guān)的橋梁,,負(fù)責(zé)對各個(gè)終端節(jié)點(diǎn)采集數(shù)據(jù)的接收、整理,,并按照協(xié)議所規(guī)定的格式打包數(shù)據(jù),,最后通過無線方式向網(wǎng)關(guān)的WSN射頻收發(fā)單元轉(zhuǎn)發(fā)數(shù)據(jù)。
中央處理單元與WSN射頻收發(fā)單元之間采用串行接口方式連接,,實(shí)時(shí)讀取傳感數(shù)據(jù)并按照約定協(xié)議對數(shù)據(jù)進(jìn)行解析,,轉(zhuǎn)換成用戶可知的信息,如傳感器節(jié)點(diǎn)部署區(qū)域內(nèi)的溫度,、濕度,、氣壓、瓦斯?jié)舛鹊?。其中,,在設(shè)計(jì)串行通信接口電路時(shí),中央處理器UART0通道通過MAX2332芯片轉(zhuǎn)換為RS232接口,,為網(wǎng)關(guān)設(shè)備開發(fā)調(diào)試提供PC機(jī)控制臺接口,;UART1通道則與CC1110全雙工通信,完成數(shù)據(jù)的串并轉(zhuǎn)換,,由于S3C2440和CC1110電平均為3.3 V,,兩者之間無需進(jìn)行電平轉(zhuǎn)換,可直接采用3線式連接方式,,即數(shù)據(jù)接收引腳RX與數(shù)據(jù)發(fā)送引腳TX交叉連接,,地線直接相連。
2.2 與Internet網(wǎng)絡(luò)接口設(shè)計(jì)
Internet網(wǎng)絡(luò)接口物理層芯片采用以太網(wǎng)控制器CS8900A,,其內(nèi)部集成了4 KB的片上存儲器,,10 Base-T的收發(fā)濾波器,并且提供8位和16位兩種數(shù)據(jù)接口,。本系統(tǒng)網(wǎng)關(guān)設(shè)計(jì),,以太網(wǎng)控制器與中央處理器通過20位的地址總線和16位的數(shù)據(jù)總線相連,與Internet通過一個(gè)集成了RJ45接口的網(wǎng)絡(luò)隔離變壓器HR911103A相連,。
Internet網(wǎng)絡(luò)接口具有檢測網(wǎng)絡(luò)狀況,、接收發(fā)送以太幀、檢測校驗(yàn)等功能,,可以將經(jīng)過中央處理單元融合的底層傳感數(shù)據(jù)以標(biāo)準(zhǔn)IP數(shù)據(jù)包格式直接發(fā)送到Internet遠(yuǎn)程服務(wù)器,,同時(shí)也可以將接收到的Internet服務(wù)器指令經(jīng)過解包后通過數(shù)據(jù)總線送達(dá)中央處理單元執(zhí)行,除此以外,,Internet網(wǎng)絡(luò)接口也給網(wǎng)關(guān)的其他功能如IP語音通信等提供了接口單元,。
綜上所述,網(wǎng)關(guān)與WSN和Internet的接口電路簡圖如圖4所示。
2.3 網(wǎng)關(guān)的軟件系統(tǒng)設(shè)計(jì)
網(wǎng)關(guān)以嵌入式Linux操作系統(tǒng)作為平臺,,可以實(shí)現(xiàn)多任務(wù)的并發(fā)執(zhí)行,。用戶應(yīng)用程序構(gòu)建于操作系統(tǒng)之上,通過系統(tǒng)調(diào)用操作底層硬件,,如串口,、網(wǎng)絡(luò)控制器等設(shè)備。系統(tǒng)調(diào)用接口則由操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序提供,,驅(qū)動(dòng)程序直接操作硬件,,按照硬件設(shè)備的具體工作方式讀寫設(shè)備寄存器,完成對設(shè)備的輪詢,、中斷處理,、DMA通信、物理內(nèi)存向虛擬內(nèi)存的映射等,。網(wǎng)關(guān)設(shè)備軟件架構(gòu)如圖5所示,。
網(wǎng)關(guān)設(shè)備操作系統(tǒng)應(yīng)包含串口驅(qū)動(dòng)程序、網(wǎng)絡(luò)控制器驅(qū)動(dòng)程序以及音頻編解碼器驅(qū)動(dòng)程序等,。其中,,串口以及音頻編解碼器必須以串行數(shù)據(jù)流形式直接訪問,不經(jīng)過系統(tǒng)的快速緩存,,主要提供open(),、close()、read(),、write(),、ioctl()等系統(tǒng)調(diào)用接口,屬于字符設(shè)備驅(qū)動(dòng)程序,。而網(wǎng)絡(luò)控制器是面向數(shù)據(jù)報(bào)的接收和發(fā)送而設(shè)計(jì)的,,并沒有與文件系統(tǒng)的節(jié)點(diǎn),與操作系統(tǒng)通信方式與上述設(shè)備不同,,屬于網(wǎng)絡(luò)的設(shè)備驅(qū)動(dòng)程序,。各設(shè)備驅(qū)動(dòng)以內(nèi)核模塊的形式提供,通過內(nèi)核模塊的加載與卸載,,可以在網(wǎng)關(guān)運(yùn)行過程中動(dòng)態(tài)地添加或刪除相應(yīng)硬件設(shè)備。
網(wǎng)關(guān)設(shè)備的用戶應(yīng)用程序包括主程序,、語音通信程序以及圖形界面程序,。主程序負(fù)責(zé)初始化各硬件模塊并協(xié)調(diào)各個(gè)模塊工作,保證無線傳感器網(wǎng)絡(luò)與Internet服務(wù)器之間正常的信息交互,,同時(shí)即時(shí)響應(yīng)各種軟,、硬件中斷,進(jìn)行相應(yīng)處理,。語音通信程序采用雙線程工作,,調(diào)用read(),、write()等系統(tǒng)接口操作音頻編解碼器,通過高速率A/D采樣以及量化,,錄入音頻數(shù)據(jù)至本地緩存,,并發(fā)送給遠(yuǎn)程服務(wù)器;同時(shí)接收Internet的遠(yuǎn)程音頻數(shù)據(jù)包并進(jìn)行音頻解碼,,恢復(fù)原始音頻信息,,從而實(shí)現(xiàn)本地與遠(yuǎn)程的實(shí)時(shí)語音通信。圖形界面程序采用一種跨平臺的C++圖形用戶界面庫Qt編程,,為主程序,、語音通信程序提供服務(wù)。在觸摸屏上提供智能的人機(jī)接口,,方便主程序?qū)υO(shè)備啟動(dòng),、端口配置、網(wǎng)絡(luò)初始化,、服務(wù)器IP地址設(shè)置的操作,,以及語音通信程序撥號、接聽,、掛斷的處理,。
主程序啟動(dòng)后,將完成設(shè)備的初始化,、加載協(xié)議棧,、配置端口等工作,同時(shí)通過Socket機(jī)制建立起與遠(yuǎn)程服務(wù)器的連接,,接著采用輪詢與中斷處理相結(jié)合的方式對串口和網(wǎng)口數(shù)據(jù)進(jìn)行監(jiān)視,。Internet網(wǎng)絡(luò)接口方面,利用Socket機(jī)制設(shè)計(jì)以太網(wǎng)通信模塊,,考慮到對數(shù)據(jù)傳輸?shù)目煽啃砸筝^高,,采用面向連接的TCP客戶機(jī)-服務(wù)器模型。網(wǎng)關(guān)作為客戶機(jī),,調(diào)用Socket()函數(shù),,建立一個(gè)Socket套接字,指定TCP/IP相關(guān)協(xié)議之后,,調(diào)用connect()函數(shù)將本地端口號和地址信息傳送至遠(yuǎn)程服務(wù)器,,請求建立連接。連接成功后,,通過send()函數(shù)進(jìn)行服務(wù)請求的發(fā)送,,通過receive()函數(shù)進(jìn)行響應(yīng)的接收。WSN接口方面,網(wǎng)關(guān)與匯聚節(jié)點(diǎn)間的通信主要是讀取匯聚節(jié)點(diǎn)數(shù)據(jù)的過程,,對接收到的數(shù)據(jù)采取串行通信方式,,通過打開、讀寫對應(yīng)的設(shè)備文件來完成對串口的操作,。串口0~2在Linux文件系統(tǒng)中對應(yīng)的設(shè)備文件是/dev/tts/0,、/dev/tts/1、/dev/tts/2,,本系統(tǒng)中網(wǎng)關(guān)可以通過open(),、read()、write()等系統(tǒng)調(diào)用操作/dev/tts/1設(shè)備文件,,完成網(wǎng)關(guān)與WSN的數(shù)據(jù)交互,。網(wǎng)關(guān)的主程序軟件流程(不包含附加功能)如圖6所示。
本文針對無線傳感器網(wǎng)絡(luò)的特點(diǎn),,設(shè)計(jì)了一種基于WSN的礦井安全監(jiān)控系統(tǒng)網(wǎng)關(guān),。在實(shí)際工程測試中,成功實(shí)現(xiàn)了無線傳感器網(wǎng)絡(luò)與外部Internet網(wǎng)絡(luò)的互聯(lián),,數(shù)據(jù)傳輸穩(wěn)定可靠,。同時(shí),網(wǎng)關(guān)還增加了一些附加服務(wù),,如RFID模糊定位,、IP語音通信等,體現(xiàn)了網(wǎng)關(guān)功能的多元化發(fā)展方向,。
參考文獻(xiàn)
[1] 崔莉,,鞠海玲.無線傳感器網(wǎng)絡(luò)研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2005,,42(1):163-174.
[2] 谷有臣.傳感器技術(shù)的發(fā)展和趨勢綜述[J].物理實(shí)驗(yàn),,2002,22(12):40-42.
[3] 歐杰峰,,劉興華.基于CDMA模塊的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)的實(shí)現(xiàn)[J].計(jì)算機(jī)工程,,2007,33(1):115-116.