首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏嵌入式智能硬件

    GPS之 NMEA-0183协议

    NMEA0183的六种输出协议:GPGGA、GPGLL、GPGSA、GPGSV、GPRMC、GPVTG。

    3.5K30发布于 2020-08-31
  • 来自专栏python3

    nmealib解析-----(3)---

    /*  *  * NMEA library  * URL: http://nmea.sourceforge.net  * Author: Tim (xtimor@gmail.com)  * Licence \file */ //该函数主要是对于nmea时间的处理 #ifndef __NMEA_TIME_H__ #define __NMEA_TIME_H__ #include "config.h" #ifdef   __cplusplus extern "C" { #endif /**  * Date and time data  * @see nmea_time_now  */ typedef struct (nmeaTIME *t);  //获得这个格式的时间 #ifdef  __cplusplus } #endif #endif /* __NMEA_TIME_H__ */ /*  *  * NMEA library \file time.h */ #include "nmea/time.h" #ifdef NMEA_WIN #   pragma warning(disable: 4201)   //对于这个用法不熟的可参考

    86720发布于 2020-01-08
  • 来自专栏CreateAMind

    autoware 代码阅读 sensor

    Published Topics: nmea_sentence (nmea_msgs/Sentence) : A single time-stamped NMEA sentence NMEA GPS Serial driver node. NMEA GPS Topic driver node. Subscribed Topics nmea_sentence (nmea_msgs/Sentence) NMEA sentences, 1 per message. -- rosrun nmea_navsat_driver nmea_topic_driver --> <!

    1.7K20发布于 2018-07-24
  • 来自专栏全栈程序员必看

    GPS通讯协议(NMEA0183)协议解析_台积电回应芯片巨头撤离

    GPS NEMA 0183协议 一、 NMEA0183标准语句(GPS常用语句) GPGGA 例:GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7

    7.4K30编辑于 2022-11-15
  • 来自专栏嵌入式项目开发

    C语言实例_解析GPS源数据

    一、GPS数据格式介绍 GPS(全球定位系统)数据格式常见的是NMEA 0183格式,NMEA 0183格式是一种用于导航设备间传输数据的标准格式,定义了一套规范,使得不同厂商的设备可以通过串行通信接口 这个标准最初由美国航海电子协会(National Marine Electronics Association,简称NMEA)在1980年推出,并被广泛应用于全球的导航系统。 NMEA 0183格式的数据通常以ASCII字符流的形式传输,每条数据都以$开始,以回车符(\r)和换行符(\n)结束。数据被分为不同的消息类型,每个消息类型都有特定的字段和含义。 NMEA 0183格式的数据通常由GPS接收器、导航仪、自动驾驶系统等设备产生,并通过串口输出。其他设备可以通过读取串口数据,并按照NMEA 0183的规范解析数据。 随着技术的发展,新一代的GPS设备也开始采用更高级的数据格式,例如NMEA 2000。然而,由于广泛应用和兼容性的要求,NMEA 0183仍然被广泛支持,并被许多设备和导航系统所使用。

    1.7K20编辑于 2023-08-21
  • 来自专栏机器人课程与技术

    在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~

    需要安装如下功能包: ~$ sudo apt-get install ros-indigo-nmea-* 安装完成后,启动roscore,需要用到下面命令: ~$ rosrun nmea_navsat_driver nmea_serial_driver _port:=/dev/rfcomm0 _baud:=115200 ~$ rostopic echo /fix ? ~$ rosrun nmea_navsat_driver nmea_topic_serial_reader _port:=/dev/rfcomm0 _baud:=115200 ~$ rostopic echo /nmea_sentence ?

    2.4K20发布于 2019-01-23
  • 来自专栏TopSemic嵌入式

    Linux项目实战系列之:再谈一次GPS数据解析

    所以用这个sscanf来解析NMEA语句也是可以的,类似上述例子的处理方式就可以,有一点和使用strtok函数一样,要注意处理连续逗号的情况,也可以采用先将连续逗号之间插入特殊字符再解析的办法。 /nmea/files/latest/download 我之前听说过有GPS相关的开源代码,正好就借机去学习了下,这个库用起来挺简单的,我花了点时间将它应用到了ARM Linux下。 2) 传入解析函数nmea_parse的数组必须是\r\n结尾,否则也无法正常解析。 3) 解析得到的经纬度格式是度分格式,如果需要使用其他格式,自己得再换算一次。 第三个要分享的是,还有一个网友建议去了解minmea,该源码在:https://github.com/kosma/minmea GitHub上介绍: a lightweight GPS NMEA 0183 我在它的README文件里看到一句话:Good documentation on NMEA is at https://gpsd.gitlab.io/gpsd/NMEA.html ,提到了一个NEMA

    1.4K40发布于 2021-05-31
  • 来自专栏ghostsf

    GPS数据格式全解

    0x00 GPS NMEA GPS模块在定位后会输出含有各项定位信息的NMEA语句,其中包括经纬度 信息。 3,2,10,02,17,252,38,08,14,192,41,09,12,195,38,23,07,108,3574 详细的NEMA 0183协议解析访问网页NEMA 0183查询 0x01 经纬度转换 以NMEA

    3.3K10编辑于 2022-09-09
  • 来自专栏算法微时光

    Android上GNSS Hal服务解析

    对于GPS的具体实现,需要跟具体的GPS驱动来定,因为某些GPS设备能直接输出所需要的NMEA数据,有的则需要自己实现解析才能得到。 GpsStatus* status); typedef void (* gps_sv_status_callback)(GpsSvStatus* sv_info); typedef void (* gps_nmea_callback )(GpsUtcTime timestamp, const char* nmea, int length); typedef void (* gps_set_capabilities)(uint32_t gps_location_callback location_cb; gps_status_callback status_cb; gps_sv_status_callback sv_status_cb; gps_nmea_callback nmea_cb; gps_set_capabilities set_capabilities_cb; gps_acquire_wakelock acquire_wakelock_cb;

    3.3K20发布于 2020-06-03
  • 来自专栏C++开发学习交流

    【C++】ROS:常用硬件驱动与功能包小结

    nmea apt安装:sudo apt-get install ros-kinetic-nmea-navsat-driver libgps-dev 运行:roslaunch nmea_navsat_driver nmea_serial_driver.launch 源码:https://github.com/ros-drivers/nmea_navsat_driver gps坐标转换&rviz显示 源码

    83210编辑于 2024-07-24
  • 来自专栏全栈程序员必看

    Ubuntu下使用4g模块、4G模组上网,USB接口,图形界面

    /ttyUSB1 /dev/ttyUSB2 /dev/ttyUSB3 ms@ubuntu:~$ Interface Description: DM Interface Diagnose port NMEA Interface For GPS NMEA message output AT Interface For AT commands Modem Interface For PPP connections Information: Product Driver Interface UC20 VID:0x05c6 PID:0x9003 USB Serial ttyUSB0 -> DM ttyUSB1 -> NMEA ttyUSB3 -> Modem ttyUSB4 -> Reserved EC20 VID:0x05c6 PID:0x9215 USB Serial ttyUSB0 -> DM ttyUSB1 -> NMEA

    8.5K30编辑于 2022-11-17
  • 来自专栏CreateAMind

    localization:autoware定位demo 练习

    NMEA是美国国家海洋电子协会的简称,现在是GPS导航设备统一的RTCM标准协议。 demo用gps定位,但是handbook例子只用ndt-matching 雷达和地图匹配的不是很好啊! ? 上面差异一个tf: nmea2tfpose; 下面的位置就出现了很大的偏差 ? 14771 84757 ? ? 上面对比发现位置发生了很大的改变

    1K10发布于 2018-07-24
  • 来自专栏网络时间同步

    两分钟了解:NTP网络时间服务器 技术架构

    基本思路是从NMEA018 3数据中提取时间信息,通过PPS信号来保证高精度。具体实现方法是采用GPS接收模块G591来构造硬件电路,软件部分需要NTP服务器软件和GPS的正确安装和配置。 这种方式继承了NMEA串行校时方式可以获取时间信息的优势,同时利用了PPS脉冲校时延时估计误差小、精度高的特点,是一种简便有效的校时方案。 硬件平台搭建好了之后,本文对PPS信号和NMEA0183串行数据进行了相应的调试。 若由于天线或气象原因,G591模块没有接收到信号,则不会产生PPS信号,同时NMEA0183语句中的GPRMC语句的标志位也会变成无效。 ,稳定性差,主要的原因是硬件资源分配过程中存在的随机性,使得NMEA串行数据的处理速度有随机偏差;本文采用的NMEA和PPS综合校时方案取得了较为理想的效果。

    86610编辑于 2024-03-27
  • 来自专栏CreateAMind

    https://github.com/CPFL/Autoware 自动驾驶框架比较齐全

    Install dependencies for Ubuntu 14.04 indigo % sudo apt-get install ros-indigo-desktop-full ros-indigo-nmea-msgs ros-indigo-nmea-navsat-driver ros-indigo-sound-play ros-indigo-jsk-visualization ros-indigo-grid-map Install dependencies for Ubuntu 15.04 jade % sudo apt-get install ros-jade-desktop-full ros-jade-nmea-msgs ros-jade-nmea-navsat-driver ros-jade-sound-play % sudo apt-get install ros-jade-controller-manager ros-jade-ros-control

    2.2K20发布于 2018-07-24
  • 来自专栏嵌入式开发圈

    C语言常用的一些转换工具函数收集

    pbSrc+i)-'0'); tmp = tmp*10; } } 效果:字符串:”123” 转为 123 第三种:包含转为浮点数 //m^n函数 //返回值:m^n次方. u32 NMEA_Pow =m; return result; } //str转换为数字,以','或者'*'结束 //buf:数字存储区 //dx:小数点位数,返回给调用函数 //返回值:转换后的数值 int NMEA_Str2num p++; } if(mask&0X02)buf++; //去掉负号 for(i=0;i<ilen;i++) //得到整数部分数据 { ires+=NMEA_Pow //最多取5位小数 *dx=flen; //小数点位数 for(i=0;i<flen;i++) //得到小数部分数据 { fres+=NMEA_Pow (10,flen-1-i)*(buf[ilen+1+i]-'0'); } res=ires*NMEA_Pow(10,flen)+fres; if(mask&0X02)res=-

    1.3K10发布于 2020-08-04
  • 来自专栏c语言与cpp编程

    C语言常用的一些转换工具函数!

    pbSrc+i)-'0'); tmp = tmp*10; } } 效果:字符串:”123” 转为 123 第三种:包含转为浮点数: //m^n函数 //返回值:m^n次方. u32 NMEA_Pow =m; return result; } //str转换为数字,以','或者'*'结束 //buf:数字存储区 //dx:小数点位数,返回给调用函数 //返回值:转换后的数值 int NMEA_Str2num p++; } if(mask&0X02)buf++; //去掉负号 for(i=0;i<ilen;i++) //得到整数部分数据 { ires+=NMEA_Pow //最多取5位小数 *dx=flen; //小数点位数 for(i=0;i<flen;i++) //得到小数部分数据 { fres+=NMEA_Pow (10,flen-1-i)*(buf[ilen+1+i]-'0'); } res=ires*NMEA_Pow(10,flen)+fres; if(mask&0X02)res=-

    1.6K20发布于 2020-12-02
  • 来自专栏全栈程序员必看

    GPS数据格式分析

    其中ASCII码为NMEA-0183,NMEA-0183是美国国家海洋电子协会为海用电子设备制定的标准格式. 前面的0也将被传输) <9> UTC日期,ddmmyy(日月年)格式; <10> 磁偏角(000.0~180.0度,前面的0也将被传输) <11> 磁偏角方向,E(东)或W(西) <12> 模式指示(仅NMEA0183 000~359度,前面的0也将被传输) <3> 地面速率(000.0~999.9节,前面的0也将被传输) <4> 地面速率(0000.0~1851.8公里/小时,前面的0也将被传输) <5> 模式指示(仅NMEA0183

    2.4K20编辑于 2022-09-10
  • 来自专栏机器人课程与技术

    ROS机器人项目开发11例-ROS Robotics Projects(8)自动驾驶汽车

    Install dependencies for Ubuntu 14.04 indigo % sudo apt-get install ros-indigo-desktop-full ros-indigo-nmea-msgs ros-indigo-nmea-navsat-driver ros-indigo-sound-play ros-indigo-jsk-visualization ros-indigo-grid-map Install dependencies for Ubuntu 16.04 kinetic % sudo apt-get install ros-kinetic-desktop-full ros-kinetic-nmea-msgs ros-kinetic-nmea-navsat-driver ros-kinetic-sound-play ros-kinetic-jsk-visualization ros-kinetic-grid-map

    1.4K51发布于 2019-01-23
  • 来自专栏杨丝儿的小站

    【自动驾驶】AutoWare笔记 施工中~

    install ros-noetic-jsk-recognition-msgs ros-noetic-jsk-rviz-plugins ros-noetic-lanelet2* ros-noetic-nmea

    80330编辑于 2022-03-01
  • 来自专栏Hello工控

    CAN总线4大优点!!!

    减少布线复杂性:传统的点对点布线系统需要在每个相关节点之间设置专用线路,这使得系统成本高昂且不够灵活——一个很好的例子是NMEA 0183与NMEA 2000的对比。

    85710编辑于 2024-10-28
领券