nmea协议例示

NMEA是GPS 的標準protocol,她是ASCII的字串,像 $GPRMC,053322.682,A,2502.6538,N,12121.4838,E,0.00,315.00,080905,,,A*6F 這一個command是GPS Recommanded GNSS data 053322.682 是UTC Time : 格式是hhmmss.sss所以是5:33:22.682 A 代表data是valid (如果找不到衛星,就會是V) 2502.6538 是緯度,格式是degree * 100 + minutes。但是minutes是100進位,所以要/100 * 60轉為degree,轉換後就是25'02'39.228''. N 是代表緯度是北緯 12121.4838 是經度,格式是degree * 100 + minutes。minutes一樣要做/100*60的轉換,轉換後就是121'21'29.02''. E 代表經度是東經 0.00 是速度,因為GPS天線沒動,所以是0.00 315.00 是方向 080905 是目前的日期,格式是ddmmyy,所以是05年9月8日 - - 接著有兩個欄位沒有用,所以空著 A 是Autonomous ? *6F 是checksum *** 所以用google earth就知道我把天線放在哪了**** 格式是: 1.一律以 $ 符號開頭 2.$ 後是Message id. 5個ASCII Code. 3.一連串以','分開的欄位. 4.Checksum,checkum以'*'開始,後面是兩個ASCII code. 5. $GPGSV,1,1,02,14,,,37,25,,,46,,,,,,,,*7F $GPGSV : Satellites in View Message ID : $GPGSV Number of Messages : 1 Message number : 1 Satellites in view : 02 目看到的衛星數 Satellite Id : 14 Satellite vehicle 以下是第一個看到的衛星,編號14 Elevation : - Elevation of satellite in degree Azimuth : - Azimuth of satellite in defree SNR : 37 Signal to Noise ration in dbHz Satellite id : 25 Satellite vehicle,以下是第二個看到的衛星,邊號25 NMEA Protocol中checksum的算法: 不包含開頭的'$',一直計算到'*'之前。一個byte一個byte的作XOR. data++; // skip the heading '$' mark sum = *data; while(*data!='*') { sum ^= *data; data++; } 所以可以知道,連command間的','符號也加入計算。 一般NMEA的report data中,用 有些擴充協定,用來設定,例如 $PNMRX103, NMEA report rate control 可以指定NMEA report資料的頻率 GGA,GLL,GSA,GSV,RMC,VTG,ZDA,ALL 例如: $PNMRX103,ALL,0*1A 所有的report都停止。 $PNMRX103,RMC,2*02 每2 sec送出一次RMC report $PNMRX100 設定baud rate $PNMRX100,0,4800,0*48 設定 Protocol : 0 : NMEA Mode, 1: Bindary Mode (不要用這一個) baud rate: 4800 其他可以設1200,2400,4800,9600,19200,38400,57600. Parity : 0 : None, 其他1 2代表Odd, 2代表 Even. 所以上面的example代表:使用NMEA Mode, 4800, None Parity 這些設定在reset後都消失...... 雖然Manual中說明support message有GGA,GLL,GSA,GSV,RMC,VTG,ZDA但是用ALL command開啟後,發現只有report GGA,GSA,RMC,VTG. GPS 通讯的NMEA 协议 点击数:3134 发布日期:2006-1-11 16:12:00 【收藏】 【评论】 【打印】 【编程爱好者论坛】 【关闭】 Tag:GPS NMEA协议 GPS 的通讯协议比较多,其中NMEA (National Ma2rine Electronics Association) , 0183 协议为GPS 接收机和其他航海电子产品的导航数据输出格式,是目前普遍使用且为大多数生产商遵循的协议之一,以下为其基本通讯参数及报文格式。 1. 1  GPS 串行通讯参数 波特率= 4800 ;无奇偶校验;数据位= 8 ;停止位= 1 1. 2  NMEA 0183 报文格式 NMEA 0183 协议报文的语句串(ASCII 字符) 格式全部信息可如下表示[1] : $AAXXX,ddd. . . ddd , 3 hh < CR > < LF > 具体内容为: $ 串头,表示串开始 AA  识别符 XXX 语句名 ddd ⋯ddd  数据字段,字母或数字 ,   逗号 3  星号,串尾 hh  $与3 之间所有字符代码的校验和 < CR >  回车控制符 < LF >  换行控制符 1. 3  报文示例说明 在具体的GPS 应用中,不需要用到NMEA 的全部信息,而是根据具体的工作,从中选取所需的信息,忽略其他信息。在文献[ 1 ]中,给出了用NMEA0813 的$GPGGA语句的数据格式及示例,文中以GPS 推荐的最短数据$GPRMC 语句为例,具体讨论协议串中各数据段内容。 1. 3. 1  当GPS 接收仪和卫星的通讯正常时接收到的数据中就包含如下格式的RMC 语句: $GPRMC,055142,A,3603.3291,N,10346.3723,E,0.0,230.4,250503,1.3, W,A *3 02 其中数据分别为: $GPRMC  串头,其中RMC 为定位语句 055142 表示UTC 24 小时制的标准时间,格式为“时时/分分/秒秒”。根据任务还需要将其转换为北京时间格式 A 或V 表示信号接收状态,其中A表示数据“OK,V表示一个警告 3603.3291 表示纬度值,格式为“ddmm.mmmm” N 或S  标明南北半球,N为北半球(北纬)、S为南半球(南纬) 10346.3723 表示经度值,格式为“dddmm.mmmm” E 或W 标明东西半球,E为东半球(东经)、W为西半球(西经) 0.0 表示速度, (这里速度为0) 230.4  方位角,范围为000.0 到359.9度 250503  为UTC 的日期,格式为“日日/月月/年年” 1. 3  地磁变化(磁偏角) ,从000.0 到180.0度 W 地磁变化方向,为E或W 1. 3. 2当没有和卫星取得联系时 RMC 语句的显示格式如下: $GPRMC, ,V, , , , , , ,270503 ,1.3,W,N *2B  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值