NMEA-0813文檔解析

寫在前面

  1. 首先吐槽一下本人的軟件課程設(shè)計--<基于GPS的位置追蹤及地理圍欄>承二,大概是大學以來最難的課設(shè)了查牌,但是還是把它征服了师痕,HAPPY! 本著開源的精神躲舌,課程結(jié)束后會放上代碼鏈接,現(xiàn)在不想進行復習口予,就寫點東西打發(fā)下時間吧娄周。
  2. 試一下Atom + Markdown Preview Enhanced插件的強勁效果,說不定會放棄Notepad++轉(zhuǎn)向atom陣營沪停。
  3. 廢話不多說了煤辨,現(xiàn)在開始正文吧

Nmea

  1. 定義:
    由美國國家海洋電子協(xié)會開發(fā)的,目前GPS接收機上使用最廣泛的標準協(xié)議木张,它定義了多種語句众辨,包含了關(guān)于定位結(jié)果、信號狀態(tài)舷礼、工作模式等豐富的信息
  2. 長相:
$GPGSV,4,1,14,04,00,000,37,10,31,178,34,12,05,035,15,14,64,358,31*7C
$GPGSV,4,2,14,22,20,309,25,26,36,205,36,29,16,099,22,31,56,309,32*70
$GPGSV,4,3,14,32,67,063,30,01,00,000,,03,05,322,,16,05,206,*7F
$GPGSV,4,4,14,18,05,161,,25,41,046,*76
$GLGSV,2,1,08,66,66,326,30,77,30,247,23,76,61,336,29,75,25,030,19*6C
$GLGSV,2,2,08,65,47,153,29,67,13,329,26,85,00,000,,72,02,150,*60
$GPGSA,A,3,04,10,12,14,22,26,29,31,32,,,,1.2,0.9,0.8*3F
$GPVTG,250.2,T,250.2,M,1.3,N,2.4,K,D*22
$GPRMC,093053,A,3031.066590,N,11425.706293,E,1.3,250.2,171217,3.5,W,D*05
$GPGGA,093053,3031.066590,N,11425.706293,E,2,09,0.9,68.0,M,-12.0,M,,*5A
  1. 格式:
    為了提高實用性鹃彻,得到我們需要的信息,故只選擇解析$GPRMC/GNRMC語句且轨,以下解釋來自nmea_gprmc,$GPRMC格式如下:

/*
//        $GPRMC(Recommended Minimum Specific GPS/TRANSIT Data)
//
//        幀頭    UTC時間    狀態(tài)   緯度  北緯/南緯   經(jīng)度  東經(jīng)/西經(jīng)   速度
//        $GPRMC  hhmmss.sss  A/V   ddmm.mmmm   N/S   dddmm.mmmm  E/W    節(jié)
//
//        方位角   UTC日期   磁偏角     磁偏角方向 模式      校驗   回車換行
//          度     ddmmyy   000 - 180    E/W       A/D/E/N   *hh     CR+LF
//
//        格 式: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>
//        $GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
//
//        $GPRMC,175622,A,2921.219000,N,11946.287000,E,13.00,348.27,20161006,,,D*4E
//
//        說 明:
//        字段 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(一節(jié)也是1.852千米/小時)
//          字段 8:方位角矗钟,度(二維方向指向,相當于二維羅盤)
//          字段 9:UTC日期嫌变,DDMMYY格式
//          字段10:磁偏角吨艇,(000 - 180)度(前導位數(shù)不足則補0)
//          字段11:磁偏角方向,E=東腾啥,W=西
//          字段12:模式东涡,A=自動,D=差分倘待,E=估測疮跑,N=數(shù)據(jù)無效(3.0協(xié)議內(nèi)容)
//          字段13:校驗值


// NMEA Decoding here
// Wait for gps data, want RMC sentence:
//$GPRMC,230046,A,3759.8006,N,12205.4429,W,0.0,190.3,260702,15.1,E,A*3C
//              |     |    /     |      /   |   |
//$GPRMC,233834,A,3759.842,N,12205.440,W,000.0,173.7,200602,015.8,E*63
//              |    |     |    |      |   |     |             |     |--checksum
//              |    |     |    |      |   |     |             |- Magnetic Deviation?
//              |    |     |    |      |   |     |- course over ground
//              |    |     |    |      |   |- speed over ground
//              |    |     |    |      |--Lon E/W
//              |    |     |    |-- Lon 122' 5.44"
//              |    |     |-- Lat N/S
//              |    |-- Lat 37' 59.842"
//              |-- A=Good, V=Bad

*/

NMEA解析

以下代碼來自nmea_gprmc,無比感謝這位老哥在我最需要的時候送了一波溫暖凸舵,感謝祖娘!大概這就是開源的魅力所在吧,不要忘了給人家點個贊啊奄。

  1. 數(shù)據(jù)格式,自定義結(jié)構(gòu)體存著,常用信息如下
typedef struct {
    double  rcv_time;           //時間
    char    status;             //狀態(tài)
    double  lat;                //緯度
    char    lat_direct;         //北緯 or 南緯
    double  lon;                //經(jīng)度
    char    lon_direct;         //東經(jīng) or 西經(jīng)
    double  speed;              //速度
    double  cog;                //方位角
    int     date;               //日期
    double  mag_variation;      //磁偏角
    char    mag_var_direct;     //磁偏角方向
    char    mode;               //校驗類型
    int     chksum;             //校驗和
} gprmc_format;
  1. 解析代碼
    結(jié)構(gòu)還是很清晰的渐苏,閱讀量并不大掀潮,自己去github上讀源碼吧,然后根據(jù)自己的需求修改
  2. 效果


    詳細記錄圖

    這是我自己搭的UI,當然你自己也可以設(shè)計一些更騷氣的對吧整以。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胧辽,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子公黑,更是在濱河造成了極大的恐慌邑商,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凡蚜,死亡現(xiàn)場離奇詭異人断,居然都是意外死亡,警方通過查閱死者的電腦和手機朝蜘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門恶迈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谱醇,你說我怎么就攤上這事暇仲。” “怎么了副渴?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵奈附,是天一觀的道長。 經(jīng)常有香客問我煮剧,道長斥滤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任勉盅,我火速辦了婚禮佑颇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘草娜。我一直安慰自己挑胸,他們只是感情好,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布宰闰。 她就那樣靜靜地躺著嗜暴,像睡著了一般。 火紅的嫁衣襯著肌膚如雪议蟆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天萎战,我揣著相機與錄音咐容,去河邊找鬼。 笑死蚂维,一個胖子當著我的面吹牛戳粒,可吹牛的內(nèi)容都是我干的路狮。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼蔚约,長吁一口氣:“原來是場噩夢啊……” “哼奄妨!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起苹祟,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤砸抛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后树枫,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體直焙,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年砂轻,在試婚紗的時候發(fā)現(xiàn)自己被綠了奔誓。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡搔涝,死狀恐怖厨喂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情庄呈,我是刑警寧澤蜕煌,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站抒痒,受9級特大地震影響幌绍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜故响,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一傀广、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧彩届,春花似錦伪冰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至寨辩,卻和暖如春吓懈,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背靡狞。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工耻警, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓甘穿,卻偏偏與公主長得像腮恩,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子温兼,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫秸滴、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,064評論 4 62
  • 現(xiàn)在的自己,很迷茫兰伤。工作本身并不喜歡内颗,之前有很多小伙伴在,大家嘻嘻哈哈日子也還可以過《厍唬現(xiàn)在都走了均澳,在公司已經(jīng)讓我覺...
    阿江里閱讀 112評論 0 0
  • 襯衫收到了喜歡嗎?其實我想說為了買件滿意的格子襯衫我下載了4個購物app挑了2個多小時最后挑花眼了實在不知道買那件...
    簡單安靜就好閱讀 216評論 0 0
  • 2017年4月9日 1.感恩爸媽幫助照顧孩子符衔。 2.感恩兒子讓我成長找前,現(xiàn)在小脾氣見長。 3.感恩先生的關(guān)心判族,為家努...
    馮梓源閱讀 151評論 0 0
  • 護照和港澳通行證(本式)過期了躺盛,今天,跟老姐和西蘭花形帮,一起到辦證大廳重新辦理槽惫。好多人!不過辩撑,現(xiàn)在有自助辦證一體機界斜,...
    Sky楊閱讀 181評論 0 1