999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于C#的串口GPS數(shù)據(jù)通信處理系統(tǒng)設(shè)計(jì)

2011-12-31 00:00:00翟燕飛

摘要:本文以Holux GR-85 GPS 模塊為例,介紹了在C#環(huán)境下,通過計(jì)算機(jī)標(biāo)準(zhǔn)串行RS-232接口與GPS模塊組成GPS定位信息采集、顯示、處理系統(tǒng)。該系統(tǒng)硬件設(shè)備接口簡單、軟件編程方便、系統(tǒng)可靠性好,為GPS的應(yīng)用提供了一個(gè)簡易途徑。

關(guān)鍵詞:GPS模塊串口通信距離方位角

0 引言

近年來,GPS系統(tǒng)已經(jīng)在大地測繪、海上漁用、車輛導(dǎo)航、精準(zhǔn)農(nóng)業(yè)等各個(gè)領(lǐng)域得到廣泛的應(yīng)用。目前,民用GPS設(shè)備包括精度可達(dá)毫米級(jí)的測量型接收機(jī)和定位精度為幾十米的導(dǎo)航型產(chǎn)品。除了GPS接收機(jī)整機(jī)產(chǎn)品外,市場上還有很多不同類型、價(jià)格低廉的GPS模塊產(chǎn)品。目前大多數(shù)GPS模塊產(chǎn)品都是通過RS232串口進(jìn)行數(shù)據(jù)傳輸?shù)摹_@些數(shù)據(jù)包括經(jīng)度、緯度、海拔高度、時(shí)間、衛(wèi)星使用情況等基本信息。開發(fā)人員只要配備以單片機(jī)控制、顯示設(shè)備或微機(jī)就可以完成整套的定位系統(tǒng)。

PC機(jī)的主要特點(diǎn)是具有較強(qiáng)的數(shù)據(jù)顯示、分析處理能力,很好的人機(jī)界面和大容量的存儲(chǔ)功能。因此通過串口實(shí)現(xiàn)通信,以PC機(jī)為控制器,以GPS模塊為終端設(shè)備的方式可構(gòu)成一GPS定位系統(tǒng)。

1 GPS簡介

本系統(tǒng)中使用的GPS系統(tǒng)標(biāo)準(zhǔn)是NMEA-0183標(biāo)準(zhǔn),NMEA 0183是美國國家海洋電子協(xié)會(huì)(National Marine Electronics Association )為海用電子設(shè)備于1983年制定的標(biāo)準(zhǔn)格式。此標(biāo)準(zhǔn)格式采用ASCII制定的,數(shù)據(jù)傳輸以語句的方式進(jìn)行,每個(gè)語句均以“$”開頭,然后是兩個(gè)字母的“識(shí)別符”和三個(gè)字母的“語句名”,接著就是以逗號(hào)分割的數(shù)據(jù)體,語句末尾未校驗(yàn)和,整條語句以回車換行符結(jié)束。

GPS模塊只要處于工作狀態(tài)就會(huì)源源不斷地把接收并計(jì)算出的GPS導(dǎo)航定位信息傳送到連接到它的嵌入式主板串口之上,在沒有進(jìn)一步處理之前,傳送的數(shù)據(jù)是一長串字節(jié)流信息。因此必須經(jīng)過程序?qū)⑵滢D(zhuǎn)化為有實(shí)際意義的,可供高層決策使用的定位信息數(shù)據(jù)。與其他通信協(xié)議類似,GPS模塊都遵循NMEA-0183協(xié)議,GPS進(jìn)行信息提取,必須明確其幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對各個(gè)定位信息的提取。其發(fā)送到串口的數(shù)據(jù)主要由幀頭,幀尾和幀內(nèi)數(shù)據(jù)組成。根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同,主要有“#GPGGA”,“$GPGSA”,“$GPRMC”等。這些幀頭標(biāo)識(shí)了后續(xù)幀內(nèi)數(shù)據(jù)的組成結(jié)構(gòu),各幀均以回車符和換行符作為幀尾標(biāo)識(shí)一幀的結(jié)束。對于通常的情況,大家所關(guān)心的定位數(shù)據(jù)如經(jīng)緯度、速度、時(shí)間、航向等均以“$GPRMC”中獲取得到。對于用戶的應(yīng)用程序來講,要讀取GPS模塊的定位數(shù)據(jù),無非是實(shí)現(xiàn)兩個(gè)簡單的步驟:①讀取串口數(shù)據(jù);②將讀取的數(shù)據(jù)解析出來。

2 基于C#下的串口通信實(shí)現(xiàn)

2.1 串口的讀取數(shù)據(jù)

我們以安裝了Winxp操作系統(tǒng)連接GPS模塊,用C#來實(shí)現(xiàn)讀取GPS模塊發(fā)過來的串口數(shù)據(jù),最方便的方法是直接使用VS提供的SerialPort串口類,這個(gè)串口類提供一個(gè)DataRecieved事件響應(yīng)機(jī)制,可以簡單方便地讀取串口數(shù)據(jù),如:

GPS 模塊默認(rèn)會(huì)每1秒向串口發(fā)送一條$GPRMC語句。因此,對 GPS 模塊不需要寫串口,只需要讀串口。GPS 模塊軟件部分的主要功能就是解析$GPRMC語句,獲得其中的有用數(shù)據(jù)。

收到的串口數(shù)據(jù)是標(biāo)準(zhǔn)的string字符串,以“$GPRMC”開頭的幀為例,收到的每一幀數(shù)據(jù)string都以回車換行符為結(jié)尾,可以以回車換行符為標(biāo)志將數(shù)據(jù)string提取出來;而且這個(gè)數(shù)據(jù)幀的每個(gè)元素均以逗號(hào)分隔,可以通過逗號(hào)分隔將這個(gè)數(shù)據(jù)幀的每個(gè)元素提取到一個(gè)string數(shù)組里面進(jìn)行進(jìn)一步處理。如:語句解析實(shí)現(xiàn)方法如下:

在update_data函數(shù)中,通過Split()函數(shù)將從串口獲得的數(shù)據(jù)分配到字符串?dāng)?shù)組中即可:

2.2 GPS定位信息的傳遞

在確定兩臺(tái)PC機(jī)的定位信息之后,就是如何將兩臺(tái)PC機(jī)的定位信息相互傳遞了。實(shí)現(xiàn)的方法有多種,最簡單的就是利用TCP/IP網(wǎng)絡(luò)協(xié)議來完成,也可采用GPRS網(wǎng)絡(luò)來實(shí)現(xiàn)。本系統(tǒng)采用的是GPRS模塊來實(shí)現(xiàn)兩臺(tái)PC之間的相互通信。

2.3 GPS定位信息的處理

在定位模塊中,系統(tǒng)需要不斷查詢GPS緩沖區(qū),來更新自己的定位數(shù)據(jù),這個(gè)功能由一個(gè)定時(shí)器實(shí)現(xiàn)。當(dāng)定時(shí)器中斷發(fā)生,首先觸發(fā)myserialPort1_DataReceived()事件,檢查自身的GPS模塊是否有可用的定位數(shù)據(jù)。如果有,則將GPS數(shù)據(jù)解析并放入GPS_info[]數(shù)組中;然后調(diào)用myserialPort_DataReceived()來查詢GPRS模塊是否已接收到了PC機(jī)的定位數(shù)據(jù),如果有,則將解析數(shù)據(jù)并放入GPS_info[] 對象中,并同時(shí)放入數(shù)據(jù)庫中。如果兩個(gè)對象都有效,更新界面上的定位信息,并計(jì)算當(dāng)前PC機(jī)和PC機(jī)原位置(已存入數(shù)據(jù)庫)兩個(gè)地點(diǎn)的距離和相對方向,如果兩點(diǎn)距離大于規(guī)定的長度,則報(bào)警,并進(jìn)入報(bào)警模式,如果距離合格,則退出報(bào)警模式。如果兩點(diǎn)都有效,根據(jù)兩點(diǎn)的經(jīng)緯度坐標(biāo),在谷歌地圖上顯示當(dāng)前位置,比例尺自適應(yīng)。

計(jì)算兩經(jīng)緯度之間的距離,就是已知球體半徑,計(jì)算兩點(diǎn)之間的球面距離。

公式:設(shè)A(α1,β1),B(α2,β2)為地球上不同緯度不同經(jīng)度的兩點(diǎn)(緯度分別為α1,α2,經(jīng)度分別為β1,β2,規(guī)定北緯時(shí)緯度為正,南緯時(shí)緯度為負(fù),東經(jīng)時(shí)經(jīng)度為正,西經(jīng)時(shí)經(jīng)度為負(fù))則A、B兩地的球面距離為:

s=R*arccos(sina1sina2+cosa1cosa2cos|β1β2|)(R為地球半徑)

根據(jù)這個(gè)公式,我們就能很輕松的計(jì)算出兩臺(tái)PC機(jī)之間的距離了。

3 結(jié)束語

通過本方法,可以將GPS定位導(dǎo)航信息從GPS接收機(jī)完整接收,并將所需信息從中提取,從而為實(shí)現(xiàn)飛行控制系統(tǒng)的導(dǎo)航控制提供數(shù)據(jù)采集。其實(shí),GPS接收并提取的數(shù)據(jù)也可以為其它應(yīng)用系統(tǒng)所應(yīng)用,如電子地圖、車載導(dǎo)航、智能交通、野外勘探等方面。只是在數(shù)據(jù)提取方面有所不同,經(jīng)過修改,完全可以應(yīng)用到其中。

參考文獻(xiàn):

[1]徐鑫,康波,呂炳朝,肖偉.電視技術(shù)[J].研究與開發(fā)2006(1)111-1114.

[2]王靖,紀(jì)元法,孫希延,伍建輝.桂林電子科技大學(xué)學(xué)報(bào)[J].2010[1]30-32.

主站蜘蛛池模板: 激情六月丁香婷婷四房播| 日韩欧美国产中文| 自偷自拍三级全三级视频| 国产尹人香蕉综合在线电影 | 欧美成在线视频| 嫩草影院在线观看精品视频| 2020亚洲精品无码| 99久久国产综合精品2023| 欧美在线导航| 欧美一区中文字幕| 色香蕉影院| 国产偷倩视频| 欧美精品啪啪| 中文国产成人精品久久| 亚洲无码在线午夜电影| 亚洲天堂2014| 久久国产精品影院| 中文无码毛片又爽又刺激| 国产在线拍偷自揄拍精品| AV在线天堂进入| 97在线公开视频| 538国产视频| 无码专区国产精品第一页| 国产精品男人的天堂| 小说 亚洲 无码 精品| 91福利免费| 日韩美毛片| 亚洲欧美一区二区三区蜜芽| 亚洲国产欧洲精品路线久久| 精品午夜国产福利观看| 国产91全国探花系列在线播放| 特级欧美视频aaaaaa| 国产成人免费| 亚洲成AV人手机在线观看网站| 91精品网站| 999精品色在线观看| 91在线无码精品秘九色APP| 国产凹凸视频在线观看| 精品国产Av电影无码久久久| 亚洲欧洲国产成人综合不卡| 亚洲综合日韩精品| 九九视频免费在线观看| 青青草一区二区免费精品| 漂亮人妻被中出中文字幕久久| 美美女高清毛片视频免费观看| 天天躁日日躁狠狠躁中文字幕| 综合久久五月天| 亚洲六月丁香六月婷婷蜜芽| 中文字幕伦视频| 拍国产真实乱人偷精品| 国产一二三区视频| 91视频99| 日韩欧美国产成人| 国产成人高精品免费视频| 伊人婷婷色香五月综合缴缴情| 91精品国产丝袜| 亚洲成av人无码综合在线观看| 性喷潮久久久久久久久| 国产精品区网红主播在线观看| 啪啪免费视频一区二区| 成人av专区精品无码国产 | 中日无码在线观看| 午夜限制老子影院888| 中文字幕永久在线看| 中文字幕无码av专区久久| 久久国产精品无码hdav| 国产成人精品第一区二区| V一区无码内射国产| 国产成人精品亚洲日本对白优播| 97色婷婷成人综合在线观看| 日本在线欧美在线| 国产精品一区二区不卡的视频| 婷婷色狠狠干| 99在线视频免费| 欧美午夜视频在线| 97视频免费在线观看| 国产视频你懂得| 中国丰满人妻无码束缚啪啪| 成·人免费午夜无码视频在线观看| 国产福利免费观看| 日本国产一区在线观看| 亚洲无码精品在线播放 |