GPS更新率 树莓派 杰西 VS. 喘息



我已经在互联网上搜索了这个问题,但找不到任何答案。这是该项目的要点以及我到目前为止所做的工作

项目:我校参加探空火箭比赛。我负责有效载荷,我们的部分有效载荷包括GPS。我们的火箭可以升达 2 英里,不会打破音障

GPS

模块:阿达果最终时间GPS突破

树莓派模型:B+ 或 2(我们可以同时访问两者)

问题:由于火箭的行进速度非常快(大约700-800英尺/秒),我们需要GPS以比每秒一次更快的速度更新(默认速率)。我有 2 个树莓派,都使用 GPSD 守护程序和个人 python 脚本。问题在于:使用 debian Wheezy,我可以使用以下命令从 bash 设置更新速率

"echo -e "\$PMTK 251,57600*2C\r">/dev/ttyUSB0" - 更新波特率

"echo -e "\$PMTK 220,200*2C\r">/dev/ttyUSB0" - 更新 NMEA 句子

"stty -F/dev/ttyUSB0 57600 clocal cread cs8 -cstopb -parenb" - 更新树莓派的波特率

在 debian Wheezy 上,这些命令有效,我以每秒 5 次的速度获得 GPS 坐标。 - 没问题。

另一个 pi 使用 Debian Jessie,当我运行确切的命令时,它们不起作用,GPS 单元继续以每秒一次的默认速率更新。

我很困惑为什么它会在 Wheezy 上工作,但在 Jessie 上它拒绝合作。

一些附加信息:- 我们通过USB0(不是AMA0)进行通信- Jessie本身不支持GPS功能,必须手动更改如何收听GPS芯片(wheezy本机支持此功能,无需更改),- 我们使用的是完整的杰西(不是精简版)。- 当我更改 Pi Jessie 的波特率时,我跟进查看它的设置(使用:stty -F/dev/ttyUSB0 -a),它告诉我波特率是我给它的新值(即/57600)。

所以我认为问题在于设置实际的 GPS 单位波特率/NMEA 量刑

我想我已经包含了所有相关信息,但如果我遗漏了一些东西,我道歉,并可以澄清任何不够清楚的事情。

任何帮助将不胜感激,因为我们想升级到 Jessie(我们在探空火箭上包含的其他芯片和程序与 Jessie 一起运行更顺畅),但 GPS 是不这样做的主要原因。

我意识到这是一个旧线程,但由于我遇到了同样的问题,我将发布我的解决方案,以便它可以帮助其他人。

我有一个Raspberry 3 B+运行Raspbian Stretch,Adafruit Ultimate GPS连接到ttyAMA0。对于 RPi3,需要通过将以下行添加到/boot/config.txt 来禁用蓝牙模块:

dtoverlay=pi3-disable-bt

无论如何,如上所述,我以前能够通过回显命令对 GPS 模块进行编程。但是,这次没有成功。最后,我设法通过安装终端程序CuteCom对其进行编程。

启动程序,在设置下更改波特率,然后按打开。然后,NMEA 句子应出现在窗口的下部。确保行尾终止设置为 CR/LF,并直接给出输入命令,不带连字符或线路终止。例如,要将波特率更改为 57600,请写入:

$PMTK 251,57600*2C

然后

必须关闭连接,波特率相应地改变,然后再次打开。我注意到有时需要在更改发生之前重复该命令。如果备用电池安装在GPS模块上,则断电时将保留设置。

最新更新