GPS格式

這次選用的GPS模組為 UART-GPS-NEO-7M-C ,GPS與天線在同一塊模組上,出來的接線只需要接TX, RX, VCC, GND即可動作,而其使用的通訊格式是NMEA格式,BAUD RATE為9600

若將模組透過UART轉USB模組接到電腦,開啟終端機的話可以看到GPS模組一直不斷的吐出如下的訊息

未命名1.png


NMEA是美國國家海洋電子協會(National Marine Electronics Association)制定的GPS協定標準。協定採用ASCII碼輸出,定義了許多代表不同含義的語句。 

AAM - Waypoint Arrival Alarm
ALM - Almanac data
APA - Auto Pilot A sentence
APB - Auto Pilot B sentence
BOD - Bearing Origin to Destination
BWC - Bearing using Great Circle route
DTM - Datum being used.
GGA - Fix information
GLL - Lat/Lon data
GRS - GPS Range Residuals
GSA - Overall Satellite data
GST - GPS Pseudorange Noise Statistics
GSV - Detailed Satellite data
MSK - send control for a beacon receiver
MSS - Beacon receiver status information.
RMA - recommended Loran data
RMB - recommended navigation data for gps
RMC - recommended minimum data for gps
RTE - route message
TRF - Transit Fix Data
STN - Multiple Data ID
VBW - dual Ground / Water Spped
VTG - Vector track an Speed over the Ground
WCV - Waypoint closure velocity (Velocity Made Good)
WPL - Waypoint Location information
XTC - cross track error
XTE - measured cross track error
ZTG - Zulu (UTC) time and time to go (to destination)
ZDA - Date and Time


GPS的格式在網上己有許多相關文章,在此就不再多做說明,
此次最主要使用的指令為RMC,其指令內容可以提供UTC時間、定位狀態(A-有效,V-無效)、經緯度值、對地速度(節)、日期等

RMC - NMEA has its own version of essential gps pvt (position, velocity, time) data. It is called RMC, The Recommended Minimum, which will look similar to:

$GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A

Where:
     RMC          Recommended Minimum sentence C
     123519       Fix taken at 12:35:19 UTC
     A            Status A=active or V=Void.
     4807.038,N   Latitude 48 deg 07.038' N
     01131.000,E  Longitude 11 deg 31.000' E
     022.4        Speed over the ground in knots
     084.4        Track angle in degrees True
     230394       Date - 23rd of March 1994
     003.1,W      Magnetic Variation
     *6A          The checksum data, always begins with *

GPS吐出來的訊息是固定的格式,所以只要判斷指令後再確認是第機欄的資料,存下來後再將ASCII碼轉為數字格式即可

透過資料可以看到,指令中每個欄位都是透過','來區隔,因此只要在程式中先判斷是否為RMC指令,再來抓取第幾個欄位的資料即可

如:GPS狀態,為第二欄(RMC為指令,指令後的第二欄),而車速為第5欄 而這裡要注意的事,除了判斷GPS定位狀態是否有效之外,

且抓取到的對地速度單位為節(Knot), 而非km/hr,因此需要再做轉換 1knot=1.852km/hr。

硬體部分,使用先前剩下來的板子做跳線進行處理,電路部分設計如下

未命名.png

中間過程就不PO了,因為跳線實在是跳的有點難看,怕傷大家眼睛

上車的照片

S_6474699433137.jpg

GPS模組,這邊安裝要注意,以前開發的經驗,若天線沒有朝著天空訊號會很差,因此需要將天線朝著天空

GPS模組,這邊安裝要注意,以前開發的經驗,若天線沒有朝著天空訊號會很差,因此需要將天線朝著天空

GPS模組,這邊安裝要注意,以前開發的經驗,若天線沒有朝著天空訊號會很差,因此需要將天線朝著天空

很重要,所以說三次

S_6474699479646.jpg

上電,GPS訊號尚未完成定位,顯示---

S_6474720853402.jpg

己抓到GPS訊號,車速顯示0

S_6474720809542.jpg

實車影片等有出車再拍一次了,之前試車忘了錄下來…
ref:http://www.gpsinformation.org/dale/nmea.htm

arrow
arrow
    文章標籤
    GPS 車速
    全站熱搜

    Mr Sitdownplz 發表在 痞客邦 留言(0) 人氣()