Pi 3 + 微堆栈 GPS 通信
Pi 3 + Microstack GPS communication
我买了一个 Raspberry Pi 3 Model B,一个 microstack 底板和一个 microstack GPS。
我按照官方文档中的说明进行操作,但无法连接到 GPS。
基本上,GPS 指示灯会闪烁,这意味着它已找到 gps 修复,但我看不到来自 PI 的任何数据。
例如,如果我尝试
cat /dev/ttyAMA0
我总是一无所获。我已经使用 raspi-config 禁用内核串行并启用 i2c 和 spi。
如果我试试
stty -F /dev/ttyAMA0 ispeed 4800 && cat </dev/ttyAMA0"
我收到一个错误。
请问大家有什么建议吗?
或者这些模块可能与 Pi 3 不兼容?
非常感谢!
很难说什么已经完成,什么没有完成。 'official' documentation from Microstack 提供了两种设置串口的方法。然后它继续
Automatically Starting gpsd
To automatically start the gps service when the Raspberry Pi® boots, reconfigure the GPS
daemon by typing into a terminal
sudo dpkg-reconfigure gpsd
● Choose <yes>
when asked if you want to start gpsd automatically.
● Choose <no>
when asked “should gpsd handle attached USB GPS
receivers automatically” .
● When asked which “Device the GPS receiver is attached to” , enter
/dev/ttyAMA0
.
● Accept the defaults for other options.
如果您已经按照说明配置了串行端口 并且 将 gpsd 配置为自动启动并接收您刚刚设置的设备,...那么,由于 gpsd 是处理设备(对吗?),设备会很忙,命令 cat /dev/ttyAMA0
应该 return cat: /dev/ttyAMA0: Device or resource busy
...但是,它没有.
串口未按照说明配置,或者 gpsd 未运行 正在拾取设备,或两者都没有。
目标不是 cat
您的 gps 数据,但 cat
不是 returning 一个 错误 表明有问题。
通常,这只是一个拼写错误。但这可能是由于跳过了过程中的一个步骤,或者混合了来自各种来源的指令,以至于左手不知道右手做了什么。
尝试:
sudo killall gpsd
如果它 returns gpsd: no process found
回答了一个问题。
如果 return 没有错误,请跟进 cat /dev/ttyAMA0
。如果return没什么,你应该看的方向是你的串口配置。
如果 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
和 -G
很有用。保存并重启。
我终于找到了解决办法:
Pi 3使用串口的步骤比较多,需要关闭BT。
编辑配置文件:
sudo nano /boot/config.txt
在底部添加:
dtoverlay=pi3-disable-bt-overlay
然后运行这个:
sudo systemctl disable hciuart
这篇文章对我很有用
我建议你阅读它
现在在 RPI3 上串口
蓝牙使用ttyAMA0
ttySO 指的是 GPIO
Alias Serial0 是指 RPI2 和 RPI3 上的 GPIO。
所以:
用最新版本重新安装 Jessie 以确保一切正常
一如既往
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo raspi-config
转到高级选项:您是否希望登录 shell 可以通过串行访问?响应 "yes"(与微堆栈数据表中的不同)
$ 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
移除
console=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 闪烁)
jpherrenknecht
我买了一个 Raspberry Pi 3 Model B,一个 microstack 底板和一个 microstack GPS。
我按照官方文档中的说明进行操作,但无法连接到 GPS。
基本上,GPS 指示灯会闪烁,这意味着它已找到 gps 修复,但我看不到来自 PI 的任何数据。
例如,如果我尝试
cat /dev/ttyAMA0
我总是一无所获。我已经使用 raspi-config 禁用内核串行并启用 i2c 和 spi。
如果我试试
stty -F /dev/ttyAMA0 ispeed 4800 && cat </dev/ttyAMA0"
我收到一个错误。
请问大家有什么建议吗?
或者这些模块可能与 Pi 3 不兼容?
非常感谢!
很难说什么已经完成,什么没有完成。 'official' documentation from Microstack 提供了两种设置串口的方法。然后它继续
Automatically Starting gpsd To automatically start the gps service when the Raspberry Pi® boots, reconfigure the GPS daemon by typing into a terminal
sudo dpkg-reconfigure gpsd
● Choose
<yes>
when asked if you want to start gpsd automatically.
● Choose<no>
when asked “should gpsd handle attached USB GPS receivers automatically” .
● When asked which “Device the GPS receiver is attached to” , enter/dev/ttyAMA0
.
● Accept the defaults for other options.
如果您已经按照说明配置了串行端口 并且 将 gpsd 配置为自动启动并接收您刚刚设置的设备,...那么,由于 gpsd 是处理设备(对吗?),设备会很忙,命令 cat /dev/ttyAMA0
应该 return cat: /dev/ttyAMA0: Device or resource busy
...但是,它没有.
串口未按照说明配置,或者 gpsd 未运行 正在拾取设备,或两者都没有。
目标不是 cat
您的 gps 数据,但 cat
不是 returning 一个 错误 表明有问题。
通常,这只是一个拼写错误。但这可能是由于跳过了过程中的一个步骤,或者混合了来自各种来源的指令,以至于左手不知道右手做了什么。
尝试:
sudo killall gpsd
如果它 returns gpsd: no process found
回答了一个问题。
如果 return 没有错误,请跟进 cat /dev/ttyAMA0
。如果return没什么,你应该看的方向是你的串口配置。
如果 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
和 -G
很有用。保存并重启。
我终于找到了解决办法:
Pi 3使用串口的步骤比较多,需要关闭BT。
编辑配置文件:
sudo nano /boot/config.txt
在底部添加:
dtoverlay=pi3-disable-bt-overlay
然后运行这个:
sudo systemctl disable hciuart
这篇文章对我很有用
我建议你阅读它
现在在 RPI3 上串口
蓝牙使用ttyAMA0 ttySO 指的是 GPIO Alias Serial0 是指 RPI2 和 RPI3 上的 GPIO。 所以:
用最新版本重新安装 Jessie 以确保一切正常
一如既往
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo raspi-config
转到高级选项:您是否希望登录 shell 可以通过串行访问?响应 "yes"(与微堆栈数据表中的不同)
$ 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
移除
console=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 闪烁)
jpherrenknecht