• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Android平臺的車載導航系統(tǒng)的研究與設(shè)計

      2015-08-02 03:58:49符秋麗林吉達
      微型電腦應用 2015年1期
      關(guān)鍵詞:功能模塊導航系統(tǒng)車載

      符秋麗,林吉達

      基于Android平臺的車載導航系統(tǒng)的研究與設(shè)計

      符秋麗,林吉達

      為縮短嵌入式車載導航系統(tǒng)開發(fā)進程,提高系統(tǒng)維護和升級能力,研究了Android平臺的特點以及車載導航系統(tǒng)的性能需求,提出在andriod平臺基礎(chǔ)上,結(jié)合baidu map,設(shè)計一個基于Android平臺的車載導航終端系統(tǒng);實驗結(jié)果表明,該系統(tǒng)實現(xiàn)了車輛自我定位、地圖查詢、路徑規(guī)劃和導航;經(jīng)過嚴格測試,系統(tǒng)運行良好。

      Android平臺;GPS/北斗;Baidu Map;定位導航

      0 引言

      車載導航系統(tǒng)[1-3](簡稱VNS)通過將定位技術(shù)、地理信息系統(tǒng)、通訊技術(shù)以及嵌入式計算機技術(shù)結(jié)合在一起,為汽車用戶提供導航、地理信息及其他服務。隨著城市化的進展和汽車的普及,交通擁擠加劇,交通事故頻發(fā),交通環(huán)境惡化,這成為長期以來困擾發(fā)展中國家和發(fā)達國家的嚴重問題[4],因此,車載導航系統(tǒng)的需求就更加緊迫。

      由于嵌入式Linux[5]和java[6]構(gòu)成的Android系統(tǒng),其構(gòu)架和工作原理決定了它是目前最具有可移植性的移動設(shè)備操作系統(tǒng)[7],因此,本文在眾多嵌入式軟件中選擇Android操作系統(tǒng)作為車載導航系統(tǒng)終端軟件,利用GPS/北斗聯(lián)合功能模塊[8],結(jié)合百度地圖 API[9],設(shè)計和實現(xiàn)了一個車載導航軟件系統(tǒng),能給車輛提供最基本的定位和導航,并具備成本低、功耗小的特點,具有一定的市場推廣價值。

      1 Android平臺

      1.1 Android平臺介紹

      Android是Google于2007年宣布以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),該平臺由操作系統(tǒng)、中間件、用戶界面和應用軟件組成。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機。2005年由Google收購注資,并拉攏多家制造商組成開放手機聯(lián)盟開發(fā)改良,逐漸擴展到平板電腦及其他領(lǐng)域。Google重新設(shè)計了Java虛擬機和系統(tǒng),使Android的Java應用更接近于底層系統(tǒng),效率更高;另外使用虛擬機技術(shù)使Android的應用在被監(jiān)控情況下運行,安全性更高。它是一個對第三方軟件安全開放的平臺,代碼完全開源免費。Android的應用程序是用Java語言開發(fā)的,其編程語言完全開源免費。因此,利用Android操作系統(tǒng)作為車載導航終端的應用平臺,由于操作系統(tǒng)與軟件免費,導航終端更便宜;統(tǒng)一平臺克服格式問題,功能更多元;使用者決定功能,比個人電腦個人、更貼近消費者[10]。

      2 系統(tǒng)總體框架設(shè)計

      本系統(tǒng)通過GPS和北斗聯(lián)合定位系統(tǒng)進行導航,通過語音提示實現(xiàn)路徑引導;具有豐富的地理信息和查詢功能,通過百度電子地圖并配合Android系統(tǒng)軟件的API接口,具有不斷升級的地圖庫,按照用戶的需求進行各種信息查詢;真正實現(xiàn)一個體積小、功耗低、成本低并且人機界面友好的嵌入式操作系統(tǒng)平臺[11]。系統(tǒng)整體結(jié)構(gòu)框圖,如圖1所示:

      圖1車載導航終端整體架構(gòu)框圖

      利用 Android 操作系統(tǒng)在 ARM 硬件平臺上實現(xiàn)車載導航終端各功能模塊的整合。各模塊配合相應的軟件驅(qū)動,完成指定的功能,如對定位信息進行數(shù)據(jù)處理,計算所在位置的經(jīng)度、緯度、海拔、速度和時間等,并實時獲取定位的參數(shù)[12]。

      北斗/GPS定位信號的接收采用的是和芯通公司的UM220雙系統(tǒng)導航/授時模塊,能夠支持BD2 B1、GPS L1兩個頻點,其集成度高,功耗低,重量輕,體積小,非常適合北斗系統(tǒng)大規(guī)模應用的需求[13]。

      百度地圖 Android SDK是一套基于Android 2.1及以上版本設(shè)備的應用程序接口??梢允褂迷撎?SDK開發(fā)適用于Android系統(tǒng)移動設(shè)備的地圖應用,通過調(diào)用地圖SDK接口,可以輕松訪問百度地圖服務和數(shù)據(jù),構(gòu)建功能豐富、交互性強的地圖類引用程序。百度地圖Android SDK提供的所有服務是免費的,接口使用無次數(shù)限制[12]。

      3 系統(tǒng)軟件設(shè)計

      在車載導航系統(tǒng)軟件設(shè)計過程中,需要實現(xiàn)車載導航終端各功能模塊的整合。首先安裝Android系統(tǒng),運用eclipse關(guān)聯(lián)Android SDK,新建android應用項目,導入百度地圖開發(fā)包和加入SerialPort.java。此開發(fā)包是一套基于Android 2.1及以上版本設(shè)備的應用程序接口,可以使用該包開發(fā)適用于Android系統(tǒng)移動設(shè)備的地圖應用,通過調(diào)用地圖API,可以輕松訪問百度地圖服務和數(shù)據(jù)。本車載導航系統(tǒng)的主要功能模塊,如圖2所示:

      圖2 系統(tǒng)功能模塊圖

      4 主要功能模塊詳細設(shè)計

      4.1 查詢功能

      查詢功能包括周邊查詢和駕車路線查詢。周邊查詢可以是查詢當前位置附近的餐廳、加油站、旅游景點、酒店、超市等信息。系統(tǒng)可以根據(jù)用戶輸入的關(guān)鍵詞在周邊搜索,并將結(jié)果標記在地圖上。所用的函數(shù)是百度地圖提供的MKSearch函數(shù)。例如要搜索當前位置附近的餐廳,調(diào)用MKSearch.poiSearchInCity(editCity.getText( ).toString( ),editSearchKey.getText( ). toString( ))即可[12]。

      4.2 車輛自我定位功能實現(xiàn)

      車輛自我定位功能模塊就是將車輛當前地理位置信息顯示和標注在地圖界面上[11]。用 Android 提供的地理位置服務功能 API 去收集當前的位置[14]。在界面布局文件中,需要通過RockyGeo類中的String latitude、String longitude、char lat、char lon 4個變量保存經(jīng)緯度信息,為了在地圖上標出當前的所在位置,需要通過my Location Overlay類的set Data( )方法和my Map View.get Overlays( ).add( )方法在當前位置上標注,用泡泡顯示為當前的位置。程序的部分關(guān)鍵代碼如下:

      Public class MyLocationListenner implements

      BDLocationListener {

      public void onReceiveLocation(BDLocation location) {

      if (location == null)

      return;

      locData.latitude = location.getLatitude( );

      locData.longitude = location.getLongitude( );

      locData.accuracy = location.getRadius( );

      locData.direction = location.getDerect( );

      myLocationOverlay.setData(locData);

      mMapView.refresh( );

      if (isRequest || isFirstLoc) {

      Log.d("LocationOverlay", "receive location,

      animate to it");

      mMapController.animateTo(new GeoPoint(

      (int) (locData.latitude * 1e6),

      (int) (locData.longitude * 1e6)));

      isRequest = false;

      myLocationOver

      lay.setLocationMode(LocationMode.FOLLO

      WING); requestLocBut

      ton.setText("跟隨");

      mCurBtnType=E_BUTTON_TYPE.FOLLOW;

      }

      // 首次定位完成

      isFirstLoc = false;

      }

      public class locationOverlay extends MyLocatio

      nOverlay {

      public locationOverlay(MapView mapView)

      super(mapView);

      // TODO Auto-generated constructor stub

      }

      protected boolean dispatchTap( ) {

      // TODO Auto-generated method stub

      // 處理點擊事件,彈出泡泡

      popupText.setBackgroundResource-

      (R.drawable.popup);

      popupText.setText("我的位置");

      pop.showPopup(BMapUtil.getBitmapFrom

      View(popupText), new GeoPoint(

      (int) (locData.latitude * 1e6),

      (int) (locData.longitude * 1e6)), 8);

      圖6 導航顯示

      5 總結(jié)

      本文是在ARM[17]硬件平臺基礎(chǔ)上,結(jié)合Andorid系統(tǒng)和百度地圖API,設(shè)計和實現(xiàn)了一款車載導航終端系統(tǒng),經(jīng)過測試檢驗,系統(tǒng)運行穩(wěn)定可靠,完成了車輛自我定位,地圖查詢、路徑規(guī)劃和路徑導航等功能的實現(xiàn),滿足了市場上對車載導航的基本要求,具有一定的市場推廣價值。

      [1] 高超.車載導航系統(tǒng)的研究及其軟件設(shè)計[D]哈爾濱:哈爾濱工程大學,2004:10-38.

      [2] 陳明杰.車載定位導航系統(tǒng)的設(shè)計與實現(xiàn)[D].哈爾濱:哈爾濱工程大學, 2002: 10-14,36-44.

      [3] 張可.車輛導航系統(tǒng)關(guān)鍵技術(shù)研究[D].北京:北京工業(yè)大學,2001:6-7,29-43,115-148.

      [4] 李欣,俞斌.一種改進的地圖匹配技術(shù)在車載導航系統(tǒng)中的應用[J].電子測試,2008(5):60-65.

      [5] 張從力,劉洋,萬正道.基于嵌入式Linux車載導航系統(tǒng)的設(shè)計[J].佳木斯大學學報,2009,2(27):188-191.

      [6] 陳國君.Java程序設(shè)計基礎(chǔ)[D].北京:清華大學出版社,2013.

      [7] 馬越.Android的架構(gòu)與應用[D].北京:中國地質(zhì)大學,2008.

      [8] 沈貴元,李斌,王鐵英.基于CK-CORE處理器的導航SOC設(shè)計[J].無線電工程,2014,7(44):51-53.

      [9] 文斌,李代偉.基于Android的移動公交輔助導航系統(tǒng)設(shè)計與實現(xiàn)[J].成都信息工程學院學報,2012,5(27):437-442.

      [10] 農(nóng)麗萍,王力虎,黃一平.Android在嵌入式車載導航系統(tǒng)的應用研究[J].計算機工程與設(shè)計,2010,3(11):73-76.

      [11] 謝劍鋒,胡鋼,馬勝.基于Android技術(shù)的北斗/GPS車載導航系統(tǒng)設(shè)計[J].單片機與嵌入式系統(tǒng)應用,2013,13(10):76-79.

      [12] 肖文平,楊威.基于Android的車載導航系統(tǒng)的研究與設(shè)計[J].單片機與嵌入式系統(tǒng)應用,2012,12(4):67-70.

      [13] 李曉俠,彭楚武,易珂,黎職富.基于嵌入式 Linux 的車載定位系統(tǒng)設(shè)計[J].微計算機信息,2008,24(5-1):188-190.

      [14] 劉勝前,陳立定.基于Android平臺的車輛導航系統(tǒng)設(shè)計與實現(xiàn)[J].自動化與儀表,2012,10(4):1-4.

      [15] 應文健.自主車導航中提高目標行為預測能力的新方法[J].計算機測量與控制,2012,20(8):2048-2050.

      [16] 徐兵,廖友成,劉文杰.基于Android平臺的車載導航系統(tǒng)研究[J].計算機測量與控制.2014.22(2):601-603.

      [17] 陳浩,張敏.基于ARM的車載導航接收機應用軟件設(shè)計與實現(xiàn)[J].計算機測量與控制.2013.21(3):813-815.

      Research and Implementation of Vehicle’s Navigation System Based on the Android

      Fu Qiuli, Lin Jida
      (College of Computer and Electronic Information, Guangdong University of Petrochemical Technology, Maoming 525000,China)

      To shorten the development process of embedded vehicle navigation system, improve the maintenance of system and upgrading ability, this paper analyzes the characteristics of Android platform and the performance requirement of vehicle navigation system. Combined with Baidu Map, the paper designs a software system for vehicle’s navigation system based on the Android. The experiment result indicates that the system implements the vehicles’ self-positioning, map browsing, location searching and navigating. After strict test, the system runs well.

      Android Platform; GPS and Beidou; Baidu Map; Location Navigation

      TP316

      A

      2014.11.12)

      1007-757X(2015)01-0029-03

      茂名市科技計劃項目(2012B01036)

      符秋麗(1981 -),女,河南人,廣東石油化工學院,計算機與電子信息學院,講師,碩士,研究方向:嵌入式硬件架構(gòu),茂名,525000

      林吉達(1992 -),廣東人,廣東石油化工學院,計算機與電子信息學院,學生,茂名,525000

      猜你喜歡
      功能模塊導航系統(tǒng)車載
      說說“北斗導航系統(tǒng)”
      高速磁浮車載運行控制系統(tǒng)綜述
      “北斗”導航系統(tǒng)是怎樣煉成的
      一種GNSS/SINS容錯深組合導航系統(tǒng)設(shè)計
      智能互聯(lián)勢不可擋 車載存儲需求爆發(fā)
      解讀全球第四大導航系統(tǒng)
      基于ASP.NET標準的采購管理系統(tǒng)研究
      軟件導刊(2016年9期)2016-11-07 21:35:42
      輸電線路附著物測算系統(tǒng)測算功能模塊的研究
      M市石油裝備公服平臺網(wǎng)站主要功能模塊設(shè)計與實現(xiàn)
      石油知識(2016年2期)2016-02-28 16:20:16
      基于ZVS-PWM的車載隔離DC-DC的研究
      古丈县| 沙坪坝区| 隆昌县| 高台县| 巴彦淖尔市| 孟州市| 丰台区| 台州市| 兴宁市| 新泰市| 仲巴县| 昂仁县| 盐城市| 万荣县| 西乡县| 中宁县| 正宁县| 博罗县| 兰西县| 霍邱县| 温宿县| 玉树县| 客服| 兴海县| 花莲县| 宝鸡市| 布拖县| 大邑县| 车致| 湘潭县| 蕲春县| 九江县| 东辽县| 堆龙德庆县| 房产| 平邑县| 历史| 开原市| 昭觉县| 三江| 广宁县|