我在互联网上搜索了这个问题,但找不到任何类型的答案。以下是该项目的要点以及我到目前为止所做的工作
项目:我们学校参加探空火箭比赛。我负责有效载荷,我们的部分有效载荷包括GPS。我们的火箭飞行了2英里,没有突破音障。
GPS模块: Adafruit ultime GPS突破
覆盆子Pi模型: B+或2(我们可以访问这两种模型)
问题:由于火箭的速度非常快(大约700-800英尺/秒),我们需要GPS以比每秒一次(默认速率)更快的速度更新。我有2个覆盆子圆周率都使用GPSD守护进程,和个人的python脚本。问题在于:使用debian Wheezy,我可以使用以下命令从bash设置更新率
"echo -e "\$PMTK251,57600*2C\r\n“> /dev/ttyUSB0”-更新波特率
"echo -e "\$PMTK220,200*2C\r\n“> /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) -杰西本身不支持GPS功能,一个人必须手动更改如何收听GPS芯片(wheezy本机支持这一点,没有必要进行更改),-我们使用完整的Jessie (而不是lite)。-当我更改Pi Jessie的波特率时,我跟踪查看它的设置(使用: stty -F /dev/ttyUSB0 -a),它告诉我波特率是我给它的新值(即/ 57600)。
因此,我认为问题出在设置实际的GPS单位波特率/NMEA量刑
我想我已经包括了所有相关的信息,但如果我遗漏了什么,我道歉,并可以澄清任何不够清楚的地方。
任何帮助都会非常感谢,因为我们想升级到杰西(其他芯片和程序,我们结合在探测火箭运行更顺畅的杰西),但GPS是一个主要的原因不是这样做。
发布于 2019-01-14 06:17:36
我意识到这是一个老帖子,但由于我遇到了同样的问题,我将发布我的解决方案,以便它可能对其他人有所帮助。
我有一个树莓3 B+运行树莓延伸,Adafruit终极全球定位系统连接到ttyAMA0。对于RPi3,需要通过在/RPi3/config.txt中添加以下行来禁用蓝牙模块:
dtoverlay=pi3-disable-bt
无论如何,我以前已经能够通过echo命令对GPS模块进行编程,如上所述。然而,这一次没有成功。最后,我成功地通过安装终端程序CuteCom对其进行了编程。
启动程序,更改设置下的波特率,然后按打开。然后,NMEA语句应出现在窗口的下半部分。确保行尾终止设置为CR/LF,并直接输入命令,不带连字符或行终止符。例如,要将波特率更改为57600写入:
$PMTK251,57600*2C
然后必须关闭连接,相应地更改波特率,然后再次打开。我注意到,有时在发生更改之前,需要重复命令。如果备用电池安装在GPS模块上,则在断电时会保留设置。
https://stackoverflow.com/questions/36088873
复制相似问题