董 勇(東海航海保障中心福州航標處 福建福州 350005)
?
基于安卓系統(tǒng)航標巡檢現(xiàn)場核查APP研究
董 勇
(東海航海保障中心福州航標處 福建福州 350005)
摘要:針對航標遙測終端生產(chǎn)廠家之間的設備通信方式不同,通信鏈路不同,數(shù)據(jù)格式以及傳輸協(xié)議不同等問題,通過運用數(shù)據(jù)庫技術,融合網(wǎng)絡通信不同類型數(shù)據(jù),結合“互聯(lián)網(wǎng)+航標”的方向,設計一套基于安卓操作系統(tǒng)的手機APP應用,為基層一線航標工作人員能夠及時查看當前最新航標遙測終端的運行狀況提供便捷,同時較大程度提高工作效率。
關鍵詞:航標 巡檢 遙測 安卓 APP
近年來,隨著IALA標準的航標AIS ATON設備、北斗航標及GSM/GPRS遙測設備的安裝部署,給航標遠程監(jiān)管提供了極大便利。但由于不同航標遙測終端生產(chǎn)廠商之間的設備通信方式不同、通信鏈路不同,數(shù)據(jù)格式以及傳輸協(xié)議不同等問題,特別是在海上現(xiàn)場巡檢受氣象條件、工作時間等因素制約的影響,給航標遙測終端的現(xiàn)場巡檢核查帶來諸多不便。針對這些問題,從航標巡檢一線人員實際需求出發(fā),結合當前智能手機應用普及和“互聯(lián)網(wǎng)+航標”的理念,設計了一套基于安卓系統(tǒng)的航標巡檢現(xiàn)場核查APP系統(tǒng),擬通過手機APP客戶端,對燈塔、燈樁、燈浮、燈器、蓄電池電流電壓、航標遙測終端、航標AIS終端等運行狀況進行現(xiàn)場核實和檢查,從而避免了現(xiàn)有航標巡檢維護時,因更換或檢測每臺終端設備時都必須通過值班人員在系統(tǒng)平臺上核查確認反饋信息的現(xiàn)狀,且大大縮短了現(xiàn)場等待時間,彌補了航標巡檢現(xiàn)場沒有可驗證的工具和手段,減輕了一線航標人員的工作量,有效提高了工作效率,有力推進了航標信息化、科學化的進程,具有較高的現(xiàn)實性和應用價值。
航標是航行標志的簡稱,指標示航道方向、界限與礙航物的標志,包括過河標、沿岸標、導標、過渡導標、首尾導標、側面標、左右通航標、示位標、泛濫標和橋涵標等,是幫助引導船舶航行、定位和標示礙航物與表示警告的人工標志。
航標遠程遙測設備主要包括了:AIS航標、北斗航標、公共網(wǎng)絡遙測航標等所有具備發(fā)射功能的無線信號終端。其中AIS航標的主要目的是促進和加強船舶航行的安全,它所能提供的助航服務主要有:標示航道、障礙物和水中建筑物等,監(jiān)控航標的實時位置和運行狀態(tài),為過往船舶提供氣象、潮汐和海洋狀況數(shù)據(jù)等;北斗航標主要是通過北斗衛(wèi)星提供船舶在海洋上的定位信息;公共網(wǎng)絡遙測遙控航標主要功能是通過國內三大公眾網(wǎng)絡運營商提供的通信鏈路,將航標采集數(shù)據(jù)匯總到航標監(jiān)控指揮中心的數(shù)據(jù)庫中。
幾種遙測終端各有優(yōu)劣,AIS航標采用廣播方式,在能見度較低的天氣條件下,可以為周圍船舶提供準確的航標信息,但AIS航標受困于AIS基站覆蓋,通常通信距離較近,只適合安裝于港區(qū)范圍內的航標上;北斗航標采用衛(wèi)星通信,信號覆蓋范圍廣,但只能尋址通信且功耗較大,僅適合安裝于供電穩(wěn)定的遠海燈塔供指揮中心監(jiān)測使用;遙控遙測終端使用移動數(shù)據(jù)運營商網(wǎng)絡,也僅為尋址通信,優(yōu)點為只要有手機信號的海域都可用于遙測使用且功耗很低,同時可以通過短信方式召測,設置設備通信參數(shù),應用靈活方便。
多種通信模式終端的結合使用,使得航標遠程監(jiān)管達到各自發(fā)揮優(yōu)勢,互相彌補缺點的合理水平,方便航標管理部門指揮中心遠程監(jiān)管。
這款APP的設計采用了當前安卓智能手機主流的C/S模型架構,即客戶端(Client)和服務器端(Server)。本系統(tǒng)程序設計中,安卓手機APP為客戶端,航標監(jiān)控指揮中心服務器上運行的后臺程序為服務器端。該系統(tǒng)主要運用的技術包括:采用TCP/IP Scoket協(xié)議結合、Webservice數(shù)據(jù)融合的通信方式,并對各種類型遙測航標上傳的數(shù)據(jù)進行分類處理和數(shù)據(jù)解析,實現(xiàn)數(shù)據(jù)入庫,來實現(xiàn)手機客戶端和服務器之間的數(shù)據(jù)通信。
2.1系統(tǒng)架構設計結構
圖1 本程序架構設計方式
本系統(tǒng)在架構設計開發(fā)方式上采用的是MVC(Model View Controller)設計架構來設計本款APP。其中MVC分別是模型(model)-視圖(view)-控制器(controller)的縮寫。在本次設計中,數(shù)據(jù)庫為模型層,后臺的服務器程序為視圖層,安卓手機的客戶端程序為控制器。關于MVC的設計方式,大致描述如上圖1所示。
2.2系統(tǒng)技術特點
服務器多類型數(shù)據(jù)融合數(shù)據(jù)處理,AIS航標、北斗航標、遙測遙控航標及AIS基站等所有遙測航標數(shù)據(jù)的綜合數(shù)據(jù)處理、解碼及入庫;
具體涉及現(xiàn)實網(wǎng)絡機房部署中的系統(tǒng)網(wǎng)絡結構組成,如下圖2所示:
圖2 航標巡檢現(xiàn)場核查系統(tǒng)服務器網(wǎng)絡結構圖
服務器多種數(shù)據(jù)通信方式,采用TCP/IP協(xié)議、Webservice服務、Scoket、串口等多種數(shù)據(jù)通信接口,融合短信、套接字、xml語句等多種類型數(shù)據(jù)格式。
手機實時監(jiān)控及歷史數(shù)據(jù)分析,手機APP通過Webservice方式請求服務器推送所需要的實時及歷史數(shù)據(jù),在手機端進行分析,并用圖形直觀表示。
開發(fā)平臺: 服務器端開發(fā)平臺Visual Studio 2012、開發(fā)語言C++;手機APP端開發(fā)平臺Eclipse,開發(fā)語言java;采用TCP/IP Scoket協(xié)議結合Webservic數(shù)據(jù)融合的通信方式;AIS數(shù)據(jù)為國際電信聯(lián)盟ITU頒布的1371號協(xié)議,標準NMEA-0183語句,采用TCP/IP通信方式,需要專屬用戶名和密碼驗證;遙測數(shù)據(jù)服務器為自定義的協(xié)議語句,采用開放式TCP/IP通信方式和Webservice連接方式相結合。
2.3APP功能介紹
安卓手機APP端主要功能包括:基礎信息、新標搜索、數(shù)據(jù)升級和實時查詢等四個功能模塊:
基礎信息功能模塊主要內置了航標基礎信息,包括航標編號、航標名稱、基礎位置、燈質等,主要方便航標管理部門對航標基礎信息的快速查詢。
實時查詢模塊為該APP關鍵部分,主要是第一時間實時查詢到當前航標遙測終端上報的信息,核實上報時間、航標位置、電流電壓的時效性和準確性,并可以查詢近期歷史數(shù)據(jù)記錄,位置偏移情況和電流電壓變化曲線圖,功能示意如下圖3所示:
圖3 航標巡檢現(xiàn)場核查實時查詢功能示意圖
新標搜索模塊主要為基礎信息沒有更新的新設立航標遙測終端提供快速查詢接口。
數(shù)據(jù)升級模塊會在APP啟動前檢查當前APP程序版本號,提示用戶是否升級程序并更新航標基礎信息。
3.1網(wǎng)絡通信技術
網(wǎng)絡通信部分,服務器端我們采用了TCP/IP協(xié)議、Webservice服務、Scoket、串口等多種數(shù)據(jù)通信接口,融合短信、套接字、xml語句等多種類型數(shù)據(jù)格式。為實現(xiàn)服務器端的正常工作和滿足設計的需求,開發(fā)者專門開發(fā)了一款使服務器端程序,能夠對各種類型遙測航標上傳的數(shù)據(jù)進行分類處理和數(shù)據(jù)解析,并實現(xiàn)數(shù)據(jù)庫入庫。服務器端程序如下圖4所示:
圖4 航標巡檢現(xiàn)場核查系統(tǒng)服務器端程序
此服務器端程序有專門的AIS通道、北斗通道、航標遙測通道和短信通道。服務器端程序將不同通道中的數(shù)據(jù)進行如上所說的數(shù)據(jù)處理,解析和入庫操作。安卓手機APP端,通過WebService方式請求服務器推送所需的實時及歷史數(shù)據(jù),并在手機端進行分析和顯示的工作。
3.2數(shù)據(jù)庫操作技術
在數(shù)據(jù)庫技術中,主要是通過對數(shù)據(jù)庫進行查詢,分類搜索等數(shù)據(jù)庫的操作功能來得到歷史數(shù)據(jù),并運用安卓程序開發(fā)的技術將得到的數(shù)據(jù)進行圖形化的直觀顯示,在安卓客戶端中進行數(shù)據(jù)分析,解析和繪制,參見上圖4,App端的歷史數(shù)據(jù)查詢功能界面如下圖5所示:
基于安卓系統(tǒng)航標巡檢現(xiàn)場核查App的設計中,多種數(shù)據(jù)的通信和融合是一個難點。其中,AIS數(shù)據(jù)協(xié)議為國際標準的NMEA-0183語句;航標遙測終端大多數(shù)各廠商為自定義的協(xié)議語句,采用開放式TCP/IP通信方式或Webservice連接方式;同時該APP軟件兼容北斗航標的通信接口,北斗數(shù)據(jù)需要接入總參北斗衛(wèi)星導航系統(tǒng)地面站的數(shù)據(jù)服務中心,使用北斗系統(tǒng)國家標準。
本系統(tǒng)服務器端程序預留多路接口,可以提供明碼格式語句供其它系統(tǒng)使用,同時本系統(tǒng)服務器端預留長期存儲的數(shù)據(jù)庫接口以及基于手機APP電子海圖接口,為后期的應用擴展提供數(shù)據(jù)支持。
圖5 航標巡檢現(xiàn)場核查APP部分功能圖
參考文獻
[1]許健,余琳.航標遙測遙控系統(tǒng)在航道維護管理中的應用[J].水運管理,2011,33( 9) :34-35.
[2]李子福,彭國均,黃鵬飛.航標遙測遙控系統(tǒng)的優(yōu)化[J].集美大學學報: 自然科學版,2010,15(5):358-363.
[3]翟大昆.Android項目開發(fā)詳解[M].北京:機械工業(yè)出版社,2012.
[4]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2006.
[5]柯元旦.Android內部剖析[M].北京:電子工業(yè)出版社,2011.