摘 要:針對煤礦系統的通信現狀,提出利用無線通信Wi-Fi技術構建井下無線網絡的方案,通過對井下無線通信的試驗研究,表明利用Wi-Fi技術的可行性,并在此基礎上設計并實現了基于Wi-Fi技術的嵌入式礦井安全監測終端。該系統工作效率高、實時性強、結構清晰,各組成部分達到了預期的目標,實現對井下視頻數據的傳送和各個站點的參數檢查。試驗證明該方案切實可行并具有良好的市場前景。
關鍵詞:礦井安全監測;無線通信;Wi-Fi;嵌入式
中圖分類號:TN915 文獻標識碼:A
文章編號:1004-373X(2010)03-109-05
Embedded Coal Mine Safety Monitoring Terminal Based on Wi-Fi Technology
DENG Xingsong1,ZHU Changping1,2,HAN Qingbang1,SHAN Minglei1,CAI Zhiwei3,WANG Zhen4,CHEN Jiacai5
(1.College of Computer and Information Engineering,Hohai University,Changzhou,213022,China;
2.College of Information and Electrical Engineering,China University of Mining and Technology,Xuzhou,221008,China;
3.College of Mechanical and Electrical Engineering,Hohai University,Changzhou,213022,China;
4.Changzhou Sanheng Technologies Co.Ltd.,Changzhou,213022,China;5.Changzhou Coal Research Institute,Changzhou,213022,China)
Abstract:According to the status of coal mine underground wireless communication,to set up the scheme of the underground wireless network,the feasibility of using Wi-Fi technology through trial study of the underground wireless communication is demonstrated.On the basis of this,the embedded mine safty monitoring terminal based on Wi-Fi technology is designed and implemented,the system possesses efficiency,strong real-time property and clear structure,all of the components have achieved the expected goals,realizing to transmit the video data and check all the parameters of the underground site.The test proves the scheme is feasible and shows good market prospect.
Keywords:coal mine safety monitoring;wireless communication;Wi-Fi;embedded
近年來,我國煤礦事故時有發生,井下安全生產狀況令人擔憂,特別是瓦斯、水害重特大事故居高不下,普遍存在的問題是煤礦井上管理人員不能及時與井下人員通信以了解井下人員的位置及作業情況。因此如何快速、準確地進行煤礦安全生產監測,實現產業管理的科學化、信息化成為亟待攻克的關鍵問題。隨著通信技術的發展以及無線網絡技術的成熟運用,應對國家對煤炭產業安全化、信息化的要求,無線通信技術開始在礦井中得到運用[1]。
1 井下無線通信技術
將Wi-Fi技術運用在礦井視為無線通信技術的重大突破,Wi-Fi能夠滿足構建井下網絡的帶寬需要。Wi-Fi技術在地面的短距離無線通信中已有多年的應用,相對其他無線寬帶技術來說比較成熟可靠。目前Wi-Fi主要采用成熟的IEEE 802.11b標準,使用24 GHz直接序列擴頻(DSSS)技術。
基于Wi-Fi的井下通信受到很多方面的制約,比如電磁波衰落,噪聲以及多徑效應的影響等,這些不利因素使得礦井成為了一個復雜、多變、特殊的信號傳播區域,因此井下環境對于無線通信的魯棒性來說是一個重大挑戰[2]。但利用Wi-Fi技術,可以將成熟的地面短距離無線通信運用到井下實現其價值增值,對比傳統的無線通信技術,采用Wi-Fi技術價格相對低廉,更能滿足井下的低功耗設計需要和安全要求。
本文通過分析井下無線網絡信號強度,信號質量以及天線方向對無線網絡的影響,研究并開發了基于Wi-Fi技術的井下無線網絡安全監測終端,實現了視頻數據和站點重要數據信息的無線傳輸,為礦井安全生產提供了重要的保障。
2 系統測試原理
2.1 系統組成
如圖1所示,監控系統主要由底層信息采集單元、終端、井下無線局域網和地面監控中心四部分組成。最底層信號采集單元,負責采集監測點的瓦斯濃度、氧氣濃度和濕溫度等數據,并完成與井下控制終端的通信,將所檢測到的數據通過RS 485總線發送到現場終端控制單元。井下控制終端,是整個系統的核心控制部分,它的主要功能如下:一是將底層信號采集單元上傳的數據通過網絡服務的形式進行實時發布,發布的信息可以被第三層的客戶端主機接收;二是根據現場所安裝的底層信號采集單元的數目,設置檢測點的工作方式,如檢測點的檢測時間間隔、數據異常的報警限設置、底層信號采集單元數目設置等,終端主要采用嵌入式技術,各終端通過Wi-Fi無線局域網互聯、互通,信息共享。井下無線局域網通過無線接入點AP采用2.4 GHz支持的802.11a/b/g模式,及時采集臨近終端的信息,傳輸到地面的監控中心,對井下Wi-Fi設備進行控制管理。WLAN有兩種工作模式:Ad Hoc和Infrastructure模式[3],系統采用Infrastructure模式,每一個客戶將其通信報文發向AP,AP轉發所有的通信報文,這些報文發往整個無線網絡。無線訪問節點負責頻段管理及漫游等功能。地面的監控管理中心主要工作就是接收終端發送的數據,并對數據進行處理,建立數據庫,以備統計和查驗等。遠程監控終端為普通的PC機,用戶在客戶端主機上通過Web瀏覽器遠程訪問嵌入式Web服務器的主頁,對瓦斯濃度等數據進行實時監測。
圖1 系統總體設計圖
2.2 井下無線局域網系統測試
系統試驗平臺:Fedora 6(內核Linux-2.6.18)操作系統,無線接入點AP(TP LINK),無線USB網卡VT6656,需要考慮的因素:空直巷道下菲涅爾帶的影響;井下周圍設備反射對于收到的信號強度的影響;多徑效應的影響。
基于以上的因素,為了模擬礦井的環境,將試驗環境設置在地下,如圖2所示,試驗的區域長度為50 m,高度為45 m,三個AP均勻分布,由于井下包含了各種金屬設備,為有效地仿真這些金屬設備,將一塊長度為5 m的金屬板放在據頂部土墻1 m處,區域的底部設置為平滑的墻面,頂部設置為表面不光滑的墻面,以盡可能模擬井下環境,將配置了無線USB網卡的筆記本用來作為測試信號強度RSSI的終端設備,每隔5 m測試信號強度RSSI的變化[4]。
圖2 無線測試結構圖
測量時,固定傳輸速率為54 Mb/s,AP功率為7.2 W,頻段為6,從每個無線接入點AP獲得的信號強度如圖3所示,信號的強度與終端移動的距離成反比,試驗的目的還在于利用天線分集技術測試多徑抑制性能,以保證在一定程度上無線網絡在礦井中的傳輸質量,通過試驗最突出的一個方面就是在隧道的最后15 m處從AP3處接收到的信號強度有明顯的增強。
圖3 終端與RSSI之間的關系
模擬井下巷道,盡管存在波導效應對電波傳播的影響及巷道截面(包括形狀尺寸)、拐彎、傾斜、風門等影響,但在系統模型建立過程中,將會反映在nA,nB,n參數擬合值的不同,因此選擇的測試環境能夠代表實際的環境電磁波在巷道傳播路徑上有一個突變點將路徑分成兩個本質截然不同的區域,有不同的路徑損耗指數,路徑傳播損耗的具體公式為:
Lf(d1)=Lf(d0)+10nAlg(d1)-10nBlg(df)+n
(1)
式中:d0=1 m為參考點距離;Lf(d0)約為40 dB;d1為終端距離突變點的距離;df為突變點距離AP的距離;nA和nB分別為突變點前后區域內的路徑損耗指數。如圖4為擬合后終端到AP的距離以及與信號強度的關系。
圖4 擬合后終端與RSSI之間的關系
為了測試有效的信號質量指標,在有線網絡和無線之間建立了一個高帶寬的數據流,測試到的信號質量對建立井下無線通信有著非常重要的參考價值,如圖5所示,盡管隨著終端到距離的增加,信號強度逐漸減弱,但是信號質量卻在部分區域相對增加,這是由于周圍金屬物所引起的多徑效應造成了碼間干擾,從而減弱了終端到AP的連接性能。
圖5 終端與信號質量的關系
不同于地面自由空間的無線Wi-Fi,煤礦井下天線方向的變化對信號強度同樣存在影響,如圖6所示,這是因為在礦井環境下大量金屬存在物的反射從而導致了多徑效應和信號衰落,接收到的信號強度的這種變化在很大程度上限制了井下無線Wi-Fi信號的準確度。因此對于井下無線Wi-Fi來說,用多天線代替單天線以及如何提高傳輸的準確度將是井下無線網絡研究的重點。
圖6 天線方向對信號強度的影響
2.3 系統測試結論
通過試驗驗證了基于井下無線通信Wi-Fi技術的試驗效果,為井下無線終端的設計提供了試驗依據,分別對信號強度、信號質量以及天線的方向等情況做了若干試驗,分析了多徑效應,噪聲以及信號衰減對井下無線網絡造成的影響,根據無線電磁波在煤礦井下傳輸的這些特性以及在工程中實際的情況,對井下無線AP的部署策略如下[5]:
(1) 在必須部署無線AP的地區首先部署,剩余地區再根據AP的覆蓋范圍進行部署。
(2) 在井下巷道中衰減較快的地方,縮減AP與終端之間的距離,在井下長直型巷道中,適當少部署AP。
(3) 彎曲度較大的巷道,優先在彎曲處部署AP。
3 井下Wi-Fi終端
3.1 終端設計
井下監控終端是整個系統的管理調度者,負責管理底層信號采集單元,并實時地向上層的遠程控制終端發布數據,是整個系統的樞紐,因此其設計對于整個系統的性能有舉足輕重的作用。井下監控終端主要包含三個功能:通信功能,主要包括與底層信號采集單元和遠程監控終端的通信,獲取現場檢測數據,通過網絡實時地向遠程監控終端發布數據;實現友好的人機交互界面以及簡潔的用戶輸入方式;作為調試和下載接口。
根據以上功能要求,主要硬件系統如圖7所示。軟件系統主要由嵌入式Linux操作系統,yaffs文件系統,驅動程序,Qt/Qtopia圖形用戶界面,嵌入式SQLite數據庫等組成,其中嵌入式操作系統,驅動程序,文件系統是構成嵌入式系統的支撐部分;Qt/Qtopia圖形用戶界面為用戶提供了友好的人機界面,便于操作;嵌入式SQLite數據庫為終端提供信息支持。
圖7 終端硬件結構框圖
3.2 GUI模塊設計
嵌入式礦井安全監控系統的應用軟件是根據設計需求,通過Linux內核的系統調用各功能模塊完成監控系統的各項軟件功能。監控系統利用人性化的圖形操作界面,簡化了設備的操作;應用軟件的各功能模塊采用多線程設計,提高了系統的運行性能;系統的數據信息主要包括配置參數,底層系統的數據采集和用戶信息,設計中采用SQLite數據庫系統對有關信息進行管理。
根據設計需要,本文目的是利用Qt/Qtopia圖形用戶界面[6](GUI)實現一個具有圖形接口界面的顯示終端。用戶可以通過GUI與系統進行交互,實現利用終端對信息進行采集,并且結合嵌入式SQLite數據庫[7]對站點的信息提供數據庫的瀏覽、檢索、插入、修改、刪除等功能,并可以通過選擇時間對歷史數據進行查詢。
系統啟動后要首先進入登陸界面,提示輸入用戶名和密碼。若用戶名和密碼與數據庫中的信息吻合則可以允許進入本系統主操作界面。主操作界面分為四個部分:系統操作、實時數據查詢、用戶管理、歷史數據查詢。本文主要描述系統操作界面的實現。
3.2.1 基于Qt技術的串口通信程序設計實現
系統操作界面是監控終端的核心,主要是通過Qt實現比較復雜的RS 485通信協議、網絡文件傳輸、視頻信息的傳送以及判斷報警的條件,并在符合這個條件時輸出控制信號,啟動報警響應機制。
S3C2440A中含有采用RS 485標準進行通信的串口0、采用RS 232標準通信的串口1,在Linux的/dev目錄下分別用s3c2410_serial0和s3c2410_serial1表示,終端通過串口0與底層傳感器控制單元進行一對多的多機通信。
Linux系統內核自帶的串口驅動程序包含了與串口的打開、輸入和輸出操作有關的功能。因此應用層程序對串口的操作即是對設備文件s3c2410_serial0和s3c2410_serial1進行操作,其編程就是調用相應的open(),write(),read()等函數。在Linux下的串口編程流程如圖8所示。
圖8 串口編程流程圖
3.2.2 串口數據采集實現通信流程
在串口配置完成后,應當制定合理的通信協議來完成終端與底層傳感器單元之間的數據交換。其具體流程如下:終端在RS 485總線上發送地址標識廣播消息給底層傳感器控制單元,請求底層單元發送現場信息數據;每個底層傳感器控制單元都包含有惟一的地址標識符,標識號從0開始,每個控制單元的標識號依次加1。底層單元收到廣播信息后與自身的地址標識對照,當確定自身為被叫用戶時,底層傳感器控制單元響應終端的數據請求,將當前檢測到的現場信息通過RS 485總線發送給終端。
傳輸的數據幀格式要根據系統的實際情況來確定。在本系統中包含了6個底層傳感器單元,而且在實際應用中底層傳感器單元的數目不會超過256個,故使用一個字節的數據就能夠表示終端所發送的地址標識號。
底層傳感器單元需要向終端發送包括本機地址標識號、瓦斯濃度、氧氣濃度和現場溫濕度等。為保證數據傳輸的正確性,在此還傳輸了校驗碼數據,該數據為前面所有發送字節的異或。底層傳感器單元共向終端發送9個字節的單元信息,其幀格式如表1所示。
表1 串行通信數據幀格式
字節號012345678
字節信息地址信息瓦斯濃度O2濃度CO濃度水位風速溫度信息濕度信息校驗碼
為了確保通信過程的正確性,在程序設計中加入了通信超時檢驗、接收數據長度檢查和多次發送的機制。當終端向底層傳感器控制單元發送的通信請求在一定時間內沒有得到響應,則再次發送數據請求,如果連續三次請求都不成功則轉向對下一個底層傳感器控制單元發出請求,并標識出發生故障的底層傳感器。
在應用程序中,檢測時間的間隔可選,在此設置為每隔3 min集中控制單元要向各個底層控制單元發送數據請求消息,獲得現場環境數據后,更新系統當前數據,對串口讀寫的程序流程圖如圖9所示。以上過程在主程序中通過Qt定時器循環實現。部分程序如下:
OS_operatorGui::OS_operatorGui(QWidget*parent,const char* name,WFlags fl):
QWidget(parent,name,fl ),judgethread(this),netthread(this)
{ ……
if((fd=MySerial::open_port(fd,2))<0)
{//打開串口錯誤}
else Txt_State->insertLine(″Open port success″,-1);
if((MySerial::set_opt(fd,115200,8,′N′,1))<0)
{//設置串口錯誤}
else Txt_State->insertLine(″Set port success″,-1);
……
QTimer *mytime=new QTimer(this);
connect( mytime,SIGNAL(timeout()),this,SLOT(receive_slot()));
mytime->start( 180000,1);
……
}
void OS_operatorGui::receive_slot()//定時時間到采集數據
{ //串口數據采集}
3.2.3 用戶自定義事件在系統操作界面中的應用
當一個Qt應用程序開始執行時,只有一個線程正在運行初始線程。因為這個原因,把這個線程作為圖形用戶界面線程,圖形用戶界面線程通過創建QThread子類的對象開始新的線程,如果新線程之間要進行通信,可以使用互斥量、信號或者等待條件和共享變量方式通訊。但是這些技術不能用來和圖形用戶界面線程進行通訊,因為他們會鎖住事件循環并且凍結用戶界面。非圖形用戶界面和圖形用戶界面線程之間的通訊只能采用投遞自定義的方式。Qt的事件機制允許在內置事件類型之外定義自定義事件類型,并且允許使用QApplication::postEvent()來投遞這些類型的事件。
圖9 串口讀寫程序流程圖
本系統中終端另一個重要的功能是報警和控制動作的輸出,當瓦斯濃度、氧氣含量或者一氧化碳含量達到報警限時,就進行報警并啟動風機。此控制功能在RS 485通信協議中已經體現出來,即:
if(Recframe[1]>MaxCH4‖Recframe[3]>CO‖Recframe[2] {FAN=1;ALARM=1;Alarmflag=1;} 上述功能為簡單的開關控制,不再細述。但在報警的同時,需要通過系統操作界面的異常處理按鈕,將報警寫入數據庫的歷史數據表中,以備查用。同時為方便用戶的使用,操作界面同時提供了網絡文件傳輸的功能,文件發送通過采用socket通信,socket通信的程序設計主要分為服務器端和客戶端兩個部分,本設計ARM板上的Linux作為服務器端,遠程的監控中心作為客戶端,實現文件的互傳。部分程序如下: void judgeThread::run()//異常處理線程 {myEvent*event=new myEvent(1); QThread::postEvent(receiver,event); } void netThread::run() //網絡文件傳輸線程 {myEvent *event = new myEvent(2); postEvent(receiver,event); } 為了滿足用戶的需求,Qt系統提供了一個QCustomEvent類,用于用戶自定義事件,這些自定義事件可以利用QThread::postEvent()或者QApplication::postEvent()并發給各種控件或其他QObject實例,而QWidget類的子類可以通過QWidget::customEvent()事件處理函數方便地接收到這些自定義的事件。 class myEvent:public QCustomEvent {public: myEvent(int i):QCustomEvent(12345),id(i) {}; int id; }; void OS_operatorGui::customEvent(QCustomEvent *event) { if(event->type() == 12345) { switch( ((myEvent*)event)->id ) { case 1://寫入數據庫歷史數據表 break; case 2://網絡文件傳輸 break; default:OS_operatorGui::customEvent(event); } } } 4 結 語 煤礦現代化建設是我國國民經濟持續、穩定發展的重要基礎,先進的井下安全監測是煤礦現代化建設的重要組成部分,本文通過合理的系統設計,利用無線Wi-Fi技術和嵌入式技術完成礦井安全監測終端的實驗研究,實現了視頻數據及各站點重要信息的傳輸。 參考文獻 [1]王瑋,郭成城,李松.無線Mesh網絡在礦井通信中的應用[J].計算機工程,2008,36(6):91-94. [2]Wang Yanfen,Wang Zhenggang,Yu Hongzhen.Simulation Study and Probe on UWB Wireless Comunication in Underground Coal Mine[J].China Univ.of Mining Tech.(English Edition),2006,3(16):296-300. [3]劉乃安.無限局域網(WLAN)——原理、技術與應用[M].西安:西安電子科技大學出版社,2004. [4]Ralston J C,Hargrave C O.Localisation of Mobile Underground Mining Equipment Using Wireless Ethernet[A].Conference Record - IAS Annual Meeting[C].2005(1):225-230. [5]湛浩旻.煤礦井下移動目標定位系統設計[D].哈爾濱:哈爾濱工程大學,2007. [6]楊建華,黃宇東,陳安,等.基于ARM/Linux的燃料電池溫度監控系統GUI設計[J].電子技術應用,2009(7):13-15. [7]解輝,徐玉斌,李建偉,等.基于SQLite的嵌入式數據采集系統的研究與采集[J].計算機與數字工程,2008(6):91-95.