江 旭
(中煤科工集團(tuán)重慶研究院有限公司, 重慶 400037)
煤與瓦斯突出事故是煤礦安全的“第一殺手”,目前通過鉆孔獲得反映采掘工作面瓦斯突出危險(xiǎn)性的量化指標(biāo)則是煤與瓦斯突出預(yù)報(bào)預(yù)測的有效措施。在突出預(yù)測的多種指標(biāo)[1]中,鉆孔瓦斯涌出初速度[2]被認(rèn)為全面反映了煤層瓦斯壓力和含量、煤的滲透性能、力學(xué)性質(zhì)及地應(yīng)力等因素的變化,是一個(gè)應(yīng)用比較廣泛其可靠性很高的指標(biāo),已被列入我國《防止煤與瓦斯突出規(guī)定》。但是現(xiàn)有的鉆孔瓦斯初速度測定儀使用的技術(shù)相對落后,對于數(shù)據(jù)的儲存和處理已經(jīng)跟不上如今大數(shù)據(jù)時(shí)代的需求。對此,本文結(jié)合上述需求,設(shè)計(jì)了一款配套鉆孔瓦斯涌出初速度測定儀使用的APP。
結(jié)合井下測量時(shí)的實(shí)際情況,以及目前煤炭行業(yè)“互聯(lián)網(wǎng)+”的利用依托大數(shù)據(jù)技術(shù)多方面多角度地進(jìn)行煤礦數(shù)據(jù)的挖掘與處理的需求,將鉆孔瓦斯涌出初速度測定儀APP的功能分為以下幾類,具體情況如圖1所示。
圖1 軟件功能分析框圖
客戶端需在井下測量時(shí)使用,包含有工作面管理、數(shù)據(jù)測量、數(shù)據(jù)管理和系統(tǒng)設(shè)置這四大功能。工作面管理可編輯工作面編號、名稱、類型等詳細(xì)信息;數(shù)據(jù)測量是通過藍(lán)牙通訊與鉆孔瓦斯涌出初速度測定儀連接,獲取壓力值計(jì)算出鉆孔瓦斯涌出初速度和衰減系數(shù);數(shù)據(jù)管理內(nèi)可查詢所有已保存的測量值,可連接藍(lán)牙打印機(jī)打印出小票,還能在連接網(wǎng)絡(luò)的情況下直接上傳至服務(wù)器端;系統(tǒng)設(shè)置主要用于設(shè)置配套APP使用的儀器和打印機(jī)的地址。服務(wù)器端的主要功能為云端存儲和數(shù)據(jù)分析。
鉆孔瓦斯涌出初速度測定APP的關(guān)鍵技術(shù)在于與設(shè)備的藍(lán)牙連接通訊和用于管理數(shù)據(jù)的輕量型數(shù)據(jù)庫SQLite建立。
藍(lán)牙BLE[3]的全名是Bluetooth LowEnergy,簡單解釋是低功耗藍(lán)牙的意思,最少需要API18(Android4.3)以上設(shè)備才能支持。相比于傳統(tǒng)藍(lán)牙,BLE設(shè)備的功耗極低,通過GATT協(xié)議[4]進(jìn)行設(shè)備之間的通訊。
Android平臺下BLE開發(fā)流程如下頁圖2所示。
2.1.1 開啟權(quán)限
首先需要在AndroidManifes.xml文件中為APP申明低功耗藍(lán)牙操作權(quán)限,具體申明如下:
2.1.2 打開Android設(shè)備藍(lán)牙功能
首先需要通過藍(lán)牙管理器BluetoothManager獲得藍(lán)牙適配器BluetoothAdapter,然后判斷藍(lán)牙是否開啟,若為開啟則調(diào)用函數(shù)開啟,并可直接搜索周圍BLE設(shè)備。
2.1.3 搜索周圍BLE設(shè)備
搜索掃描BLE設(shè)備需要調(diào)用startLeScan(LeS-canCallback)方法,該方法調(diào)用參數(shù)BluetoothAdapter. LeScanCallback返回掃描結(jié)果。
圖2 Android平臺下BLE開發(fā)流程圖
2.1.4 連接GATT服務(wù)端
搜索到配套設(shè)備后需要和它連接,實(shí)際上就是和BLE設(shè)備上的GATT Server進(jìn)行連接,需要調(diào)用connectGatt()方法。同搜索設(shè)備時(shí)有返回值一樣,連接后也會有返回值,返回值BluetoothGattCallback用于傳遞結(jié)果,例如連接狀態(tài),以及任何進(jìn)一步GATT客戶端操作。
2.1.5 讀寫數(shù)據(jù)
APP連接到GATT服務(wù)端且發(fā)現(xiàn)services后,通常使用Characteristic屬性來描述廣播信息和數(shù)據(jù),調(diào)用相應(yīng)的方法就可以讀、寫存儲在屬性里的信息和數(shù)據(jù)。
Android支持高效、快速的數(shù)據(jù)存儲方式,內(nèi)置了一款輕量級的關(guān)系型數(shù)據(jù)庫SQLite[5],它的運(yùn)算速度非常快,占用資源少,為本地持久化的功能提供了一個(gè)質(zhì)的飛躍。
訪問SQLite數(shù)據(jù)庫方面的主要功能有:工作面信息編輯;測量數(shù)據(jù)的管理。
為了實(shí)現(xiàn)上述功能,采用SQLite建立相應(yīng)數(shù)據(jù)庫中的表。其中新建工作面表WorkFace,設(shè)置“id”、“礦井名稱”、“工作面編號”、“工作面名稱”、“工作面類型”和“日期”六個(gè)字段;新建測量結(jié)果表Result,設(shè)置“id”、“噴嘴系數(shù)”、“涌出初速度”、“衰減系數(shù)”和“日期”五個(gè)字段。
Android平臺已封裝了 SQLiteOpenHepler和SQLiteDatabase類,利用ContentValues類來代替復(fù)雜的SQL語句對數(shù)據(jù)庫進(jìn)行增刪改查的操作。
在正式向市場推廣之前,需要測試APP的穩(wěn)定性和安全性,由于藍(lán)牙功能不能在虛擬機(jī)中測試,要將APP安裝在礦用Android手機(jī)上。打開APP后,如果配套設(shè)備已開啟,APP將自動連接設(shè)備,并在界面顯示設(shè)備連接成功,只有在連接成功的狀態(tài)下,才能使用測量數(shù)據(jù)功能。在開始界面點(diǎn)擊“測量”按鈕,在界面中將顯示當(dāng)前的流量值,測量1 min后界面中將顯示鉆孔瓦斯涌出初速度的流量值,繼續(xù)測量4 min后界面中將顯示衰減系數(shù)。在數(shù)據(jù)管理界面中,選擇需要查詢的工作面和日期,點(diǎn)擊查詢即可查詢測量結(jié)果。程序運(yùn)行結(jié)果如圖3和下頁圖4所示。
圖3 鉆孔瓦斯涌出初速度測量界面
本文將在物聯(lián)網(wǎng)中廣泛應(yīng)用低功耗藍(lán)牙技術(shù)和小巧、全面的SQLite數(shù)據(jù)庫相結(jié)合,設(shè)計(jì)了一款配套鉆孔瓦斯涌出初速度測定儀使用的APP。主要應(yīng)用于煤礦安全領(lǐng)域,不僅能夠獲得鉆孔瓦斯涌出初速度指標(biāo),為煤與瓦斯突出危險(xiǎn)性預(yù)測和評價(jià)、礦井瓦斯災(zāi)害危險(xiǎn)程度評價(jià)提供重要參考,還為煤礦大數(shù)據(jù)分析、煤礦智能化、信息合理安全化提供了技術(shù)支撐,填補(bǔ)了煤與瓦斯突出危險(xiǎn)預(yù)報(bào)在Android平臺下應(yīng)用的空白。本文只是介紹了軟件的初步設(shè)計(jì),還有更多的功能需要去完善,例如數(shù)據(jù)處理智能化、交互界面的友好程度、客戶端的多樣化等方面可以繼續(xù)改進(jìn)。
圖4 APP數(shù)據(jù)管理界面