文/邵彥斌
目前煤礦的瓦斯監(jiān)測系統(tǒng)(包括瓦斯、通風(fēng)等)采用的都是現(xiàn)場監(jiān)控模式及有線局域網(wǎng)通訊方式,而煤礦安全管理人員及主管領(lǐng)導(dǎo)一旦離開了辦公場所(出差、開會、下班等)即無法獲得現(xiàn)場的實時信息,無法對突發(fā)事件進行快速響應(yīng)和全面科學(xué)決策。
隨著計算機和移動互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,無線方式的瓦斯監(jiān)測系統(tǒng)已成為必然的趨勢,煤礦主管領(lǐng)導(dǎo)及管理人員可以隨時隨地利用手持設(shè)備(如手機、掌上電腦等)同數(shù)據(jù)庫服務(wù)端進行交互信息,并能夠?qū)崟r的瀏覽礦端數(shù)據(jù),進行數(shù)據(jù)查詢、數(shù)據(jù)統(tǒng)計、曲線圖顯示等操作,從而滿足煤礦安全生產(chǎn)信息化融合和移動化監(jiān)控的需求,從而保證了煤礦企業(yè)安全高效的生產(chǎn)運作。
Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。市場調(diào)研公司Gartner的數(shù)據(jù)顯示,2017年Android和IOS的市場份額分別為85.9%和14%。Android平臺的優(yōu)勢性主要體現(xiàn)在平臺具有開放性,正因為其開放性才使得有豐富的硬件支持,便于軟件開發(fā),并且Android平臺手機無縫結(jié)合Google的優(yōu)秀服務(wù)。
煤礦安全移動瓦斯監(jiān)測系統(tǒng)的功能主要是提供安全生產(chǎn)過程中,井下設(shè)備的數(shù)據(jù)監(jiān)測。由此功能要向客戶提供各個傳感器設(shè)備的實時值和歷史數(shù)據(jù),從而使煤礦安全管理人員能實時的得到安全生產(chǎn)過程中所有的監(jiān)控設(shè)備狀態(tài)。煤礦安全管理人員通過這些功能,可以隨時隨地的瀏覽自己所關(guān)心的數(shù)據(jù),從而能夠整體把握安全生產(chǎn)過程中的數(shù)據(jù)趨勢,更好的掌握生產(chǎn)現(xiàn)狀。煤礦安全移動瓦斯監(jiān)測系統(tǒng)功能圖見圖1。
可按照模擬量查詢的傳感器類型包括瓦斯、溫度、負壓、流量、風(fēng)速、一氧化碳等。首先能夠?qū)崟r的瀏覽模擬量數(shù)據(jù),具體顯示的內(nèi)容包括測點編號、地址、測點值、報警值、斷電值等內(nèi)容,其次可以按照測點類型、測點位置,以及起止時間條件進行相應(yīng)的組合查詢,將相應(yīng)的結(jié)果以數(shù)據(jù)列表的形式顯示在移動的終端設(shè)備上。以上的瀏覽顯示都可以按照測點編號、測點名、測點值、時間等進行升降排序。
此外,對于模擬量數(shù)據(jù),還支持曲線圖顯示。通過曲線圖煤礦安全人員可以根據(jù)所顯示的歷史趨勢,來推演未來的趨勢,從而來掌握未來一段時間內(nèi)煤礦安全生產(chǎn)狀況。
可按照開關(guān)量查詢的傳感器類型包括開停、饋電、風(fēng)門、水泵等。同模擬量查詢顯示的方法類似,可以瀏覽設(shè)備開停的實時狀態(tài),同時也支持對于歷史數(shù)據(jù)的查詢統(tǒng)計顯示。
對于開關(guān)量數(shù)據(jù),由于其數(shù)據(jù)狀態(tài)有0、1、斷線三種狀態(tài),可以支持狀態(tài)圖和柱狀圖顯示。
圖1:為煤礦安全移動瓦斯監(jiān)測系統(tǒng)功能圖
一旦系統(tǒng)監(jiān)測到有報警、斷電、斷線、饋電異常、后備電源、通訊中斷等異常數(shù)據(jù)狀態(tài)時,系統(tǒng)可以發(fā)出報警信號和聲音,以特殊的顏色狀態(tài)醒目的方式推送至客戶,不需要去查詢實時的報警信息即可收到礦端的異常報警數(shù)據(jù),從而對突發(fā)事件進行快速響應(yīng)和全面科學(xué)決策,有效降低煤礦的安全生產(chǎn)事故,確保煤礦的安全生產(chǎn)經(jīng)營。
為了在一定程度上保證數(shù)據(jù)的安全性,防止被惡意的盜取或破壞,同時為了提高瀏覽的響應(yīng)的速度,根據(jù)應(yīng)用需求特建立了不同的用戶級別管理機制。在本系統(tǒng)中在登錄的時候采取了不同的權(quán)限鑒定機制,通過對不同的用戶進行權(quán)限認證,并依據(jù)此來確定相應(yīng)的用戶級別,從而分配相應(yīng)的功能給對應(yīng)的用戶。
煤礦安全移動瓦斯監(jiān)測系統(tǒng)通過將用戶名和密碼發(fā)送到移動監(jiān)控服務(wù)系統(tǒng)進行驗證,從而獲得鑒權(quán)和用戶分級結(jié)果,得到登錄成功、用戶名不存在、密碼錯誤等狀態(tài)信息和用戶級別信息。只有在用戶名和密碼完全正確的情況下,方可登錄成功,進行相應(yīng)的功能界面,為不同級別的用戶提供相應(yīng)的功能界面瀏覽。
開發(fā)工具和主要開發(fā)技術(shù).NET Framework4.6 & C#;Visual Studio 2015 旗艦版;Eclipse;Android SDK 5.0;ADT-18;SQL Server 2008;
服務(wù)器端運行環(huán)境為服務(wù)器的操作系統(tǒng)Windows 2008 Server中文版;WEB服務(wù)器:Internet Information Services (IIS) 7.0;其他環(huán)境:.NET Framework4.6。
移動終端的運行環(huán)境為操作系統(tǒng)Android5.0或以上版本。
3.2.1 數(shù)據(jù)交互的實現(xiàn)
對于煤礦安全監(jiān)控系統(tǒng)采用的數(shù)據(jù)庫是SQL Server2008,而Android客戶端是不能直接訪問SQL Server2008數(shù)據(jù)庫的,怎么跟服務(wù)器數(shù)據(jù)庫進行交互的呢?通過Web Service來充當(dāng)服務(wù)器端的角色,對數(shù)據(jù)庫進行相關(guān)的操作,提供接口,Android移動客戶端正確調(diào)用按照Web Service提供的接口即可。Web Server的數(shù)據(jù)由XML進行描述的,因此在Android客戶端接受到的響應(yīng)數(shù)據(jù)格式也應(yīng)該為XML,要想其變成終端可識別的信息,也必須進行XML數(shù)據(jù)的解析。
本系統(tǒng)編寫的Web Server采用的在Visual Studio 2015旗艦版中使用C#語言編寫,其中數(shù)據(jù)層業(yè)務(wù)都通過SqlDbHelper(數(shù)據(jù)庫訪問公共接口)來對完成。該類提供對數(shù)據(jù)庫的表進行查詢統(tǒng)計等功能,具體的接口規(guī)范說明如下:
//對數(shù)據(jù)庫執(zhí)行命令
public static int ExecuteNonQuery(string safeSql)
// 查詢結(jié)果集中第一行第一列的值
public static int ExecuteScalar(string safeSql)
//創(chuàng)建數(shù)據(jù)讀取器
public static SqlDataReader ExecuteReader(string safeSql, SqlConnection Connection)
// 執(zhí)行指定數(shù)據(jù)庫連接對象的命令,指定存儲過程參數(shù),返回DataTable
public static DataTable ExecuteDataTable(CommandType type, string safeSql, params SqlParameter[] values)
public static DataTable ExecuteDataTable(string safeSql)
// 取出數(shù)據(jù)
public static DataSet GetDataSet(string safeSql, string tabName, params SqlParameter[] values)
3.2.2 Android客戶端通信模塊設(shè)計與開發(fā)
移動客戶端程序采取的是eclipse + ADT集成的Android開發(fā)環(huán)境,首先在AndroidManifest.xml中加入聯(lián)網(wǎng)權(quán)限,然后通過HttpConnSoap這個類直接調(diào)用,其作用就是連接服務(wù)器,把Web Service上寫的函數(shù)的返回值轉(zhuǎn)化為數(shù)組類型。
解析XML格式的文本,可以使用dom、sax和pull等方式。因為pull的函數(shù)庫較小,比較適合移動設(shè)備,而且是谷歌官方推薦的方法,于是在本系統(tǒng)中采用的是pull方法進行XML解析,解析XML數(shù)據(jù)后,應(yīng)該把返回的結(jié)果顯示到手機屏幕上??紤]到在移動終端同服務(wù)端大量的網(wǎng)絡(luò)請求和數(shù)據(jù)處理操作,為了保證程序運行的效率,特采取多線程運行,主線程主要負責(zé)顯示和更新UI控件,子線程的管理,而子線程主要完成同服務(wù)器端的數(shù)據(jù)交互,并向主線程傳遞更新UI信息。
基于Android的煤礦安全移動瓦斯監(jiān)測系統(tǒng)經(jīng)過了性能測試、功能測試和兼容性測試,實現(xiàn)了功能設(shè)計中所有的功能性和非功能性需求,是一個安全可信的智能移動終端應(yīng)用。
基于Android的煤礦安全移動瓦斯監(jiān)測系統(tǒng)實現(xiàn)了煤礦瓦斯監(jiān)測同移動終端設(shè)備的有效結(jié)合,性能上保證了數(shù)據(jù)的實時性、準確性、有效性,具有良好的應(yīng)用前景。煤礦安全管理人員使用Android系統(tǒng)的終端設(shè)備,可以隨時隨地了解監(jiān)控設(shè)備的變化狀況、趨勢及異常報警信息,安全管理人員根據(jù)系統(tǒng)信息采取相應(yīng)的決策,從而有效的預(yù)防事故發(fā)生,為煤礦的安全生產(chǎn)保駕護航。