首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pi 3+微栈GPS通信

Pi 3+微栈GPS通信
EN

Stack Overflow用户
提问于 2016-04-08 06:35:53
回答 3查看 3.9K关注 0票数 0

我买了一个Raspberry Pi 3型号B,一个微栈基板和一个微栈GPS。

我遵循了正式文档中的说明,但我无法连接到GPS。

基本上,GPS引导闪烁,这意味着它找到了一个gps修复,但我看不到任何数据从PI。

例如,如果我尝试

代码语言:javascript
复制
cat /dev/ttyAMA0

我总是什么都得不到。我已经使用raspi-config禁用内核串行,并启用i2c和spi。

如果我试着

代码语言:javascript
复制
stty -F /dev/ttyAMA0 ispeed 4800 && cat </dev/ttyAMA0"

我犯了个错误。

有人有什么建议吗?

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

非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-04-26 18:06:41

我终于找到了一个解决办法:

在Pi 3,有更多的步骤使用串行,你必须禁用BT。

编辑配置文件:

代码语言:javascript
复制
sudo nano /boot/config.txt

在底部添加以下内容:

代码语言:javascript
复制
dtoverlay=pi3-disable-bt-overlay

然后运行以下命令:

代码语言:javascript
复制
sudo systemctl disable hciuart
票数 1
EN

Stack Overflow用户

发布于 2016-04-09 01:34:28

很难说已经做了什么,或者没有做什么。来自Micro堆栈的“正式”文档提供了两种设置串口的方法。然后,它继续与

自动启动gpsd以在Raspberry Pi启动时自动启动gps服务,通过键入终端重新配置GPS守护进程 sudo dpkg-­reconfigure gpsd 当被问及是否要自动启动gpsd时,请选择<yes>。 当被问到“应该自动处理附加的USB接收器”时,选择<no>。 当被问到“GPS接收器连接到哪个设备上”时,输入/dev/ttyAMA0。 接受其他选项的默认值。

如果您已经按照指令配置了您的串行端口,并将gpsd配置为自动启动和拾取您刚刚安装的设备...then,因为gpsd正在处理该设备(对吗?),设备将很忙,命令cat /dev/ttyAMA0 返回cat: /dev/ttyAMA0: Device or resource busy...but,但它没有。

要么没有按照指令配置串行,要么gpsd没有运行并拾取设备,或者两者兼而有之。

目标不是要cat你的全球定位系统数据,但cat没有返回一个错误表明有什么不对劲。

通常情况下,这只是一个错误。但这可能是因为在这个过程中跳过了一步,或者混合了各种来源的指令,这样左手就不知道右手做了什么。

尝试:sudo killall gpsd,如果它返回回答一个问题的gpsd: no process found

如果它返回时没有错误,请使用cat /dev/ttyAMA0跟踪它。如果它什么也不返回,你应该看的方向是你的串口配置。

如果sudo dpkg-reconfigure gpsd不允许您重新配置(我还以为只有我),您可以使用您最喜欢的编辑器来修改gpsd的配置,例如sudo nano /etc/default/gpsd并输入以下内容:

代码语言:javascript
复制
# 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和-G很有用。保存并重新启动。

票数 1
EN

Stack Overflow用户

发布于 2016-10-05 08:42:43

这篇文章对我很有用

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

我建议你读一读

现在在RPI3上串行口

ttyAMA0是由BlueTooth使用的,ttySO指的是GPIO,Alias Serial0指的是RPI2和RPI3上的GPIO。因此:

用最近的版本重新安装Jessie,以确保一切都是干净的

像往常一样

代码语言:javascript
复制
$ sudo apt-get update 
$ sudo apt-get upgrade

$ sudo  raspi-config

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

代码语言:javascript
复制
$ sudo apt-­get install python3-­microstacknode

安装gpsd标准工具

代码语言:javascript
复制
$ sudo apt­-get install gpsd gpsd-­clients python­-gps

编辑GPSD

代码语言:javascript
复制
$ sudo nano /etc/default/gpsd

并提出以下选择:

代码语言:javascript
复制
START_DAEMON="true"
USBAUTO="false"
DEVICES="/dev/serial0"
GPSD_OPTIONS="-n -G"

同样的

代码语言:javascript
复制
$ sudo nano /boot/cmdline.txt

删除

console=serial0,115200与保存

代码语言:javascript
复制
$ sudo nano /boot/config.txt

你一定在最后

代码语言:javascript
复制
enable_uart=1

禁用控制台

代码语言:javascript
复制
$ sudo systemctl stop serial-getty@ttyS0.service
$ sudo systemctl disable serial-getty@ttyS0.service

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

很明显是重新启动

全球定位系统的奇迹

代码语言:javascript
复制
cgps -s

注意:你必须对全球定位系统(红色led闪光灯)进行修复。

杰弗伦克纳赫特

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36493084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档