NMEA協(xié)議是為了在不同的GPS(全球定位系統(tǒng))導航設備中建立統(tǒng)一的BTCM(海事無線電技術委員會)標準,由美國國家海洋電子協(xié)會(NMEA-The National Marine Electronics Associa-tion)制定的一套通訊協(xié)議。GPS接收機根據(jù)NMEA-0183協(xié)議的標準規(guī)范,將位置、速度等信息通過串口傳送到PC機、PDA等設備。
NMEA-0183協(xié)議是GPS接收機應當遵守的標準協(xié)議,也是目前GPS接收機上使用最廣泛的協(xié)議,大多數(shù)常見的GPS接收機、GPS數(shù)據(jù)處理軟件、導航軟件都遵守或者至少兼容這個協(xié)議。
不過,也有少數(shù)廠商的設備使用自行約定的協(xié)議比如GARMIN的GPS設備(部分GARMIN設備也可以輸出兼容NMEA-0183協(xié)議的數(shù)據(jù))。軟件方面,我們熟知的Google Earth目前也不支持NMEA-0183協(xié)議,但Google Earth已經(jīng)聲明會盡快實現(xiàn)對NMEA-0183協(xié)議的兼容。呵呵,除非你確實強壯到可以和工業(yè)標準分庭抗禮,否則你就得服從工業(yè)標準。
NMEA-0183協(xié)議定義的語句非常多,但是常用的或者說兼容性最廣的語句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。下面給出這些常用NMEA-0183語句的字段定義解釋。
$GPGGA
例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F
字段0:$GPGGA,語句ID,表明該語句為Global Positioning System Fix Data(GGA)GPS定位信息
字段1:UTC 時間,hhmmss.sss,時分秒格式
字段2:緯度ddmm.mmmm,度分格式(前導位數(shù)不足則補0)
字段3:緯度N(北緯)或S(南緯)
字段4:經(jīng)度dddmm.mmmm,度分格式(前導位數(shù)不足則補0)
字段5:經(jīng)度E(東經(jīng))或W(西經(jīng))
字段6:GPS狀態(tài),0=未定位,1=非差分定位,2=差分定位,3=無效PPS,6=正在估算
字段7:正在使用的衛(wèi)星數(shù)量(00 - 12)(前導位數(shù)不足則補0)
字段8:HDOP水平精度因子(0.5 - 99.9)
字段9:海拔高度(-9999.9 - 99999.9)
字段10:地球橢球面相對大地水準面的高度
字段11:差分時間(從最近一次接收到差分信號開始的秒數(shù),如果不是差分定位將為空)
字段12:差分站ID號0000 - 1023(前導位數(shù)不足則補0,如果不是差分定位將為空)
字段13:校驗值
$GPGSA
例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A
字段0:$GPGSA,語句ID,表明該語句為GPS DOP and Active Satellites(GSA)當前衛(wèi)星信息
字段1:定位模式,A=自動手動2D/3D,M=手動2D/3D
字段2:定位類型,1=未定位,2=2D定位,3=3D定位
字段3:PRN碼(偽隨機噪聲碼),第1信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段4:PRN碼(偽隨機噪聲碼),第2信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段5:PRN碼(偽隨機噪聲碼),第3信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段6:PRN碼(偽隨機噪聲碼),第4信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段7:PRN碼(偽隨機噪聲碼),第5信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段8:PRN碼(偽隨機噪聲碼),第6信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段9:PRN碼(偽隨機噪聲碼),第7信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段10:PRN碼(偽隨機噪聲碼),第8信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段11:PRN碼(偽隨機噪聲碼),第9信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段12:PRN碼(偽隨機噪聲碼),第10信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段13:PRN碼(偽隨機噪聲碼),第11信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段14:PRN碼(偽隨機噪聲碼),第12信道正在使用的衛(wèi)星PRN碼編號(00)(前導位數(shù)不足則補0)
字段15:PDOP綜合位置精度因子(0.5 - 99.9)
字段16:HDOP水平精度因子(0.5 - 99.9)
字段17:VDOP垂直精度因子(0.5 - 99.9)
字段18:校驗值
$GPGSV
例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70
字段0:$GPGSV,語句ID,表明該語句為GPS Satellites in View(GSV)可見衛(wèi)星信息
字段1:本次GSV語句的總數(shù)目(1 - 3)
字段2:本條GSV語句是本次GSV語句的第幾條(1 - 3)
字段3:當前可見衛(wèi)星總數(shù)(00 - 12)(前導位數(shù)不足則補0)
字段4:PRN 碼(偽隨機噪聲碼)(01 - 32)(前導位數(shù)不足則補0)
字段5:衛(wèi)星仰角(00 - 90)度(前導位數(shù)不足則補0)
字段6:衛(wèi)星方位角(00 - 359)度(前導位數(shù)不足則補0)
字段7:信噪比(00-99)dbHz
字段8:PRN 碼(偽隨機噪聲碼)(01 - 32)(前導位數(shù)不足則補0)
字段9:衛(wèi)星仰角(00 - 90)度(前導位數(shù)不足則補0)
字段10:衛(wèi)星方位角(00 - 359)度(前導位數(shù)不足則補0)
字段11:信噪比(00-99)dbHz
字段12:PRN 碼(偽隨機噪聲碼)(01 - 32)(前導位數(shù)不足則補0)
字段13:衛(wèi)星仰角(00 - 90)度(前導位數(shù)不足則補0)
字段14:衛(wèi)星方位角(00 - 359)度(前導位數(shù)不足則補0)
字段15:信噪比(00-99)dbHz
字段16:校驗值
$GPRMC
例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
字段0:$GPRMC,語句ID,表明該語句為Recommended Minimum Specific GPS/TRANSIT Data(RMC)推薦最小定位信息
字段1:UTC時間,hhmmss.sss格式
字段2:狀態(tài),A=定位,V=未定位
字段3:緯度ddmm.mmmm,度分格式(前導位數(shù)不足則補0)
字段4:緯度N(北緯)或S(南緯)
字段5:經(jīng)度dddmm.mmmm,度分格式(前導位數(shù)不足則補0)
字段6:經(jīng)度E(東經(jīng))或W(西經(jīng))
字段7:速度,節(jié),Knots
字段8:方位角,度
字段9:UTC日期,DDMMYY格式
字段10:磁偏角,(000 - 180)度(前導位數(shù)不足則補0)
字段11:磁偏角方向,E=東W=西
字段16:校驗值
$GPVTG
例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F
字段0:$GPVTG,語句ID,表明該語句為Track Made Good and Ground Speed(VTG)地面速度信息
字段1:運動角度,000 - 359,(前導位數(shù)不足則補0)
字段2:T=真北參照系
字段3:運動角度,000 - 359,(前導位數(shù)不足則補0)
字段4:M=磁北參照系
字段5:水平運動速度(0.00)(前導位數(shù)不足則補0)
字段6:N=節(jié),Knots
字段7:水平運動速度(0.00)(前導位數(shù)不足則補0)
字段8:K=公里/時,km/h
字段9:校驗值
$GPGLL
例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D
字段0:$GPGLL,語句ID,表明該語句為Geographic Position(GLL)地理定位信息
字段1:緯度ddmm.mmmm,度分格式(前導位數(shù)不足則補0)
字段2:緯度N(北緯)或S(南緯)
字段3:經(jīng)度dddmm.mmmm,度分格式(前導位數(shù)不足則補0)
字段4:經(jīng)度E(東經(jīng))或W(西經(jīng))
字段5:UTC時間,hhmmss.sss格式
字段6:狀態(tài),A=定位,V=未定位
字段7:校驗值