《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > GPS定位數(shù)據(jù)的提取與存儲系統(tǒng)的設計
GPS定位數(shù)據(jù)的提取與存儲系統(tǒng)的設計
2016年微型機與應用第11期
鮑萍萍,陳光,王朋,王鵬輝
(東華大學 信息科學與技術學院 上海 201620)
摘要: 針對傳統(tǒng)的在VC++平臺上實現(xiàn)的GPS定位數(shù)據(jù)的提取與存儲系統(tǒng)已經(jīng)不能滿足系統(tǒng)的實時性和可靠性等需求,以及軟件方面存在擴展性、兼容性、移植性差等問題,運用GPS定位技術、多線程串口通信處理技術和數(shù)據(jù)庫存儲訪問技術,應用Java語言編寫,在Eclipse開發(fā)工具上設計并實現(xiàn)了一套GPS定位數(shù)據(jù)的實時提取與存儲系統(tǒng)。測試結(jié)果表明,該系統(tǒng)運行穩(wěn)定,實驗數(shù)據(jù)有效可靠,達到了預期的目標。
Abstract:
Key words :

  鮑萍萍,陳光,王朋,王鵬輝

 ?。|華大學 信息科學與技術學院 上海 201620)

  摘要:針對傳統(tǒng)的在VC++平臺上實現(xiàn)的GPS定位數(shù)據(jù)的提取與存儲系統(tǒng)已經(jīng)不能滿足系統(tǒng)的實時性和可靠性等需求,以及軟件方面存在擴展性、兼容性、移植性差等問題,運用GPS定位技術、多線程串口通信處理技術和數(shù)據(jù)庫存儲訪問技術,應用Java語言編寫,在Eclipse開發(fā)工具上設計并實現(xiàn)了一套GPS定位數(shù)據(jù)的實時提取與存儲系統(tǒng)。測試結(jié)果表明,該系統(tǒng)運行穩(wěn)定,實驗數(shù)據(jù)有效可靠,達到了預期的目標。

  關鍵詞:GPS;多線程;串口通信;數(shù)據(jù)存儲;Java

0引言

  隨著衛(wèi)星導航定位技術的發(fā)展,全球衛(wèi)星定位系統(tǒng)(Global Position System,GPS)成為目前最為常用的一種導航定位系統(tǒng),其全方位、全天候、全時段、高精度等特點使得GPS的應用遙遙領先。其原理是用戶通過GPS接收機接收衛(wèi)星信號,結(jié)合地理信息系統(tǒng)對信號進行處理,從而獲得用戶所需的經(jīng)緯度、速度等信息,最終實現(xiàn)導航和定位 [1]。而GPS接收機中的數(shù)據(jù)提取與存儲是GPS定位中的重要組成部分。

  目前,GPS定位數(shù)據(jù)處理系統(tǒng)大多數(shù)在VC++平臺上實現(xiàn),其擴展性、移植性、兼容性差。為改善其性能,2003年王緩緩等人[2]對GPS定位數(shù)據(jù)進行提取,增強了系統(tǒng)的擴展性和兼容性,但仍然存在數(shù)據(jù)不能實時接收、同步處理及存儲等問題。2006年李新源等人基于Java語言的GPS接收機的串口通信程序設計[3],整個系統(tǒng)結(jié)構雖然較為清晰,但其只是實現(xiàn)了GPS數(shù)據(jù)的提取,對數(shù)據(jù)的存儲并未研究。

  為改善已有GPS定位數(shù)據(jù)的提取與存儲功能,有效提高數(shù)據(jù)的可靠性和實時性等要求,本文基于Java的跨平臺性、開放性與面向?qū)ο蟮忍攸c[3],運用GPS定位技術、多線程串口通信編程技術和數(shù)據(jù)庫存儲技術,設計了一套GPS定位數(shù)據(jù)的提取與存儲系統(tǒng)。該系統(tǒng)能實時地接收、處理和存儲GPS數(shù)據(jù)。

1系統(tǒng)組成

001.jpg

  GPS定位數(shù)據(jù)的提取與存儲系統(tǒng)主要包括GPS串口通信和GPS數(shù)據(jù)存儲兩部分,其結(jié)構圖如圖1所示。圖1系統(tǒng)架構圖其中,GPS串口通信部分主要實現(xiàn)多線程編程、串口的打開、串口數(shù)據(jù)的接收、提取處理與串口的關閉等操作;GPS數(shù)據(jù)存儲部分實現(xiàn)將提取處理后的數(shù)據(jù)保存在MySQL數(shù)據(jù)庫中 [24]。

2GPS串口通信

  傳統(tǒng)的用Java實現(xiàn)串口通信通常采用串口API,它以獨立jar包的方式提供一個標準擴展[5]。此系統(tǒng)中,采用串口和并口通信的開源Java類庫RXTX,其提供了多操作系統(tǒng)下的兼容javax.comm串口通信包API的實現(xiàn)。在Windows操作系統(tǒng)下,包含3個文件:RXTXcomm.jar、rxtxParallel.dll和rxtxSerial.dll,其提圖2串口通信流程圖供了通信用的Java API及相應的驅(qū)動類接口。系統(tǒng)在串口通信前,必須對串口驅(qū)動程序裝載。其串口操作流程圖如圖2所示[6]。

002.jpg

  2.1多線程技術

  對串口進行操作的過程中,為提高CPU的使用效率,系統(tǒng)采用了多線程處理技術,很好地滿足了多任務和實時性的需求[78]。

  Java有兩種實現(xiàn)多線程的方式:一是創(chuàng)建一個類繼承Thread類,并重寫run()方法;二是實現(xiàn)Runnable接口。本文采用繼承Thread類的方式實現(xiàn)多線程,主要涉及串口數(shù)據(jù)接收線程、數(shù)據(jù)提取處理線程、數(shù)據(jù)存儲線程,系統(tǒng)的關鍵是處理好線程之間的同步、安全和死鎖[78]。

  2.2多線程串口通信

  (1)串口數(shù)據(jù)接收

  在對GPS串口數(shù)據(jù)接收之前,必須明確GPS接收機的數(shù)據(jù)接收格式[24]。GPS接收機遵守NEMA0183標準協(xié)議,該協(xié)議內(nèi)容包含GPS定位的經(jīng)緯度、速度、日期時間、地面航向、衛(wèi)星狀況、磁偏角等信息。本系統(tǒng)中,使用NEMA0183協(xié)議中的“MYMGPRMC”幀格式進行數(shù)據(jù)的提取處理。

  在進行數(shù)據(jù)接收前,首先打開串口并進行參數(shù)設置。然后,調(diào)用數(shù)據(jù)接收線程中的類實例方法對串口數(shù)據(jù)進行接收。為保證數(shù)據(jù)的可靠性和實時性,系統(tǒng)中設置了串口事件監(jiān)聽器。其部分關鍵代碼如下,數(shù)據(jù)接收結(jié)果圖如圖3所示。

003.jpg

 ?。?)串口數(shù)據(jù)提取處理

  在成功接收GPS數(shù)據(jù)串后,要對其解析,轉(zhuǎn)化成相應的格式。其思路如下:首先,判斷數(shù)據(jù)串中是否含有“MYMGPRMC”數(shù)據(jù),若存在,則截取MYMGPRMC包含的70 B數(shù)據(jù);其次,對MYMGPRMC包含的GPS定位信息進行提??;最后,對數(shù)據(jù)作進一步的處理運算并保存在GpsData對象中,提高了代碼的健壯性。為了簡化問題,本文只提取出日期時間、經(jīng)緯度、狀態(tài)、速度信息[9]。其部分關鍵代碼如下所示[2],數(shù)據(jù)提取處理圖如圖4、圖5所示。

  

004.jpg

005.jpg

3數(shù)據(jù)庫存儲

  對GPS定位數(shù)據(jù)進行提取處理后,需要將數(shù)據(jù)保存在數(shù)據(jù)庫中,方便后期的使用。本設計將GPS定位數(shù)據(jù)存儲部分作為后臺數(shù)據(jù)庫,不僅作為定位數(shù)據(jù)的容器,同時還可以隨時隨地地訪問數(shù)據(jù)庫與進行增、刪、改、查等操作[4]。

  在本系統(tǒng)中,將靈活可靠的MySQL作為后臺數(shù)據(jù)庫,應用JDBC技術連接數(shù)據(jù)庫。下面從數(shù)據(jù)庫的配置設計、存儲和互聯(lián)來實現(xiàn)高效可靠的數(shù)據(jù)存儲。

  3.1數(shù)據(jù)庫的配置與數(shù)據(jù)表的設計

  對MySQL數(shù)據(jù)庫操作前,需要對其配置。配置信息封裝在dbconfig.properties配置文件中,如圖6所示。

  

006.jpg

  本系統(tǒng)采用JDBC方式連接數(shù)據(jù)庫,在MySQL中,需要新建一個數(shù)據(jù)庫命名為mydb1,并添加一張數(shù)據(jù)表gpsdata用于存儲GPS定位數(shù)據(jù)。數(shù)據(jù)表的列分別命名為日期時間datetime、定位狀態(tài)status、緯度latitude、經(jīng)度longitude、速度speed,并設置相應的列屬性,允許為NULL。

  3.2數(shù)據(jù)的存儲與互聯(lián)

  數(shù)據(jù)的存儲與互聯(lián)技術是存儲系統(tǒng)設計的核心。本設計中定義了兩個核心類:JdbcUtils工具類和JdbcUtilsImpl類。其中,JdbcUtils類主要用于實現(xiàn)加載配置文件、加載驅(qū)動類與獲取連接操作;JdbcUtilsImpl類主要用于向數(shù)據(jù)庫中存儲GPS數(shù)據(jù)、數(shù)據(jù)表的更新、釋放等。其部分關鍵代碼如下所示,圖7為數(shù)據(jù)存入情況。

  InputStream in = JdbcUtils.class.getClassLoader().getResourceAsStream("dbconfig.properties");

  props = new Properties();

  props.load(in);

  Class.forName(props.getProperty("driverClassName"));

  DriverManager.getConnection(props.getProperty("url"),props.getProperty("username"),props.getProperty("password"));

  String sql = "INSERT INTO gpsdata VALUES(?,?,?,?,?)";

  pstmt=con.prepareStatement(sql);pstmt.setString(1, gpsdata.getDatetime());

  ......

  pstmt.setDouble(4, gpsdata.getSpeed());

  pstmt.executeUpdate();

007.jpg

4結(jié)論

  本系統(tǒng)在Eclipse開發(fā)環(huán)境下,結(jié)合MySQL數(shù)據(jù)庫技術,對GPS定位數(shù)據(jù)進行接收和提取處理,并將其存入數(shù)據(jù)庫中,以供開發(fā)者后期使用。其中,系統(tǒng)中利用了Java中的多線程技術,將數(shù)據(jù)接收與提取處理高效地分離,有效地提高了數(shù)據(jù)的處理能力。同時,系統(tǒng)中加入了數(shù)據(jù)存儲部分,為數(shù)據(jù)的有效性和可靠性提供了保障,更加體現(xiàn)了系統(tǒng)的整體性能。

參考文獻

  [1] 張帥帥, 崔紅霞. GPS數(shù)據(jù)的采集提取和顯示[J]. 科技創(chuàng)新導報, 2013(25):2223.

 ?。?] 王緩緩, 李虎. 用Java實現(xiàn)GPS全球定位系統(tǒng)定位數(shù)據(jù)的提?。跩]. 計算機與現(xiàn)代化, 2004(11):8991.

 ?。?] 李新源, 趙樹法, 魏宗壽,等. 基于Java語言的GPS接收機的串口通信程序設計[J]. 鐵路計算機應用, 2007, 16(5):46.

 ?。?] 徐涴砯, 陳光, 高孟茹. GPS船舶試航數(shù)據(jù)提取與存儲系統(tǒng)的開發(fā)[J]. 微型機與應用, 2013,32(23):8689.

 ?。?] 丁振凡, 王小明, 鄧建明,等. 基于Java的串口通信應用編程[J]. 微型機與應用, 2012, 31(13):8486.

 ?。?] 牛立, 王景中. GPS導航數(shù)據(jù)提取的設計與研究[J]. 微型機與應用, 2010, 29(20):13.

  [7] 李良, 朱善安. 基于Java的串口通信[J]. 電子器件, 2007, 30(2):714716,720.

 ?。?] 吳金鋒, 劉偉平, 黃紅斌. Java串口通信數(shù)據(jù)采控系統(tǒng)的設計與實現(xiàn)[J]. 微計算機信息, 2010, 26(10):6566.

  [9] 袁林, 曹杰. 利用VC++實現(xiàn)GPS全球定位系統(tǒng)定位數(shù)據(jù)的提?。跩]. 現(xiàn)代電子技術, 2004, 27(24):105107.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产专区欧美精品| 日韩视频免费观看| 欧美日韩另类丝袜其他| 美女网站久久| 久久精品亚洲乱码伦伦中文 | 99国产麻豆精品| 亚洲人成啪啪网站| 亚洲欧洲在线看| 亚洲国产一区在线| 亚洲国内在线| 亚洲精品1234| 亚洲国产一区二区在线| 国产视频一区在线观看| 久久精品91久久久久久再现| 欧美一级在线亚洲天堂| 亚洲男女自偷自拍图片另类| 亚洲亚洲精品在线观看 | 久久精品网址| 亚洲影院色无极综合| 一本色道88久久加勒比精品| 亚洲精选久久| 一区二区三区日韩精品视频| 亚洲视频免费观看| 亚洲伊人观看| 亚洲一区二区三区影院| 亚洲天堂视频在线观看| 亚洲欧美大片| 欧美综合国产| 久久久精品国产99久久精品芒果| 久久漫画官网| 欧美黄色成人网| 欧美日韩国内自拍| 国产精品久久久久久亚洲调教| 国产精品久久久久久久免费软件 | 精品成人乱色一区二区| 亚洲国产精品一区二区三区| 最新国产拍偷乱拍精品| 亚洲乱码精品一二三四区日韩在线| 妖精视频成人观看www| 亚洲在线视频观看| 久久高清国产| 亚洲精品视频在线播放| 亚洲一级片在线看| 久久精品一区二区三区四区 | 亚洲激情视频网站| 99re热这里只有精品视频| 亚洲视频中文字幕| 欧美在线免费观看| 日韩一级免费| 香蕉视频成人在线观看| 久久久97精品| 欧美美女喷水视频| 国产精品一区亚洲| 亚洲成人在线观看视频| 日韩亚洲一区二区| 欧美一区二区视频观看视频| 亚洲精品视频在线观看网站| 午夜国产精品视频| 免费成人你懂的| 国产精品高潮呻吟视频| 国产一区二区中文| 亚洲精品视频在线看| 亚洲淫性视频| 亚洲人成网站影音先锋播放| 亚洲一区二区三区视频| 美女国产精品| 国产精品羞羞答答xxdd| 亚洲国产婷婷| 亚洲欧美日韩中文视频| 日韩手机在线导航| 久久久青草婷婷精品综合日韩| 欧美日韩国产bt| 国内外成人在线视频| 亚洲久久在线| 亚洲国产成人精品女人久久久 | 在线观看视频免费一区二区三区 | 亚洲欧美三级在线| 欧美a级理论片| 国产偷国产偷精品高清尤物| 亚洲伦伦在线| 亚洲国产精品一区二区第一页 | 牛牛影视久久网| 国产日韩欧美中文| 日韩亚洲欧美成人一区| 亚洲区一区二区三区| 欧美一激情一区二区三区| 欧美精品在线一区二区| 加勒比av一区二区| 午夜精品短视频| 国产精品99久久久久久久vr| 美女国产一区| 国产一区二区三区成人欧美日韩在线观看 | 国产精品美女久久久久久久| 亚洲国产一区二区三区a毛片| 欧美一区二区三区婷婷月色 | 欧美在线视屏| 亚洲欧美精品suv| 欧美伦理在线观看| 亚洲国产aⅴ天堂久久| 欧美一区二区三区视频在线观看| 亚洲免费一在线| 欧美日韩免费观看一区三区| 亚洲片在线资源| 亚洲精品1区2区| 久久野战av| 国产专区综合网| 欧美一区二区三区免费视频| 性久久久久久久久久久久| 欧美性片在线观看| 99热精品在线| 在线一区亚洲| 欧美日本一区| 91久久亚洲| 亚洲七七久久综合桃花剧情介绍| 老鸭窝毛片一区二区三区| 国产一区日韩欧美| 欧美一区在线直播| 久久精品国产69国产精品亚洲| 国产欧美精品久久| 午夜日韩在线观看| 欧美一区二区三区日韩| 国产精品一二三视频| 夜夜嗨网站十八久久| 一区二区三区不卡视频在线观看 | 欧美午夜一区二区| 夜夜嗨av一区二区三区四季av | 亚洲欧美成人| 欧美综合国产精品久久丁香| 国产日韩欧美在线观看| 久久av资源网| 麻豆视频一区二区| 亚洲国产成人精品女人久久久 | 欧美一级夜夜爽| 久久久久久自在自线| 韩国av一区二区三区在线观看| 久久精品国产一区二区三区| 媚黑女一区二区| 亚洲国产专区校园欧美| 99在线热播精品免费| 欧美日韩精品一区二区天天拍小说 | 在线观看欧美日韩国产| 亚洲精品免费在线| 欧美日韩精品欧美日韩精品 | 亚洲欧洲日本一区二区三区| 99精品99久久久久久宅男| 欧美午夜视频网站| 亚洲欧美在线看| 麻豆精品网站| 亚洲精品乱码| 亚洲欧美另类国产| 黄色成人91| 99re6热在线精品视频播放速度| 欧美日韩精品欧美日韩精品一 | 欧美三区视频| 亚洲综合色网站| 久久久精品免费视频| 亚洲精品1区2区| 亚洲欧美日韩国产| 国产揄拍国内精品对白| 亚洲日本中文字幕| 欧美亚男人的天堂| 欧美在线电影| 欧美精品日韩精品| 亚洲淫片在线视频| 欧美 日韩 国产一区二区在线视频| 亚洲日韩欧美视频| 欧美影视一区| 91久久久在线| 欧美一区二区三区在线播放| 在线欧美不卡| 亚洲综合日韩| 影音先锋中文字幕一区| 亚洲一区在线观看视频| 黄色一区二区三区四区| 夜夜嗨一区二区| 国产一区视频在线观看免费| 亚洲免费观看高清完整版在线观看熊 | 性久久久久久久久| 最近中文字幕日韩精品| 欧美亚洲网站| 亚洲激情在线视频| 欧美在线视频不卡| 亚洲精品在线二区| 久久久无码精品亚洲日韩按摩| 亚洲精品黄色| 久久久久久久久综合| 99亚洲视频| 久久综合九色综合欧美就去吻 | 国产精品久久久久影院亚瑟| 亚洲国产激情| 国产伦精品一区二区三区高清版| 亚洲激情午夜| 国产免费一区二区三区香蕉精| 亚洲精品久久在线| 国产性猛交xxxx免费看久久| 一区二区三区不卡视频在线观看| 国产在线日韩| 亚洲欧美日韩区 | 日韩一级精品视频在线观看| 久久久久中文|