鄭嘉明,蘇凱雄
?。ǜV荽髮W 物理和信息工程學院,福建 福州 350002)
摘要:針對大型工程機械設(shè)備智能化的趨勢,緊密結(jié)合現(xiàn)代化大型工程機械設(shè)備的需求現(xiàn)狀,基于Android系統(tǒng)設(shè)計了一套工程機械手持數(shù)據(jù)采集分析軟件。通過WiFi接收下位機采集的數(shù)據(jù),在Android終端以圖形文本等多種形式顯示數(shù)據(jù)并將數(shù)據(jù)保存在本地。該設(shè)計旨在為手持式、便攜式的工程數(shù)據(jù)采集終端與數(shù)據(jù)分析軟件的開發(fā)提出一種新的解決方案。
關(guān)鍵詞:工程機械;手持式;Android;數(shù)據(jù)采集
中圖分類號:TP316文獻標識碼:ADOI: 10.19358/j.issn.1674-7720.2017.03.029
引用格式:鄭嘉明,蘇凱雄.基于Android手持數(shù)據(jù)采集分析軟件的設(shè)計[J].微型機與應(yīng)用,2017,36(3):99-102.
0引言
傳統(tǒng)工程機械工作狀態(tài)監(jiān)控系統(tǒng),具有體積龐大、價格昂貴、攜帶不易、操作困難和難以勝任野外惡劣工作場合的特點。因此隨著當前科學技術(shù)的飛速發(fā)展,緊跟當前電子技術(shù)發(fā)展的形勢,開發(fā)低成本、高性能的手持便攜式工程機械數(shù)據(jù)采集與分析系統(tǒng)具有重要的意義。本文旨在為手持式、便攜式的工程數(shù)據(jù)采集與終端顯示分析軟件的設(shè)計提供一種新的解決方案[1]。
本文緊密結(jié)合現(xiàn)代化的大型工程機械設(shè)備的需求現(xiàn)狀,以裝載機為研究對象,采用模塊化和模型視圖控制器(ModelViewController,MVC)的設(shè)計思想[2],設(shè)計了基于Android平臺的工程機械手持數(shù)據(jù)采集分析軟件,采用WiFi技術(shù)將工程機械的運行狀態(tài)參數(shù)發(fā)送到Android手機或者Android平板電腦上,在Android系統(tǒng)上開發(fā)一套應(yīng)用程序?qū)⑦@些信息以文本或者圖形的方式呈現(xiàn)給工程機械設(shè)備的維護人員。相比于傳統(tǒng)的手段,以往的數(shù)據(jù)采集終端因受系統(tǒng)軟件的條件限制,無法實現(xiàn)強大的數(shù)據(jù)分析處理功能和強大的圖形處理功能,本文基于Android系統(tǒng)提供的強大的數(shù)據(jù)處理能力和圖形顯示能力[3],實現(xiàn)遠程數(shù)據(jù)的接收、分析、處理和存儲,并以多種圖形形式將數(shù)據(jù)呈現(xiàn)給用戶。并充分將維護人員的移動終端作為維護工具,不僅操作簡單、易于攜帶而且降低了成本。
1軟件的總體設(shè)計
本文以裝載機為研究對象,設(shè)計出一套基于Android系統(tǒng)平臺的遠程數(shù)據(jù)采集與終端數(shù)據(jù)分析軟件,提高裝載機試驗數(shù)據(jù)采集的精準性和靈活性,方便試驗人員的操作以及不同試驗項目的資源優(yōu)化配置。并以此為契機,將其應(yīng)用于工程機械領(lǐng)域其他工程機械設(shè)備。所設(shè)計的數(shù)據(jù)采集與診斷分析軟件具有如下特點:
(1)通過WiFi接收下位機上傳的數(shù)據(jù),最大支持16通道數(shù)據(jù)采集,可實現(xiàn)壓力、溫度、流量等多種類型數(shù)據(jù)的采集與分析,各通道的工作參數(shù)可獨立配置;
(2)能以波形及文本的方式實現(xiàn)采集結(jié)果的基本數(shù)據(jù)分析;
(3)采用文本文件格式實現(xiàn)采集結(jié)果的數(shù)據(jù)存儲。
本文設(shè)計的Android應(yīng)用程序主要實現(xiàn)兩個功能:實時數(shù)據(jù)顯示和回放數(shù)據(jù)顯示,具體由8個功能子模塊來實現(xiàn)。其中有5個界面顯示模塊:服務(wù)器IP地址設(shè)定模塊、實時數(shù)據(jù)顯示模塊、系統(tǒng)配置文件修改模塊、選擇回放文件模塊和回放數(shù)據(jù)顯示模塊。3個后臺服務(wù)模塊:WiFi網(wǎng)絡(luò)數(shù)據(jù)接收模塊、數(shù)據(jù)保存與數(shù)據(jù)加載模塊和本地文件操作模塊。
軟件總體架構(gòu)以及各個子模塊之間的關(guān)聯(lián)如圖1所示。
2軟件功能子模塊的設(shè)計與實現(xiàn)
本設(shè)計的界面顯示功能子模塊是基于模型視圖控圖3實時數(shù)據(jù)顯示模塊的MVC架構(gòu)制器(ModelViewController,MVC)的架構(gòu)模式進行設(shè)計。模型層工作在后臺,存儲著該應(yīng)用的基本數(shù)據(jù);控制層在模型層與視圖層之間運轉(zhuǎn),是視圖與模型對象的聯(lián)系紐帶,管理著模型層與視圖層之間的數(shù)據(jù)傳遞,同時還被設(shè)計為響應(yīng)由視圖層觸發(fā)的各種事件。視圖層工作在前臺,提供人機交互、管理屏幕上顯示視圖的繪制以及響應(yīng)用戶的輸入等[4]。
下面對各個界面顯示功能子模塊的MVC架構(gòu)和各個后臺服務(wù)功能子模塊的框架進行詳細說明。
2.1服務(wù)器IP地址設(shè)定模塊
服務(wù)器IP地址設(shè)定模塊的MVC架構(gòu)如圖2所示。該界面是所有界面中最簡單的一個界面,只包含一個Activity的子類LoginActivity。因為該模塊較為簡單,固不需要模型層。LoginActivity作為控制層,布局文件中的控件TextView、EditText和Button作為視圖層。
2.2實時數(shù)據(jù)顯示模塊
實時數(shù)據(jù)顯示模塊的MVC架構(gòu)如圖3所示。該模塊是所有功能子模塊中最為復(fù)雜的一個。
模型層包含兩個自定義類,一個是DateCh類, 其為接收數(shù)據(jù)的模型類;另一個是SysCh類,其為系統(tǒng)配置文件的模型類。
控制層包含兩個類,一個是Activity的子類MainActivity,另一個是Fragment的子類MainFragment。這時的控制層引入Fragment進行應(yīng)用的UI管理,是為了繞開Android系統(tǒng)對Activity的規(guī)則限制。
2.3系統(tǒng)配置文件修改模塊
系統(tǒng)配置文件修改模塊的MVC架構(gòu)如圖4所示。該模塊主要實現(xiàn)查看和修改系統(tǒng)配置文件的功能。系統(tǒng)配置文件主要用于采集終端16個通道所對應(yīng)的配置信息。
2.4選擇回放文件模塊
選擇回放文件模塊的MVC架構(gòu)如圖5所示。該模塊主要實現(xiàn)查看回放文件的目錄和選擇回放文件的功能。數(shù)據(jù)文件保存在分級式目錄,不同時間段接收的數(shù)據(jù)分別存在不同的文件夾中,文件夾名稱為最后一個數(shù)據(jù)接收的時間。每個文件夾中16個通道采集的數(shù)據(jù)也分成各自的文本保存。
選擇回放文件模塊包含兩個Activity的子類SelectFloderActivity類和SelectFileActivity類。兩個類各自負責一個用戶界面。
2.5回放數(shù)據(jù)顯示模塊
回放數(shù)據(jù)顯示模塊的MVC架構(gòu)如圖6所示。該模塊主要實現(xiàn)回放接收數(shù)據(jù),以波形的方式顯示出來,并能通過觸控的方式縮放平移圖形。
2.6數(shù)據(jù)保存和數(shù)據(jù)加載模塊
數(shù)據(jù)保存與數(shù)據(jù)加載模塊的框架如圖7所示。本模塊服務(wù)于接收數(shù)據(jù)的保存和系統(tǒng)配置文件信息的保存加載。數(shù)據(jù)保存的格式是JSON(JavaScript Object Notation)格式,JSON是一種輕量級的數(shù)據(jù)交換格式,不僅易于機器解析和生成,而且在網(wǎng)絡(luò)中的傳輸速度快,同時也易于閱讀和編寫。JSON格式是如今比較流行的一種數(shù)據(jù)交換格式。
數(shù)據(jù)保存與數(shù)據(jù)加載模塊的底層庫使用Android SDK內(nèi)置的標準org.json類包、java.io類包和android.text.format.Time類。java.io類包可以用來通過數(shù)據(jù)流、序列化和文件系統(tǒng)提供系統(tǒng)輸入和輸出。org.json類包可以用來創(chuàng)建和解析JSON文件。android.text.format.Time類可以提供以秒為精確度的時間。
2.7WiFi網(wǎng)絡(luò)數(shù)據(jù)接收模塊
WiFi網(wǎng)絡(luò)數(shù)據(jù)接收模塊的框架如圖8所示。本模塊用于連接遠程WiFi從下位機接收采集數(shù)據(jù),并校驗數(shù)據(jù)。
WiFi網(wǎng)絡(luò)數(shù)據(jù)接收模塊的底層庫使用Android SDK內(nèi)置的標準java.io類包和java.net.Socket類包。java.io類包可以用來通過數(shù)據(jù)流、序列化和文件系統(tǒng)提供系統(tǒng)輸入和輸出。java.net.Socket類包提供了客戶端TCP的套接字。
2.8本地文件操作模塊
本地文件操作模塊的框架如圖9所示。本模塊主要實現(xiàn)讀取文件目錄的功能。
本地文件操作模塊的底層庫使用Android SDK內(nèi)置的標準java.io.File類包和android.os.Environment類包。java.io.File類包提供了文件讀寫的功能,android.os.Environment類包提供了訪問外部環(huán)境變量的功能。
3設(shè)計界面與測試結(jié)果
(1)服務(wù)器IP地址設(shè)定界面
打開軟件,首先出現(xiàn)的用戶界面是服務(wù)器IP地址設(shè)定界面,輸入正確的服務(wù)器IP地址和相應(yīng)的端口號后,點擊連接按鈕,跳轉(zhuǎn)到實時數(shù)據(jù)顯示界面,否則點擊退出按鈕,退出軟件。
(2)實時數(shù)據(jù)顯示界面
實時數(shù)據(jù)顯示界面如圖10,需要多個后臺服務(wù)模塊支持。其中包括需要WiFi網(wǎng)絡(luò)數(shù)據(jù)接收模塊通過WiFi網(wǎng)絡(luò)連接上采集終端服務(wù)器,接收該終端采集的數(shù)據(jù);需要通信協(xié)議服務(wù)模塊通過雙方約定的通信協(xié)議校驗接收數(shù)據(jù)的正確性;需要數(shù)據(jù)保存與數(shù)據(jù)加載模塊從本地加載系統(tǒng)配置文件并對接收的數(shù)據(jù)進行配置;需要數(shù)據(jù)保存與數(shù)據(jù)加載模塊將數(shù)據(jù)保存在本地的外部SD卡文件中;最后需要本模塊中的圖形顯示功能將數(shù)據(jù)以多種形式顯示出來。在實時數(shù)據(jù)顯示界面中,也可以選擇進入系統(tǒng)配置文件修改界面和選擇回放文件界面,或者退出軟件。
(3)系統(tǒng)配置文件修改界面
系統(tǒng)配置文件修改界面如圖11。數(shù)據(jù)保存與數(shù)據(jù)加載模塊將系統(tǒng)配置文件加載出來,然后即可進行手動修改。點擊保存按鈕,通過數(shù)據(jù)保存與數(shù)據(jù)加載模塊用修改后的系統(tǒng)配置文件覆蓋原本的系統(tǒng)配置文件并保存到本地文件中。點擊返回按鈕,回到實時數(shù)據(jù)顯示界面。
(4)選擇回放文件界面
選擇回放文件界面如圖12。本地文件操作模塊將采集數(shù)據(jù)保存的文件目錄讀取出來,并以列表的形式進行顯示,點擊列表項進入回放數(shù)據(jù)顯示模塊,或者點擊返回,回到實時數(shù)據(jù)顯示界面。
(5)回放數(shù)據(jù)顯示界面
回放數(shù)據(jù)顯示界面如圖13。數(shù)據(jù)保存與數(shù)據(jù)加載模塊將采集數(shù)據(jù)從本地文件加載出來,以圖形的形式進行顯示,并且可以通過觸控方式更詳細地查看采集的數(shù)據(jù)。點擊返回,回到選擇回放文件界面。
4結(jié)論
本軟件設(shè)計基于Android系統(tǒng),實現(xiàn)了通過連接遠程WiFi,接收下位機采集的工程機械設(shè)備工作狀態(tài)數(shù)據(jù),并將數(shù)據(jù)以圖形、文本等多種形式顯示在用戶界面,用戶可以通過該軟件遠程控制工程機械設(shè)備的啟動和停止,接收的數(shù)據(jù)也可以保存于本地方便以后回放,還可以保存在SD卡上,方便拷貝到其他終端進行查看。本軟件目前已應(yīng)用于大型工程機械設(shè)備實時監(jiān)控系統(tǒng)中,運行狀態(tài)良好,未出現(xiàn)明顯漏洞和問題。
參考文獻
?。?] 董拴牢, 劉漢光, 陸永能,等. 數(shù)據(jù)采集分析系統(tǒng)在裝載機壓力測試中的應(yīng)用[J]. 工程機械,2006,37(10):60-62.
?。?] ZHOU Q, SUN J. Study on an intelligent monitoring application system of construction machinery[C]. Second International Symposium on Knowledge Acquisition & Modeling, 2009:249-252.
?。?] 耿東久, 索岳, 陳渝,等. 基于Android手機的遠程訪問和控制系統(tǒng)[J]. 計算機應(yīng)用, 2011, 31(2):559-561.
?。?] 文松, 王太勇, 張慶華,等. 一種多通道高速數(shù)據(jù)采集與實時分析系統(tǒng)的研究[C].全國振動技術(shù)及工程應(yīng)用學術(shù)會議, 2000:2-3.