1

更新见编辑!

我已经为 Raspberry Pi 4 安装了 LineageOS 18.1(这是一款很棒的软件),一切似乎都运行正常。GPS除外。我有一个连接到 Pi 的 A9G。它连接到第一个 Pi 的 UART,我可以看到 ttyAMA0 上的数据。

:/ # microcom -s 9600 /dev/ttyAMA0 
$GNGGA,092800.998,4955.7547,N,00900.2330,E,0,0,,102.0,M,48.0,M,,*5E
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$BDGSA,A,1,,,,,,,,,,,,,,,*0F
$GPGSV,1,1,00*79
$BDGSV,1,1,00*68
$GNRMC,092800.998,V,4955.7547,N,00900.2330,E,0.000,0.00,211021,,,N*55
$GNVTG,0.00,T,,M,0.000,N,0.000,K,N*2C
$GNGGA,092801.998,4955.7547,N,00900.2330,E,0,0,,102.0,M,48.0,M,,*5F
$GPGSA,A,1,,,,,,,,,,,,,,,*1E
$BDGSA,A,1,,,,,,,,,,,,,,,*0F
$GPGSV,1,1,00*79
$BDGSV,1,1,00*68
$GNRMC,092801.998,V,4955.7547,N,00900.2330,E,0.000,0.00,211021,,,N*54
$GNVTG,0.00,T,,M,0.000,N,0.000,K,N*2C
$GNGGA,092802.998,4955.7547,N,00900.2330,E,0,0,,102.0,M,48.0,M,,*5C

我将 GPS 接收器更改为在 /vendor/build.prop 中使用 ttyAMA0

# GPS ro.kernel.android.gps=ttyAMA0

我也尝试添加

ro.kernel.android.gpsttybaud = 9600

或者

ro.kernel.android.gps.speed = 9600

但没有一个 App 可以接收 GPS 数据。我觉得我错过了一些非常简单但必不可少的东西。

非常感谢任何帮助

编辑 好的,我更进一步。第一个问题显然是,多么令人讨厌,一个权限问题。我在文件中对其进行了调整:/vendor/ueventd.rc

从:

/dev/ttyAMA0 0660 bluetooth bluetooth
至:

/dev/ttyAMA0 0660 system radio

现在似乎正在接收并正确解释数据。但是当我打开一个 GPS 测试应用程序时,信号在闪烁。几乎就像从 ttyACM0 读取其他内容一样。

可能吗?

只是为了澄清“闪烁”的含义,请查看https://cloud.sobi.pro/f/68f0398aea1549918376/

4

1 回答 1

0

我也有同样的闪烁问题。我可以在地图程序或物理工具箱中看到它,在那里我可以看到 GPS LAT LONG。它在“真实”位置和 LAT 和 LONG 的 0.00000 之间闪烁。

我在 Raspberry Pi 4 上使用 LineageOS17.1

我的 Ultimate GPS USB 来自 Adafruit,位于 /dev/ttyUSB0

我尝试使用 /vendor 和 /system 更新 build.prop

ro.kernel.android.gps.speed = 9600

ro.kernel.android.gps = ttyUSB0

我最终使用的解决方案是从 build.prop 中删除 r0.kernel... 并使用应用程序 GPS 连接器

https://play.google.com/store/apps/details?id=de.pilablu.gpsconnector&hl=en_US&gl=US

在“选择模拟位置应用程序”下的开发人员选项中启用,您可以选择 GPS 连接器。

您可以让 GPS 连接器应用程序在启动时启动。

如果您发现比使用应用程序更优雅的解决方案,请回复。

于 2021-12-03T01:14:55.860 回答