0

我买了一个 Raspberry Pi 3 Model B、一个微堆栈基板和一个微堆栈 GPS。

我按照官方文档中的说明进行操作,但无法连接到 GPS。

基本上,GPS LED 闪烁,这意味着它找到了 GPS 修复,但我看不到 PI 中的任何数据。

例如,如果我尝试

cat /dev/ttyAMA0

我总是一无所获。我已经使用 raspi-config 禁用内核串行并启用 i2c 和 spi。

另外,如果我尝试

stty -F /dev/ttyAMA0 ispeed 4800 && cat </dev/ttyAMA0"

我得到一个错误。

请问有人有什么建议吗?

或者这些模块可能与 Pi 3 不兼容?

非常感谢!

4

3 回答 3

1

我终于找到了解决方案:

在 Pi 3 上,使用串口有更多步骤,您必须禁用 BT。

编辑配置文件:

sudo nano /boot/config.txt

在底部添加:

dtoverlay=pi3-disable-bt-overlay

然后运行这个:

sudo systemctl disable hciuart
于 2016-04-26T18:06:41.933 回答
1

很难说做了什么,什么没做。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"

您可能会发现-nand -G很有用。保存并重新启动。

于 2016-04-09T01:34:28.283 回答
0

这篇文章对我很有用

http://spellfoundry.com/2016/05/29/configuring-gpio-serial-port-raspbian-jessie-including-pi-3/#comment-67160

我建议你阅读

现在在 RPI3 上的串口

ttyAMA0 被蓝牙使用 ttySO 指的是 GPIO Alias Serial0 指的是 RPI2 和 RPI3 上的 GPIO。所以 :

在使用最新版本重新安装 Jessie 以确保一切正常后

照常

$ sudo apt-get update 
$ sudo apt-get upgrade

$ sudo  raspi-config

转到高级选项:您是否希望通过串行访问登录 shell?响应“是”(不像微堆栈数据表中的那样)

$ sudo apt-­get install python3-­microstacknode

安装 gpsd 标准工具

$ sudo apt­-get install gpsd gpsd-­clients python­-gps

编辑 GPSD

$ sudo nano /etc/default/gpsd

并输入选项:

START_DAEMON="true"
USBAUTO="false"
DEVICES="/dev/serial0"
GPSD_OPTIONS="-n -G"

一样

$ sudo nano /boot/cmdline.txt

消除

控制台=serial0,115200 并保存

$ sudo nano /boot/config.txt

你必须在最后

enable_uart=1

通过以下方式禁用控制台

$ sudo systemctl stop serial-getty@ttyS0.service
$ sudo systemctl disable serial-getty@ttyS0.service

我也做过 $ sudo chmod 775 ../../dev/ttySO(我不知道是否真的有必要)

显然是重新启动

和gps一起工作的奇迹

cgps -s

注意:您必须修复 GPS(红色 LED 闪烁)

杰弗伦克内西特

于 2016-10-05T08:42:43.327 回答