在树莓派上使用GPS模块

2023-05-16

GPSD介绍

GPSD是一个Linux下的一个守护进程,用以侦听来自GPS接收器的位置等信息,并将这些位置信息转换成一种简化的格式。
GPSD支持二十多种不同GPS输出格式的GPS接收机,例如NMEA、Ashtech、AIVDM、iTalk Binary、Trimble TSIP、RTCM、uBlox UBX binary等。将收到的packet解析之后,可以通过D-BUS、共享内存和socket(默认端口为:2947)方式输出。
GPSD packet中同时提供了多种客户端,例如gpsctl、gpsmon、gpspipe等,可以根据需要进行使用。
gpsd 是通过串行或USB端口监视连接到主机的一个或多个GPS或AIS接收器的服务守护程序,使得可以在主机的TCP端口2947上查询传感器的位置/路线/速度的所有数据。
使用gpsd多个位置感知客户端应用程序可以共享对支持的传感器的访问,而无需争用或丢失数据。而且,gpsd响应大多数GPSs发出的NMEA 0183格式的查询更容易解析。该gpsd分发包括可链接的C服务库,C ++包装类和一个Python模块,开发者gpsd应用程序可以使用它来封装所有的通信gpsd。
GPSD在移动嵌入式系统中无处不在。它是Android手机上的地图服务的基础。无人机,机器人潜艇和无人驾驶汽车无处不在。最近几代载人飞机,海洋导航系统和军车越来越普遍。
http://www.catb.org/gpsd/

在树莓派上测试GPS模块:

1、树莓派一个,GPS模块一个,USB转串口TTL模块一个。
2、使用ttyUSB0而不是使用树莓派的板载串口ttyAMA0,因为ttyUSB0串口使用起来更方便,可以随意的插拔,还可以在电脑、手机等其他设备上使用。
3、连接好GPS线,树莓派上插上USB串口,查看设备名
ls /dev/ttyUSB*
其中”ttyUSB0”就是GPS模块的设备名。
注:如果你的串口gps的设备名不是“ttyUSB0”,就请用你自己设备名替换。
4、安装gpsd相关的软件和库
sudo apt-get install gpsd gpsd-clients python-gps
5、使用cat命令查看gps模块输出
cat /dev/ttyUSB0
6、设置gpsd的gps数据源是gps模块的设备名ttyUSB0”
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
7、使用gpsd软件,显示gps信息
cgps -s
注:请将gps置于室外,或者窗户边,有利于gps定位,如果长时间显示“NO FIX”的状态,请移动gps的位置,并且使用下面命令重启gps模块:
sudo killall gpsd
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
8、用python3测试GPS,安装gps3库
pip3 install gps3
https://pypi.python.org/pypi/gps3
9、测试代码gpstest.py

#!/usr/bin/env python3
# coding=utf-8

from gps3 import agps3
#GPSDSocket creates a GPSD socket connection & request/retrieve GPSD output.
gps_socket = agps3.GPSDSocket()
#DataStream unpacks the streamed gpsd data into python dictionaries.
data_stream = agps3.DataStream()
gps_socket.connect()
gps_socket.watch()
for new_data in gps_socket:
    if new_data:
        data_stream.unpack(new_data)
        print('Altitude = ', data_stream.alt)
        print('Lat      = ', data_stream.lat)  
        print('Lon      = ', data_stream.lon)
        print('Speed    = ', data_stream.speed)

10、python3 gpstest.py
如果不能运行,请用下面命令重启gps模块:
sudo killall gpsd
sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
11、也可以选择其他python库测试,比如gpsd-py3
pip3 install gpsd-py3
12、gpsd-py3测试代码

import gpsd

# Connect to the local gpsd
gpsd.connect()

# Connect somewhere else
gpsd.connect(host="127.0.0.1", port=2947)

# Get gps position
packet = gpsd.get_current()

# See the inline docs for GpsResponse for the available data
print(packet.position())
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在树莓派上使用GPS模块 的相关文章

随机推荐

  • 【PX4 二次开发 初级】 02 飞控软硬件体系

    PX4 二次开发初级 PX4 飞控软硬件体系 飞控硬件体系PIXHAWK 控制硬件 软件体系PX4 体系原生固件原生固件官网原生固件地面站 APM 体系APM官网 xff1a 原生固件地面站 特点 标题 xff1a PX4二次开发教程 xf
  • 【PX4 二次开发 初级】 03 飞控调试以及地面站使用

    PX4 二次开发 初级 03 飞控调试以及地面站使用 前言IMU三轴稳定性内部构成陀螺仪加速度计磁力计 误差加速度 amp 陀螺仪 磁力计干扰测试 标题 xff1a PX4二次开发教程 xff1a 起源 xff1a 根据阿木实验室讲解课程整
  • 【嵌入式】牧马人G3 电子竞技鼠标拆解分析

    嵌入式 牧马人G3 电子竞技鼠标拆解分析 拆解性能以及构造A702 A704 数据手册引脚图引脚说明功能应用电路图 拆解 拆解后机械鼠标 生前图标 四个螺丝拆掉 左右两侧螺栓拆掉 上壳扒开 垫片剔除 xff0c 然后拔出隐藏在垫片下的螺栓
  • 【Mavros解析 】01 ROS消息以及常用指令

    Mavros解析 01ROS消息以及常用指令 示例代码一示例一代码解析ROS初始化消息订阅 xff1a 模板函数定时器回调循环睡眠函数 示例代码二示例二解析公布消息模板函数 标题 xff1a MAVROS教程 offboard模式下自主飞行
  • 【Mavros解析 】02 ROS服务以及在mavros中体现

    Mavros解析 02 ROS服务以及在mavros中体现 简介实现步骤步骤 1 xff1a 连接服务步骤 2 xff1a 实例化服务参数 xff1a 步骤 3 xff1a 请求服务 Demo头文件订阅回调函数主函数初始化订阅mavrso
  • Pixhawk---通过串口方式添加一个自定义传感器(超声波为例)

    xfeff xfeff Pixhawk 添加一个自定义传感器 超声波 xff08 串口方式 xff09 1 说明 首先超声波模块是通过串口方式发送 xff08 Tx xff09 出数据 xff0c 使用的模块数据发送周期为100ms xff
  • 【PX4 飞控剖析】01 offborad模式的开发与应用

    PX4 飞控剖析 01 offborad模式的开发与应用 offboard模式的开发及应用px4固件的模式自定义模式auto子模式外部模式应用场合 offboard模式的开发及应用 px4固件的模式 px4固件支持10几种飞行模式 xff0
  • 【mavros源码解析】10 MAVROS包含文件及消息机制

    Mavros解析 10 mavros源码 Mavros简介Mavros代码详解libmavconn xff1a mavros xff1a mavros extras mavros msgs MAVROS 包含文件include launch
  • 【PX4 飞控剖析】03 PX4固件烧录以及调试指南

    PX4 飞控剖析 03 PX4固件烧录以及QGC初步指南 一 加载固件二 加载参数三 校准传感器四 遥控器校准五 飞行模式六 电调校准七 检查参数 标题 xff1a PX4 飞控剖析 03 PX4固件烧录以及调试指南起源 xff1a 根据阿
  • 【PX4 飞控剖析】05 PIX4 连接QGC 可以烧录固件但是连接不上

    PX4 飞控剖析 05 PIX4 连接QGC 可以烧录固件但是连接不上 总结 如图 xff1a QGC error link Device on COM3 Error connecting Could not create port 这个是
  • 【SLAM】英特尔D455与D435i的区别

    SLAM 英特尔D455与D435i的区别 参考链接 xff1a bing搜索 D455 深度摄像头 官方介绍 D455 机械尺度更大 视场角范围更广 视场角更宽 同时RGB 传感器技术 支持全局快门 xff0c 如果对视野范围有要求的用户
  • Bubble Planner无人机运动规划算法解读

    Bubble Planner无人机运动规划算法解读 本文将介绍一种无人机的在线路径规划算法 Bubble Planner xff0c Bubble Planner 是港大张富老师MaRS实验室提出了一种的新型规划算法 xff0c 是一种用于
  • 【论文研读】无人机飞行模拟仿真平台设计

    无人机飞行模拟仿真平台设计 摘要 xff1a 为提高飞行控制算法的研发效率 降低研发成本 基于数字孪生技术设计一个无人机硬件在环飞行模拟仿真平台 从几何 物理和行为3个方面研究无人机数字模型构建方法 将物理实体以数字化方式呈现 设计一种多元
  • 【深度学习基础】

    最终效果如上图所示 xff1a 真不知道这一路有多艰难 众所周知CHATGPT 可以做表格和 公式 xff0c 但它输出的文本是直接渲染好的 你是直接复制不了的 xff0c 你只能复制它出来的字体 于是我尝试了各种 想让它输出表格和文字的方
  • 【蛤蟆先生去看心理医生】

    第一章 整个人都不太好 人物性格描述蛤蟆热情 时尚 爱冒险 xff0c 现在抑郁 xff0c 不能自拔獾智慧 威严河鼠关心朋友 xff0c 有点絮叨鼹鼠体贴善良 第二章 擎友前来相助 讲诉了鼹鼠和河鼠对蛤蟆情况的担忧和讨论 鼹鼠回忆起过去蛤
  • linux下tar、zip、rar解压缩命令使用

    zip 命令 将当前目录下的所有文件和文件夹全部压缩成myfile zip zip r myfile zip r表示递归压缩子目录下所有文件 把myfile zip文件解压到 home sunny unzip o d home sunny
  • Pixhawk—添加一个自定义传感器—超声波(串口方式)

    xfeff xfeff 版权声明 xff1a 本文为博主 原创 文章 xff0c 未经博主允许可以转载 xff0c 注明博客出处 xff1a http blog csdn net FreeApe 目录 43 Pixhawk添加一个自定义传感
  • parson例说

    例说 以JSON中国网站的例子 xff0c 测试代码 include 34 parson h 34 include lt stdio h gt include lt stdlib h gt void test write void void
  • IAR编译优化

    IAREWARM编译器和其他厂家的C编译器相比非常高效 但是当程序里面包含对时序要求比较严格的代码的时候 IAR常常会把这些代码过渡优化 破坏了时序的要求 造成程序错误 在程序代码比较紧的时候又必须优化 可以在要求比较严格的代码的函数前面
  • 在树莓派上使用GPS模块

    GPSD介绍 GPSD是一个Linux下的一个守护进程 xff0c 用以侦听来自GPS接收器的位置等信息 xff0c 并将这些位置信息转换成一种简化的格式 GPSD支持二十多种不同GPS输出格式的GPS接收机 xff0c 例如NMEA As