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-8from 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())

在树莓派上使用GPS模块相关推荐

  1. (非usb方式)树莓派4BCentos系统下使用SIM7600G-H进行GPS(直接插在树莓派上使用)

    (非usb方式)树莓派4BCentos系统下使用SIM7600G-H进行GPS(直接插在树莓派上使用) GPS接受天线必须放在能看到天空的地方 1.下载设置官方示例 1.将模块直接插入树莓派中:wge ...

  2. python gps模块_树莓派连接GPS模块

    一月份的时候觉得好玩买了树莓派,但是太懒没怎么研究,但最近当初买树莓派时的那个梦想又萦绕心头,决定抽空完成一下当年的计划~ GPS模块是其中很重要的一环,于是在某宝上搜索,找了一家相对便宜也很轻巧的G ...

  3. 与gps优缺点_浅谈用于洒水车上的液位传感器和GPS模块

    每天清晨都能看到洒水车工作,正是因为洒水车每天对路面进行洒水,才能保证公路不会因为高温而损害,从而起到良好的除尘效果.但是,在洒水车工作的时候,工作人员是如何知道车罐里面没有水了呢?这就需要用到液位传 ...

  4. 在树莓派上用python控制LED

    初步学习RPi.GPIO模块的过程中写了一个控制8个LED的模块,基本上只是一个对RPi.GPIO的一个封装 所需材料 一个已经安装配置好了的树莓派 连接控制树莓派所用的其他必须设备 200Ω电阻 x ...

  5. 在树莓派上进行python编程_在树莓派上用Python控制LED

    所需材料 一个已经安装配置好了的树莓派 连接控制树莓派所用的其他必须设备 200Ω电阻 x 8 led x 8 面包板及连接线若干 电路连接 电路图 按照电路图所示,在面包板上进行连接. 编写程序 安 ...

  6. Android 驱动和系统开发 2. 解析模拟器GPS模块 (原创)

    好久没有写技术博客了,恰逢今天还感冒了,这破天气,晚上凉风一吹,就感冒了,要加强锻炼呀. 好了,废话不多说,由于工作需要,我要移植一个虚拟的gps模块,于是乎,我就参考了Android模拟器的gps模 ...

  7. Android 驱动和系统开发 2. 解析模拟器GPS模块

    好久没有写技术博客了,恰逢今天还感冒了,这破天气,晚上凉风一吹,就感冒了,要加强锻炼呀. 好了,废话不多说,由于工作需要,我要移植一个虚拟的gps模块,于是乎,我就参考了android模拟器的gps模 ...

  8. 树莓派与GPS模块的那些事儿

    文章目录 一.简介 二.硬件准备 1.元器件清单 2.接线说明 三.软件准备 1.安装Python2 2.安装pynmea2库 3.配置mini串口 4.gps.py 四.知识准备 1.GPS数据解析 ...

  9. 树莓派连接GPS模块,python获取GPS数据

    文章主要内容: 模块之间的连接 树莓派识别gps模块 使用Python语言获取GPS数据 1.连线 ---- 使用 USB转TTL转换器,将树莓派和GPS模块连接 需要的设备:gps模块,gps天线, ...

最新文章

  1. 女程序员做编程也太难了吧! | 每日趣闻
  2. JavaScript中避免Form重复提交的两种方案
  3. C#的textBox输入法是全角输入的问题解决
  4. 从Google PR值审定标准来学习如何做推广
  5. docker安装问题:E: Package 'docker-ce' has no installation candidate
  6. python 文件加密_python实现文件快照加密保护的方法
  7. 有关SQL Server事务日志的十大文章
  8. jquery 分片上传php,jquery 大文件分片上传插件 fcup.js
  9. hdoj 2046 骨牌铺方格(递推)
  10. ElasticHD Windows环境下安装
  11. 物联网|ZETA技术助力远超抄表实现智能化、精细化
  12. fastai 2019 lesson9 notes 笔记
  13. iOS中分类(category)和类扩展(Extension)的区别
  14. 1 初识Mybatis
  15. 静态html无法进行post请求,静态页接收post请求
  16. X1 Carbon wifi 8260 无线网卡驱动安装 backports
  17. iObit Driver Booster 8 驱动更新失败 只停留在 1%
  18. win10打不开磁盘提示本次操作由于这台计算机的限制而被取消怎么办
  19. 【PyG】图神经网络GAT代码自学
  20. 华为鸿蒙系统p50,华为p50自带鸿蒙是什么意思_华为p50是鸿蒙系统吗

热门文章

  1. vue+element实现导入和导出excel
  2. 大数据技术第三章-分布式文件系统HDFS
  3. 【天光学术】银行会计主管竞聘演讲稿
  4. c语言检测正弦波波峰波谷,一种基于波峰波谷检测的计步算法的制作方法
  5. 【leetcode】765 情侣牵手(数组)
  6. 威创可视化大屏、恒泰实达集成电子使用总结
  7. 毕业五年,从月薪 1900 到月薪 5 万的心路历程
  8. 使用Python爬取最好大学网大学排名
  9. Java开发一个家庭收支记账软件
  10. CAD日照分析之如何创建日照模型?