徐 慶
(常德市廣播電視臺(tái) 湖南 常德 415000)
地鐵交通運(yùn)載力較大,行駛速度較快,成為人們出行首要選擇的交通工具[1]。隨著經(jīng)濟(jì)的快速發(fā)展,我國(guó)已經(jīng)在多個(gè)地區(qū)修建了地鐵交通軌道,并為其配備了行駛輔助工具。由于地鐵行駛軌道主要分布在市中心,對(duì)此類交通工具的安全行駛提出了較高要求[2]。地鐵變形作為地鐵交通安全事故產(chǎn)生的主要因素,對(duì)其展開實(shí)時(shí)監(jiān)測(cè)顯得尤為重要。通過采集地鐵變形數(shù)據(jù)信息,從而準(zhǔn)確判斷當(dāng)前地鐵行駛安全性,為安全行駛指揮管理提供可靠參考依據(jù)[3]。目前,開發(fā)的大部分地鐵變形監(jiān)測(cè)系統(tǒng)依賴有線傳輸,并且以監(jiān)控中心計(jì)算機(jī)作為信息接收終端[4]。這種監(jiān)測(cè)系統(tǒng)建設(shè)成本較高,信息傳輸線路布設(shè)難度較大,限定了監(jiān)管指揮工作空間。為了彌補(bǔ)傳統(tǒng)系統(tǒng)開發(fā)方案存在的不足,本文借助Android 平臺(tái),嘗試提出一種新的實(shí)時(shí)地鐵變形監(jiān)測(cè)系統(tǒng)軟件設(shè)計(jì)方案。
地鐵變形監(jiān)測(cè)系統(tǒng)的開發(fā),除了對(duì)系統(tǒng)監(jiān)測(cè)結(jié)果準(zhǔn)確性有所要求以外,還對(duì)監(jiān)測(cè)數(shù)據(jù)的實(shí)時(shí)性有所要求,只有數(shù)據(jù)滿足實(shí)時(shí)性要求,才能夠第一時(shí)間發(fā)現(xiàn)地鐵變形問題,為地鐵交通工具行駛指揮提供有利數(shù)據(jù)支撐[5]。目前,很多監(jiān)測(cè)系統(tǒng)數(shù)據(jù)傳輸期間受因素影響,數(shù)據(jù)精準(zhǔn)度下降,并且監(jiān)測(cè)指標(biāo)比較單一。例如,監(jiān)測(cè)關(guān)鍵部位應(yīng)力、接觸壓力等,缺少多指標(biāo)的全面監(jiān)測(cè)[6]。所以,在接下來的研究中,需要選擇多個(gè)監(jiān)測(cè)指標(biāo),為其配備相應(yīng)傳感器,在處理器的控制下完成數(shù)據(jù)采集。
另外,整理大量文獻(xiàn)資料發(fā)現(xiàn),大部分地鐵變形數(shù)據(jù)接收終端為監(jiān)控中心計(jì)算機(jī),數(shù)據(jù)傳輸時(shí)間較長(zhǎng),導(dǎo)致數(shù)據(jù)時(shí)效性較差。為了彌補(bǔ)這個(gè)不足,在接下來的研究中,應(yīng)該將研究要點(diǎn)轉(zhuǎn)移到移動(dòng)終端接收數(shù)據(jù)方面。手機(jī)作為一種通信工具,其應(yīng)用已經(jīng)得到了普及,可以考慮將手機(jī)作為移動(dòng)終端,在Android 平臺(tái)上開發(fā)系統(tǒng)操作軟件程序,從而實(shí)現(xiàn)地鐵變形現(xiàn)場(chǎng)監(jiān)測(cè)數(shù)據(jù)向用戶手機(jī)直接發(fā)送功能,以此提高數(shù)據(jù)實(shí)時(shí)性,彌補(bǔ)數(shù)據(jù)接收和讀取空間限定問題。
針對(duì)系統(tǒng)開發(fā)需求,本系統(tǒng)在地鐵監(jiān)測(cè)設(shè)備配置、數(shù)據(jù)傳輸及接收模式兩個(gè)方面進(jìn)行了改進(jìn),提出新的系統(tǒng)設(shè)計(jì)方案。該方案利用關(guān)鍵部位應(yīng)力監(jiān)測(cè)傳感器、線形監(jiān)測(cè)傳感器、接觸壓力監(jiān)測(cè)傳感器、接觸位移監(jiān)測(cè)傳感器,分別采集地鐵關(guān)鍵部位應(yīng)力數(shù)據(jù)、線形數(shù)據(jù)、接觸壓力數(shù)據(jù)、接觸位移數(shù)據(jù)。將這些數(shù)據(jù)作為地鐵行駛作業(yè)安全性判斷依據(jù),通過無線模塊傳輸至用戶手機(jī),從而實(shí)現(xiàn)實(shí)時(shí)通信,為地鐵行駛指揮提出可靠方案。圖1 為系統(tǒng)總體架構(gòu)。
該系統(tǒng)架構(gòu)主要分為兩個(gè)部分,分別是現(xiàn)場(chǎng)監(jiān)測(cè)終端(信息采集終端)、遠(yuǎn)程服務(wù)中心。其中,現(xiàn)場(chǎng)監(jiān)測(cè)終端由太陽(yáng)能供電系統(tǒng)、關(guān)鍵部位應(yīng)力監(jiān)測(cè)傳感器、線形監(jiān)測(cè)傳感器、接觸壓力監(jiān)測(cè)傳感器、接觸位移監(jiān)測(cè)傳感器、核心處理器、GPRS DTU 模塊組成。該終端由太陽(yáng)能供電系統(tǒng)供電,在核心處理器的作用下,對(duì)多種傳感器下達(dá)信息采集命令,從而獲取地鐵監(jiān)測(cè)信息,通過GPRS DTU 模塊傳輸數(shù)據(jù)。遠(yuǎn)程服務(wù)中心由用戶手機(jī)、遠(yuǎn)程服務(wù)器兩部分組成,在Android 平臺(tái)環(huán)境,啟動(dòng)遠(yuǎn)程服務(wù)器,為用戶手機(jī)和現(xiàn)場(chǎng)監(jiān)測(cè)終端無線模塊建立通信渠道,服務(wù)器將接收到的信號(hào)發(fā)送至用戶手機(jī)上。該數(shù)據(jù)傳輸模式不受空間限定,并且數(shù)據(jù)時(shí)效性很高。
本系統(tǒng)信息采集終端選取STM32 系列單片機(jī)作為核心處理器,用來驅(qū)動(dòng)采集終端各個(gè)設(shè)備,包括關(guān)鍵部位應(yīng)力監(jiān)測(cè)傳感器、線形監(jiān)測(cè)傳感器、接觸壓力監(jiān)測(cè)傳感器、接觸位移監(jiān)測(cè)傳感器、GPRS DTU 模塊。根據(jù)地鐵監(jiān)測(cè)需求,合理設(shè)置傳感器作業(yè)參數(shù)和數(shù)據(jù)發(fā)送時(shí)間間隔,從而滿足地鐵監(jiān)測(cè)數(shù)據(jù)采集需求。
該架構(gòu)中運(yùn)用多種傳感器監(jiān)測(cè)地鐵狀態(tài),根據(jù)傳感器使用規(guī)格,合理選取設(shè)備安裝位置,同時(shí)以監(jiān)測(cè)需求作為依據(jù),在監(jiān)測(cè)范圍內(nèi)合理布設(shè)傳感器信號(hào)采集節(jié)點(diǎn),以此滿足監(jiān)測(cè)覆蓋需求。考慮到設(shè)備長(zhǎng)期在室外作業(yè),采用有線電源供電存在難度,并且成本較高。所以,本系統(tǒng)采用太陽(yáng)能供電模塊,為系統(tǒng)及其設(shè)備提供電能。除了GPRS DTU 模塊與遠(yuǎn)程服務(wù)中心的通信連接以外,信息采集終端其他設(shè)備之間的通信連接,均采用RS485 通信模塊創(chuàng)建通信橋梁。
3.2.1 軟件開發(fā)環(huán)境
本系統(tǒng)選擇Android 平臺(tái)作為軟件開發(fā)環(huán)境,在BLE應(yīng)用程序中編寫系統(tǒng)作業(yè)程序代碼,使得系統(tǒng)按照地鐵監(jiān)測(cè)控制需求展開作業(yè),同時(shí)監(jiān)測(cè)現(xiàn)場(chǎng)與遠(yuǎn)程服務(wù)中心作業(yè)達(dá)到協(xié)同作業(yè)目標(biāo)。Android 平臺(tái)操作系統(tǒng)中,按照功能不同,將系統(tǒng)劃分為4 個(gè)層次,分別是應(yīng)用程序?qū)?、?yīng)用程序框架層、函數(shù)庫(kù)、Linux 內(nèi)核層,根據(jù)Android 平臺(tái)開發(fā)需求,為其配備系統(tǒng)開發(fā)環(huán)境,并將編譯程序和APK文件植入到Android 系統(tǒng)中,用來控制遠(yuǎn)程服務(wù)器,從而下達(dá)現(xiàn)場(chǎng)信息采集終端和監(jiān)控中心操作命令。
3.2.2 軟件架構(gòu)設(shè)計(jì)
本系統(tǒng)軟件架構(gòu)的開發(fā),以BLE 應(yīng)用程序作為開發(fā)工具,按照系統(tǒng)操作功能不同,將其劃分為多個(gè)層次,分別在不同層次當(dāng)中構(gòu)建功能模塊,形成低耦合高內(nèi)聚的架構(gòu)體系。目前,應(yīng)用比較多的軟件架構(gòu)為MVC(model view controller),按照業(yè)務(wù)邏輯結(jié)構(gòu)設(shè)計(jì)系統(tǒng)功能,采用數(shù)據(jù)分離方法,組織系統(tǒng)運(yùn)行程序代碼,通過操作界面顯示系統(tǒng)運(yùn)行結(jié)果。與其他架構(gòu)相比,這種架構(gòu)不僅擴(kuò)展性較好,而且耦合性比較低。所以,本系統(tǒng)選擇MVC 模式作為系統(tǒng)軟件架構(gòu)開發(fā)工具,設(shè)計(jì)如圖2 所示的系統(tǒng)信息軟件框架結(jié)構(gòu)。
3.2.3 機(jī)器人與智能終端的通信設(shè)計(jì)
系統(tǒng)中關(guān)鍵部位應(yīng)力監(jiān)測(cè)傳感器、線形監(jiān)測(cè)傳感器、接觸壓力監(jiān)測(cè)傳感器、接觸位移監(jiān)測(cè)傳感器均由機(jī)器人控制,而機(jī)器人的核心處理器為STM32 系列單片機(jī),在機(jī)器人的控制下,實(shí)現(xiàn)了各項(xiàng)指標(biāo)數(shù)據(jù)采集操控。該裝置與Androidd 智能終端的通信,以GPRS DTU 模塊作為主要通信渠道,以藍(lán)牙4.0 作為輔助通信渠道,以便用戶通過手機(jī)進(jìn)行操控。如果智能終端與現(xiàn)場(chǎng)控制機(jī)器人距離比較小,則開啟藍(lán)牙4.0 通信模式,如果兩者之間的距離比較大,超出了藍(lán)牙通信覆蓋范圍,則借助移動(dòng)網(wǎng)絡(luò)基站,完成數(shù)據(jù)的發(fā)送和接收[7]。
其中,藍(lán)牙設(shè)備運(yùn)用下的通信設(shè)計(jì),以Adapter.startLeScan()函數(shù)作為通信連接工具,通過調(diào)用該函數(shù),與BLE 設(shè)備建立通信連接。接下來,運(yùn)用getServices()函數(shù)和getCharacteristic()函數(shù),完成各項(xiàng)參數(shù)設(shè)置,從而實(shí)現(xiàn)數(shù)據(jù)傳輸。而GPRS DTU 模塊的通信連接,則是借助GSM(Glabal System for Mobile Communications)基站、SGSN(Serving GPRS support nod)服務(wù)支持節(jié)點(diǎn)、GGSN(Gateway GPRS support node)網(wǎng)關(guān)支持節(jié)點(diǎn),構(gòu)建GPRS(General Packet Radio Service)網(wǎng)絡(luò)體系,從而實(shí)現(xiàn)數(shù)據(jù)的無線傳輸。
3.2.4 服務(wù)器與智能終端的通信設(shè)計(jì)
系統(tǒng)中Android 智能終端與服務(wù)器之間的通信連接,通過5G網(wǎng)絡(luò)或者Wi-Fi建立通信連接,在網(wǎng)絡(luò)覆蓋環(huán)境下,設(shè)置此通信模式即可。該網(wǎng)絡(luò)環(huán)境下,采用的通信協(xié)議為TCP 協(xié)議??紤]到該協(xié)議通信條件下容易出現(xiàn)數(shù)據(jù)傳輸堵塞問題,本系統(tǒng)設(shè)計(jì)方案利用ConcurrentHashMap 管理數(shù)據(jù),形成雙重循環(huán)隊(duì)列,從而提高數(shù)據(jù)傳輸效率。
3.2.5 地鐵變形數(shù)據(jù)解析
第1 步:從數(shù)據(jù)傳輸管道流中提取數(shù)據(jù)。
第2 步:設(shè)置數(shù)據(jù)類型長(zhǎng)度,按照此標(biāo)準(zhǔn),判斷當(dāng)前數(shù)據(jù)長(zhǎng)度是否小于標(biāo)準(zhǔn)長(zhǎng)度中最短數(shù)據(jù)類型長(zhǎng)度,如果小于最短長(zhǎng)度,則執(zhí)行第3 步,反之,返回第1 步。
第3 步:判斷當(dāng)前數(shù)據(jù)的消息類型是否已經(jīng)被定義,如果已經(jīng)定義,執(zhí)行第4 步,反之,丟棄一個(gè)字節(jié),返回第2 步。
第4 步:根據(jù)當(dāng)前數(shù)據(jù)類型獲取消息長(zhǎng)度。
第5 步:判斷數(shù)據(jù)長(zhǎng)度是否超出或者等于消息長(zhǎng)度,如果滿足條件,則執(zhí)行第6 步,反之,返回第1 步。
第6 步:根據(jù)消息,對(duì)ID 號(hào)進(jìn)行驗(yàn)證,并計(jì)算校驗(yàn)和。
第7 步:判斷ID 號(hào)、校驗(yàn)和是否正確,如果正確,則執(zhí)行第8 步,反之,丟棄一個(gè)字節(jié),返回第2 步。第8 步:解析生成一包數(shù)據(jù),并對(duì)這些數(shù)據(jù)加以存儲(chǔ)。第9 步:判斷是否還存在數(shù)據(jù)待解析,如果不存在,則結(jié)束解析線程,反之,返回第1 步。
按照上述方法,對(duì)現(xiàn)場(chǎng)采集到的數(shù)據(jù)加以解析,得到地鐵變形判斷數(shù)據(jù),綜合考慮各項(xiàng)參數(shù)數(shù)據(jù)數(shù)值是否超出標(biāo)準(zhǔn)范圍,如果未超出此范圍,則判斷地鐵當(dāng)前不存在變形問題。如果在危險(xiǎn)范圍內(nèi),則需要立即采取安全預(yù)防和修理措施,從而為地鐵安全作業(yè)提供一定保障。
(1)地鐵變形數(shù)據(jù)采樣準(zhǔn)確性測(cè)試。為了提高測(cè)試結(jié)果可靠性,本次測(cè)試隨機(jī)抽取6 個(gè)節(jié)點(diǎn),分別對(duì)這6 個(gè)節(jié)點(diǎn)的傳感器采樣數(shù)據(jù)進(jìn)行測(cè)量,并計(jì)算數(shù)據(jù)精度。如果監(jiān)測(cè)精度在98.5%以上,則認(rèn)為該系統(tǒng)監(jiān)測(cè)數(shù)據(jù)較為精準(zhǔn),可以作為地鐵變形監(jiān)測(cè)判斷依據(jù)。
(2)對(duì)地鐵變形監(jiān)測(cè)系統(tǒng)數(shù)據(jù)傳輸實(shí)時(shí)性測(cè)試。同樣設(shè)置6 個(gè)監(jiān)測(cè)節(jié)點(diǎn),對(duì)每一個(gè)節(jié)點(diǎn)的數(shù)據(jù)傳輸實(shí)時(shí)性進(jìn)行測(cè)試。本次測(cè)試以延遲時(shí)間作為判斷標(biāo)準(zhǔn),如果延遲時(shí)間低于0.3 s,則認(rèn)為該系統(tǒng)數(shù)據(jù)傳輸效率較高,滿足實(shí)時(shí)性要求。
按照系統(tǒng)架構(gòu)搭建系統(tǒng)作業(yè)環(huán)境,分別測(cè)量6 個(gè)節(jié)點(diǎn)的關(guān)鍵部位應(yīng)力、線形、接觸壓力、接觸位移數(shù)據(jù),與實(shí)際數(shù)據(jù)進(jìn)行對(duì)比,得到系統(tǒng)監(jiān)測(cè)精度,計(jì)算結(jié)果見表1。
表1 地鐵變形數(shù)據(jù)采樣準(zhǔn)確性測(cè)試
兩組測(cè)試結(jié)果顯示,本系統(tǒng)所有傳感器采集數(shù)據(jù)精度在99.2%以上,部分節(jié)點(diǎn)傳感器數(shù)據(jù)采集精度達(dá)到了100%,達(dá)到了數(shù)據(jù)精度標(biāo)準(zhǔn)。監(jiān)測(cè)系統(tǒng)數(shù)據(jù)傳輸實(shí)時(shí)性測(cè)試結(jié)果見表2。
表2 地鐵變形監(jiān)測(cè)系統(tǒng)數(shù)據(jù)傳輸實(shí)時(shí)性測(cè)試
兩組測(cè)試結(jié)果顯示,僅有節(jié)點(diǎn)1 線形監(jiān)測(cè)數(shù)據(jù)傳輸延遲達(dá)到0.2 s,其他節(jié)點(diǎn)各類型數(shù)據(jù)傳輸延遲均控制在0.1 s之內(nèi),在數(shù)據(jù)傳輸延遲允許范圍之內(nèi)。
本文圍繞地鐵變形監(jiān)測(cè)系統(tǒng)軟件設(shè)計(jì)展開探究,選取Android 平臺(tái)作為系統(tǒng)開發(fā)環(huán)境,利用STM32 系列單片機(jī)作為現(xiàn)場(chǎng)信息采集終端控制器,對(duì)傳感器作業(yè)狀態(tài)進(jìn)行控制,從而獲取地鐵變形數(shù)據(jù)信息,通過無線模塊傳輸數(shù)據(jù),利用手機(jī)接收數(shù)據(jù)。測(cè)試結(jié)果顯示,本系統(tǒng)支持無線數(shù)據(jù)傳輸,操作便捷,系統(tǒng)數(shù)據(jù)采集精度在99.2%以上,數(shù)據(jù)傳輸延遲在0.2 s 以內(nèi),符合系統(tǒng)開發(fā)需求。