GPSD没有得到很好的修复

GPSD没有得到很好的修复,gps,raspberry-pi,tty,gpsd,Gps,Raspberry Pi,Tty,Gpsd,我有一个GPS模块通过USB连接到树莓Pi 出于某种原因,我似乎无法通过以下方式获得修复: cgps 它似乎没有得到修复并终止 我也试过: sudo killall gpsd sudo gpsd/dev/ttyUSB0-F/var/run/gpsd.sock 然后又尝试了cgps,但似乎也不起作用 我甚至试过: sudo nano/etc/default/gpsd 并更改了行: GPSD_选项=“” 致: GPSD_OPTIONS=“/dev/ttyACM0” 这显然对网络上的其他人有效,但在重

我有一个GPS模块通过USB连接到树莓Pi

出于某种原因,我似乎无法通过以下方式获得修复:

cgps

它似乎没有得到修复并终止

我也试过:

sudo killall gpsd

sudo gpsd/dev/ttyUSB0-F/var/run/gpsd.sock

然后又尝试了cgps,但似乎也不起作用

我甚至试过:

sudo nano/etc/default/gpsd

并更改了行:

GPSD_选项=“”

致:

GPSD_OPTIONS=“/dev/ttyACM0”

这显然对网络上的其他人有效,但在重新启动后,也不起作用

但出于某种原因,当我这样做时:

gpsmon/dev/ttyUSB0

我得到了完整的数据读数;纬度、经度、卫星、高度、分机

有没有办法将
gpsmon/dev/ttyUSB0
句子输出到文本文件中

还有,为什么我不能使用CGP或类似的工具获得一个定位?

是一个很好的应用程序,可以简化gps的使用,但可能会有点混乱

如果您使用的是Rasbian或基于
apt
的软件包系统,最好使用
sudo dpkg-reconfigure-gpsd
对其进行配置,以避免出现复杂情况(tyqos),但这不是必需的。我们有偏好,但你可能没有

  • 自动启动
  • -n
    不要等待客户端
  • -G
    监听所有地址
  • -b
    损坏的设备安全模式,以及
  • 自动查找
生成的配置文件如下所示

# Default settings for gpsd.
# Please do not edit this file directly - use `dpkg-reconfigure gpsd'  to
# change the options.
START_DAEMON="true"
GPSD_OPTIONS="-n -G -b"
DEVICES=""
USBAUTO="true"
GPSD_SOCKET="/var/run/gpsd.sock"
当gpsd以这种方式运行时,这种方法的主要障碍是它会在您可以之前抓取gps。尝试独立直接访问设备
/dev/无论什么
都会因为忙而失败

如果出于任何原因,在执行任何其他操作之前,您希望执行该路线,请确保gpsd未运行

sudo killall gpsd

并移除gpsd可能留下的任何插槽

sudo rm/var/run/gpsd.sock

通过连接gps并使用
dmesg | tail
跟踪gps的位置,检查gps的位置。看起来像

[67338.935645] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[67338.935650] usb 1-1.2: Product: USB-Serial Controller
[67338.935653] usb 1-1.2: Manufacturer: Prolific Technology Inc.
[67338.936154] pl2303 1-1.2:1.0: pl2303 converter detected
[67338.937953] usb 1-1.2: pl2303 converter now attached to ttyUSB1
[67339.806917] pl2303 ttyUSB1: usb_serial_generic_read_bulk_callback - urb stopped: -32
[67339.807306] pl2303 ttyUSB1: usb_serial_generic_read_bulk_callback - urb stopped: -32
[67340.018016] pps_ldisc: PPS line discipline registered
[67340.018321] pps pps0: new PPS source usbserial1
[67340.018330] pps pps0: source "/dev/ttyUSB1" added
然后,您可以使用
sudocat/dev/ttyUSB1
…或其他任何工具检查输出,但您可以在gpsd运行时进行检查。(您也可以将其压缩到文本文件
sudo cat/dev/ttyUSB1>gps_dump.txt
,或
gpsmon/dev/ttyUSB0>gps_dump.txt
,但还有更优雅的解决方案。)

混淆的另一面是gpsd没有gps输出,因为它没有运行或配置“正确”。(关闭、未启动或指向错误的设备)。一些应用程序会告诉您它没有运行,许多应用程序只是静静地坐着,没有任何数据。我知道没有人会告诉你gpsd被手动设置到了错误的设备

如果您已经关闭了gpsd,或者没有自动启动它,请确保它使用
sudo/etc/init.d/gpsd restart运行

除非你用奇怪的硬件做一些奇怪的事情,否则大多数情况下会在这些设置中使用gpsd吐回数据,从而省去了对诊断设置的需要

但是,请记住,如果没有修复,cgps将超时。检查您的skyview,然后单击<另一方面,code>xgps对故障具有更强的恢复能力,并为数据的缺失或质量提供线索。如果您有一台X服务器,
xgps
实际上是我对“它是否工作”的首选测试。如果您没有,但是您的Pi在网络上(
xgps 192.168.0.6
,或者其他什么,因为另一台机器安装了gpsd客户端)。另一个选项是
ssh-Xuser@192.168.0.6
然后执行
xgps

远程登录到gpsd,虽然很有趣,但和其他诊断一样,是另一层诊断


最后,一个无耻的插件作为从gpsd访问数据的手段。它仍然是alpha,但它不导入历史积垢

您可能绑定到了错误的序列号。您可以在未插入设备的情况下导航到下面的文件夹,然后在插入设备的情况下刷新,从而发现GPS设备的序列号

cd /dev/
ls
我的设备名为“ttyACM0”

安装必要的软件包

sudo apt-get install gpsd gpsd-clients python-gps
停止守护进程

sudo systemctl stop gpsd.socket
sudo systemctl disable gpsd.socket
向公共端口和本地主机公开服务

vim /lib/systemd/system/gpsd.socket
将127.0.0.1更改为0.0.0.0

停止GPSD服务

sudo killall gpsd
将服务绑定到串行设备

sudo gpsd /dev/ttyACM0 -F /var/run/gpsd.sock
显示GPS数据

gpsmon
这段视频一步一步地展示了如何做你正在寻找的事情

如何在RaspberryPi上安装GPS


对过程的精彩解释!正如你上面所说的,我认为我有很多困惑是因为像cgps和xgps这样的各种工具不承认或显示gpsd的状态。我来试试你说的。也许我的问题是没有“移除”任何插座。我会在实验的过程中不断更新你。再次感谢!无法让gpsd输出任何内容,但您的gpsmon/dev/ttyUSB0命令起作用了+1对于遇到此问题的任何人,接受的答案对我来说都不起作用,但这只完成了一半步骤:使用-D4-n-n运行gpsd并显示日志