很难说做了什么,什么没做。Microstack的“官方”文档提供了两种设置串行端口的方法。然后它继续
自动启动 gpsd 要在 Raspberry Pi® 启动时自动启动 gps 服务,请在终端中键入重新配置 GPS 守护程序
sudo dpkg-reconfigure gpsd
●<yes>
当询问您是否要自动启动 gpsd 时选择。
●<no>
当询问“gpsd 是否应自动处理连接的 USB GPS 接收器”时选择。
● 当询问“GPS 接收器连接到哪个设备”时,输入
/dev/ttyAMA0
。
● 接受其他选项的默认值。
如果您已按照说明配置串行端口并将gpsd 配置为自动启动并拾取您刚刚设置的设备,...那么,由于 gpsd 正在处理设备(对吗?),设备将很忙,并且命令cat /dev/ttyAMA0
应该返回cat: /dev/ttyAMA0: Device or resource busy
......但是,它没有。
序列号未按照说明配置,或者 gpsd 未运行并拾取设备,或两者兼而有之。
目标不是cat
您的 gps 数据,但cat
不返回错误表明有问题。
通常,这只是一个错字。但这可能是由于跳过了流程中的一个步骤,或者混合了来自各种来源的指令,以使左手不知道右手做了什么。
尝试:
sudo killall gpsd
如果它返回gpsd: no process found
回答一个问题。
如果返回没有错误,请使用cat /dev/ttyAMA0
. 如果它没有返回任何内容,那么您应该查看的方向是您的串行端口配置。
如果sudo dpkg-reconfigure gpsd
不允许您重新配置(我以为只是我),您可以使用您最喜欢的编辑器修改 gpsd 的配置,例如sudo nano /etc/default/gpsd
并输入以下内容:
# Default settings for the gpsd init script and the hotplug wrapper.
# Start the gpsd daemon automatically at boot time
START_DAEMON="true"
# Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO="false"
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/ttyAMA0"
# Other options you want to pass to gpsd
GPSD_OPTIONS="-n -G"
您可能会发现-n
and -G
很有用。保存并重新启动。