在 android 台没有内置 GPS 的设备上使用 USB GPS;相当于gpsd
Using USB GPS on android device without builtin GPS; Equivalent of gpsd
我正在为 android 4.4 设备开发应用程序。这些没有内置 GPS。我打算使用 USB GPS (globalsat BU353-S4)。
我正在寻找 Android 相当于 Linux 中可用的 gpsd 库。虽然我能看到很少的应用程序(你在这里等),但我找不到任何可以在我的应用程序开发中使用的库 API。
因此,我正在考虑使用 USB host API with marine-api 库来执行此操作。我担心这会变得多么复杂,如果我要重新发明轮子。
大家有更好的建议吗...
GPSD 在 android 4.0 及更高版本上可用。
http://www.catb.org/gpsd/faq.html
Android 4.0 and later versions use gpsd to interpret the data stream
from the onboard GPS
gpsd 处理来自您的 GPS 设备的 NMEA 数据。
如果由于某种原因它不在您的设备上,您可以下载并安装它。
http://www.catb.org/gpsd/installation.html
但是,您声明您的设备上没有 GPS 功能,您将使用 globalsat BU353-S4。
查看 manual 您安装了驱动程序并且 GPS 设备将自身显示为 com 端口。假设 linux 驱动程序适用于您的 android 设备,您将能够向 USB GPS 设备发送命令。
来自手册:
Will the USB GPS work with other Street Mapping software?
Globalsat USB GPS receivers provides standard NMEA data for mapping
software to use and convert to coordinates and should work well with
most any NMEA compliant software on the market today.
这意味着您可以发送标准 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
我正在为 android 4.4 设备开发应用程序。这些没有内置 GPS。我打算使用 USB GPS (globalsat BU353-S4)。
我正在寻找 Android 相当于 Linux 中可用的 gpsd 库。虽然我能看到很少的应用程序(你在这里等),但我找不到任何可以在我的应用程序开发中使用的库 API。
因此,我正在考虑使用 USB host API with marine-api 库来执行此操作。我担心这会变得多么复杂,如果我要重新发明轮子。 大家有更好的建议吗...
GPSD 在 android 4.0 及更高版本上可用。
http://www.catb.org/gpsd/faq.html
Android 4.0 and later versions use gpsd to interpret the data stream from the onboard GPS
gpsd 处理来自您的 GPS 设备的 NMEA 数据。
如果由于某种原因它不在您的设备上,您可以下载并安装它。
http://www.catb.org/gpsd/installation.html
但是,您声明您的设备上没有 GPS 功能,您将使用 globalsat BU353-S4。
查看 manual 您安装了驱动程序并且 GPS 设备将自身显示为 com 端口。假设 linux 驱动程序适用于您的 android 设备,您将能够向 USB GPS 设备发送命令。
来自手册:
Will the USB GPS work with other Street Mapping software?
Globalsat USB GPS receivers provides standard NMEA data for mapping software to use and convert to coordinates and should work well with most any NMEA compliant software on the market today.
这意味着您可以发送标准 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