GPS模块编程之NMEA0183协议
? ? ? ? NMEA?0183是美國國家海洋電子協會(National?Marine?Electronics?Association)為海用電子設備制定的標準格式。現在已經成為GPS導航設備統一的RTCM(Radio?Technical?Commission?for?Maritime?services)標準協議。?
? ? ? ? 下圖是我調試用的GPS芯片,是深圳一家公司生產的。基本上接上天線,供電引腳電壓正常的話,就可以通過串口讀取GPS數據了。所以GPS編程最主要的是解析數據,要解析數據就得了解協議格式。
? ? ? ? 下面一組數據,是我在室內且芯片沒接天線的情況下讀一次串口所獲取的數據(GPS芯片會源源不斷的輸出數據)。這組數據里面沒有讀到經緯度等信息(全部為0),但可以看到NMEA0183的六種輸出協議:$GPGGA、$GPGLL、$GPGSA、$GPGSV、$GPRMC、$GPVTG。
$GPGGA,235949.042,0000.0000,N,00000.0000,E,0,00,,0.0,M,0.0,M,,0000*45 $GPGLL,0000.0000,N,00000.0000,E,235949.042,V,N*47 $GPGSA,A,1,,,,,,,,,,,,,,,*1E $GPGSV,1,1,00*79 $GPRMC,235949.042,V,0000.0000,N,00000.0000,E,,,140209,,,N*7E $GPVTG,,T,,M,,N,,K,N*2C? ? ? ? 下面詳細學習這六種不同的輸出協議的數據格式。
(1)?$GPGGA?(GPS定位信息)
? 協議格式:
$GPGGA,161229.487,3723.2475,N,12158.3416,W,1,07,1.0,9.0,M, , ,,0000*18?協議格式詳細分析:
(2)?$GPGLL?(地理定位信息)
? 協議格式:
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>*hh<CR><LF>樣例數據:
$GPGLL,3723.2475,N,12158.3416,W,161229.487,A*2C協議格式詳細分析:
(3)?$GPGSA?(當前衛星信息)
? 協議格式:
$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>*hh<CR><LF>樣例數據:
$GPGSA,A,3,07,02,26,27,09,04,15, , , , , ,1.8,1.0,1.5*33協議格式詳細分析:
(4) $GPGSV(可見衛星信息)協議格式: $GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*hh<CR><LF>樣例數據:
$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71 $GPGSV,2,2,07,09,23,313,42,04,19,159,41,15,12,041,42*41需要注意的是這里的樣例數據有2條,這是因為當前可見衛星一共有7個,但是每條語句最多包括四顆衛星的信息,所以分成了2條語句。每顆衛星的信息有四個數據項,即:<4>(衛星編號)、<5>(衛星仰角)、<6>(衛星方位角)、<7>(信噪比)。
? 協議格式詳細分析(只分析第1條樣例數據語句):
(5)?$GPRMC(最簡定位信息)
? 協議格式:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh<CR><LF>樣例數據:
$GPRMC,161229.487,A,3723.2475,N,12158.3416,W,0.13,309.62,120598,,*10協議格式詳細分析:
(6)?$GPVTG(地面速度信息)
? 協議格式:
$GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>*hh<CR><LF>樣例數據:
$GPVTG,309.62,T, ,M,0.13,N,0.2,K*6E協議格式詳細分析:
? ? ? ? 有了上面對NMEA0183協議的詳細學習,剩下的就是串口編程了。無論是通過單片機,還是Windows/WinCE/Linux系統,編寫串口程序把這些數據讀取到都是比較容易的,剩下就是通過c++那些查找算法函數,或者MFC?CString字符串的相關函數進行解析就OK了。
GPS模塊編程之NMEA0183協議 - 程序員大本營 (pianshen.com)?
總結
以上是生活随笔為你收集整理的GPS模块编程之NMEA0183协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 交互规则_您必须永不中断的10条交互设计
- 下一篇: 如何创建和谐的色彩系统