羅磊,陶庭葉,賀祎侃,方嘉浩,趙琳鈺
(合肥工業大學 土木與水利工程學院,安徽 合肥 230009)
北斗導航系統是我國自主研發、獨立運行的全球衛星導航系統,現正從亞太地區的區域化服務逐步走向全球性導航服務。在國內,隨著北斗導航系統部署逐步完善,北斗軟硬件應用市場進一步擴大,北斗導航系統將向開放化、自主化、通用化和網絡化方向發展[1],智能北斗終端的研究將逐步成為熱點[2]。
隨著安卓移動端的廣泛使用,安卓系統已經占有移動終端的大部分市場份額,其具有的開放性使移動端在安裝相應的APP后便可以實現各種功能的擴展。安卓系統基于個性化的設置以及開放化的應用開發環境,在未來移動市場中將會獲得較為長遠的發展[3]。
現在國內對北斗應用的研究不斷與我們的生活貼近,有研究設計定位追蹤系統為老人和兒童等弱勢群體提供保護[4];有研究提出將北斗應用于可穿戴設備[5];有研究提出基于WiFi的北斗通訊網關及通訊系統[8]等。為實現數據的遠程監控記錄,本文基于安卓,設計并實現了一套具有藍牙、WiFi、GPRS多種數據傳輸方式的北斗導航定位軟硬件系統。
系統主要分為硬件模塊、服務器和移動控制端三部分。移動控制端使用安卓手機進行操控,擺脫了專用PDA的限制,攜帶更便捷,使用更方便。通訊部分采用藍牙、WiFi、4G網絡等無線通訊,實現不同距離的實時無線通訊、監控、記錄。系統總體框架如圖1所示。

圖1 系統總框架
硬件系統框架如圖2所示,由北斗接收器、藍牙、WiFi、GPRS、電源模塊等組成。北斗模塊負責接收、調解和處理衛星發來的定位信息,通過Bluetooth、WiFi、GPRS等三種通訊進行數據傳輸。硬件自主設計制作,實現了衛星接收機基本功能,拓展傳統儀器的通訊方式,如圖3所示。

圖2 硬件系統框架

圖3 硬件實體圖
(1)北斗模塊
北斗接收器采用北天BD/GPS雙模的BN-280模塊,芯片為u-blox U8,輸出數據格式遵循NMEA-0183協議。北斗模塊多頻段接收數據,通過使用BD/GPS雙模提高定位精度[6]。水平定位精度優于 2 m。該模塊集北斗天線與處理模塊于一體,具有體積小,功耗低、支持熱啟動等特點。
(2)數據發送模塊
數據發送模塊,通過藍牙、WiFi、GPRS等方式將北斗模塊的定位數據實時發送,同時也可以接收外部指令來控制北斗硬件的工作方式。藍牙模塊使用HC05,實現短距離(10 m)無線通訊,藍牙通訊方式穩定,傳輸效率高。WiFi采用USR-WiFi232-T模塊,實現短中距離(100 m以內)通訊,也可以通過無線路由上傳服務器。基于WiFi的北斗導航具有很高的應用價值和廣闊的應用前景[7~9]。GPRS模塊采用USR-GPRS232-7S3嵌入式GPRS模塊,具有4G數據透傳、短信透傳、基站定位等多種功能。GPRS模塊配合后臺服務器實現遠距離云端監控,使數據監控不受距離限制。
(1)功能設計
系統使用4G網絡進行數據通訊時,需要使用服務器作為數據中轉,調控數據流向,進行數據監控。本系統以Socket通訊為基礎,實現多用戶登錄、通訊通道搭建、數據存儲等功能。移動控制端與儀器通過服務器可以實現一對一、一對多、多對一等多種通訊。
(2)內網透傳
當通過自動撥號或聯接路由器等常用方式上網時,IP地址不固定。而服務器需要使用固定IP進行長時間在線服務。針對此問題,本系統使用花生殼軟件,它具有內網與公網雙向透傳,自動IP保持,端口映射等功能。該軟件可以實現對外域名和端口固定,且與內網動態IP實時跟蹤透傳,從而實現我們的功能需求。

圖4 服務器軟件
本系統監控控制軟件基于安卓系統開發,用戶可直接使用自己的安卓移動設備(手機、平板等)進行監控,避免了傳統測繪儀器需要購買專用PDA的弊端。并且可以根據不同應用場景需求,進行軟件程序開發,使系統具有較強的可拓展性。
移動控制軟件分為:基礎模塊,民用模塊和工程應用模塊三部分?;A模塊分為數據通訊、數據處理、數據管理和存儲等功能,實現基礎的數據管理。民用模塊利用百度地圖API進行地圖顯示、路徑規劃等應用,滿足日常場景需求。工程應用模塊主要面向一般精度測量工作,分為工程管理、單點采集、差分放樣、數據管理等模塊,解決一些測量儀器高端低用的現狀。框架模型如圖5所示。

圖5 Android移動端軟件框架
(1)數據通訊
數據通訊模塊是整個軟件的基石,用于傳輸基礎定位數據。數據通訊分為三種方式:藍牙通訊、WiFi通訊和GPRS通訊。兩臺設備建立藍牙通訊,必須滿足服務器端和客戶端的機制。服務器端打開Server Socket,客戶端發起鏈接請求,當兩端在同一個RFCOMM信道上時,才可建立通訊通道,每個設備可獲得一個輸入輸出流進行數據傳輸。WiFi通訊有兩種工作模式:AP和STA。AP模式即無線接入點,做無線網絡的中心節點。STA模式即無線站點,是一個無線網絡的終端。GPRS通訊需要服務器的域名(或IP)和端口,進行通訊連接。以上三種方式同是基于Socket進行通訊,Android系統提供豐富的接口函數,使用比較方便。
在進行差分定位時,一般采用GPRS通訊方式。通過服務器,將移動控制端與儀器建立一對一或一對多的多種通訊通道,將定位信息進行儀器編碼標識,標定不同儀器定位數據。在移動控制端通過數據解碼解析區分不同儀器,設定基準站和流動站,進而進行差分定位。
(2)數據處理
數據通訊獲取的定位數據遵循NMEA-0183格式,是導航設備統一的RTCM標準協議。其采用ASCII編碼,語句標識符有BD(北斗)、GP(GPS)、GN(GNSS)等,輸出語句的格式符有定位信息(GGA)、PRN數據(GSA)、衛星狀態信息(GSV)、速度信息(VTG)、坐標信息(GLL)、運輸定位數據(RMC)等多種信息,以滿足不同場景需求[10]。
許多有關測量工程實踐中,經常要用到各種坐標系轉換,坐標系轉換匹配是測量工作進行的前提。本系統中設計實現了同一橢球下大地經緯度和空間直角坐標系的相互轉換,不同橢球下大地經緯度之間的相互轉換以及常用的投影算法——高斯正反算。系統使用的橢球包含了4種常用的橢球,克拉索夫斯基橢球、1975國際橢球、WGS84橢球、CGCS2000橢球。同時,程序設計具有較強的可拓展性,可以很方便地加入新橢球,滿足不同工程應用的需求。
(3)地圖顯示
本文采用百度地圖的在線地圖作為基礎底圖,并使用百度地圖API接口,進行導航、路徑規劃等功能應用實現,滿足日常生活需求。使用百度地圖進行開發,首先在百度地圖API網站申請密鑰(KEY),并下載相應的SDK導入到應用中,然后在應用中進行配置相關密鑰,進行權限申請等工作。
本文設計并實現了一種基于安卓的北斗導航定位系統,輔以藍牙、WiFi、GPRS等多種通訊方式,實現實時監控的功能,使得定位與監控擺脫了空間的束縛。在硬件上,本系統使用的安卓移動端設備進行監控,提供了更加靈活的測量手段,具有成本低、實用性強、便攜等優點。經測試,本系統可以精確定位,實時監控,各項性能表現良好,可以廣泛應用于民用導航定位和一般精度的測量工作。在未來的研究中,將研究利用高精度定位硬件與本系統硬件相連接,使本系統也可以進行高精度的遠程監控測量工作。
[1] 陳洪卿. 北斗系統與中國PNT應用平臺[J]. 電子測量與儀器學報,2010,24(12):1075~1078.
[2] 路振民,繆峰,符慶森等. 基于AM335X和Android的北斗二代接收機設計[J]. 國外電子測量技術,2015(35):82~86.
[3] 嚴偉中. 安卓系統手機應用的趨勢研究[J]. 信息安全與技術,2014(5):11~13.
[4] 張怡,李辰,王喜斌等. 基于安卓平臺的智能定位追蹤系統研究[J]. 電視技術,2016,40(4):48~51.
[5] 吳麗淳,樊爽. 基于安卓平臺的手機定位軟件開發[J]. 計算機與現代化,2014(9):95~98.
[6] 陳浩,許長輝,高井祥等. BDS、GPS及其組合系統偽距單點定位精度分析[J]. 山東科技大學學報,2015(2):72~78.
[7] 陳巧萍,林長川. 基于WI-FI的北斗衛星導航客戶端關鍵技術[J]. 集美大學學報·自然科學版,2016,21(2):115~119.
[8] 張毅. A Wi-Fi Compass based communication gateways and communication [P]. 中國,CN203675339. 2014-06-25.
[9] 李茂源,王直杰,馬琳等. 基于WiFi和北斗衛星導航系統的災后應急基站[J]. 電子科技,2014,27(12):81~89.
[10] 韋江華,張晴,秦文東等. 基于飛思卡爾平臺的北斗GPS定位系統設計[J]. 中國市場,2016(6):65~67.