在没有内置 GPS 的安卓设备上使用 USB GPS;相当于gps

Posted

技术标签:

【中文标题】在没有内置 GPS 的安卓设备上使用 USB GPS;相当于gps【英文标题】:Using USB GPS on android device without builtin GPS; Equivalent of gpsd 【发布时间】:2016-06-05 15:06:27 【问题描述】:

我正在为 android 4.4 设备开发应用程序。这些没有内置 GPS。我打算使用 USB GPS (globalsat BU353-S4)。

我一直在寻找与 Linux 中可用的 gpsd 库等效的 Android。虽然我可以看到很少的应用程序(你在这里等),但我找不到任何可以在我的应用程序开发中使用的库 API。

所以,我正在考虑使用 USB host API 和 marine-api 库来执行此操作。我担心这会变得多么复杂,如果我在重新发明***。 谁有更好的建议在这里...

【问题讨论】:

【参考方案1】:

GPSD 可在 android 4.0 及更高版本上使用。

http://www.catb.org/gpsd/faq.html

Android 4.0 及以后版本使用 gpsd 解释数据流 来自车载 GPS

gpsd 处理来自您的 GPS 设备的 NMEA 数据。

如果由于某种原因它不在您的设备上,您可以下载并安装它。

http://www.catb.org/gpsd/installation.html

但是,您声明您的设备上没有 GPS 功能,您将使用 globalsat BU353-S4。

查看manual,您安装了驱动程序,GPS 设备将自身显示为一个 com 端口。假设 linux 驱动程序在您的 android 设备上运行,您将能够向 USB GPS 设备发送命令。

来自手册:

USB GPS 是否可以与其他街道测绘软件一起使用?

Globalsat USB GPS 接收器提供标准 NMEA 数据以进行测绘 使用和转换为坐标的软件,应该可以很好地使用 当今市场上大多数符合 NMEA 标准的软件。

您可以发送标准 NMEA 命令的方式

例如

GGA - 提供 3D 位置和精度数据的基本修复数据。

$GPGGA,123519,4807.038,N,01131.000,E,1,08,0.9,545.4,M,46.9,M,,*47

地点:

 GGA          Global Positioning System Fix Data
 123519       Fix taken at 12:35:19 UTC
 4807.038,N   Latitude 48 deg 07.038' N
 01131.000,E  Longitude 11 deg 31.000' E
 1            Fix quality: 0 = invalid
                           1 = GPS fix (SPS)
                           2 = DGPS fix
                           3 = PPS fix
               4 = Real Time Kinematic
               5 = Float RTK
                           6 = estimated (dead reckoning) (2.3 feature)
               7 = Manual input mode
               8 = Simulation mode
 08           Number of satellites being tracked
 0.9          Horizontal dilution of position
 545.4,M      Altitude, Meters, above mean sea level
 46.9,M       Height of geoid (mean sea level) above WGS84
                  ellipsoid
 (empty field) time in seconds since last DGPS update
 (empty field) DGPS station ID number
 *47          the checksum data, always begins with *

如果从 NMEA 开始,可能会感兴趣以下内容:

https://www.sparkfun.com/datasheets/GPS/NMEA%20Reference%20Manual-Rev2.1-Dec07.pdf

【讨论】:

据我所知,gpsd被Android系统内部使用;应用似乎没有办法访问 gpsd。 明白。与其他应用程序如何访问 gpsd 一样,这并没有真正的意义。我稍后会跟进 谢谢。我正在调查github.com/taimos/GPSd4Java - 到目前为止没有成功!

以上是关于在没有内置 GPS 的安卓设备上使用 USB GPS;相当于gps的主要内容,如果未能解决你的问题,请参考以下文章

telnet 可以用来在通过 USB 连接的真实 android 设备上设置 gps 位置吗?

Android 谷歌地图使用 GPS 定位而不是网络

在安卓设备上模拟位置

安卓上的gps跟踪

在 Android Wear 设备上获取 GPS 位置

安卓7.0没有无线adb