Java 向GPS接收机发送命令

Java 向GPS接收机发送命令,java,android,Java,Android,如何向GPS接收机发送命令 我使用LocationManager获取位置详细信息,但找不到如何向GPS接收器发送NMEA命令(如GPXTE、GPRMB…) 请让我知道如何实现这一点。您可以通过android文档部分了解有关这一点的详细信息 地理位置 通过向模拟器发送GPS定位,设置向模拟器内运行的应用程序报告的地理位置。 您可以在虚拟设备运行后立即发出geo命令。emulator通过创建模拟位置提供程序来设置您输入的位置。此提供程序响应应用程序设置的位置侦听器,并将位置提供给。任何应用程序都可以

如何向GPS接收机发送命令

我使用LocationManager获取位置详细信息,但找不到如何向GPS接收器发送NMEA命令(如GPXTE、GPRMB…)


请让我知道如何实现这一点。

您可以通过android文档部分了解有关这一点的详细信息

地理位置

通过向模拟器发送GPS定位,设置向模拟器内运行的应用程序报告的地理位置。 您可以在虚拟设备运行后立即发出geo命令。emulator通过创建模拟位置提供程序来设置您输入的位置。此提供程序响应应用程序设置的位置侦听器,并将位置提供给。任何应用程序都可以通过调用
LocationManager.getLastKnownLocation(“GPS”)

地理指挥部

格式为geo

地球定位经纬度卫星[高度]

向模拟器发送一个简单的GPS定位。以十进制度数指定经度和纬度。使用1到12之间的数字指定用于确定位置的卫星数量,并以米为单位指定高度

一句话

向仿真设备发送NMEA 0183语句,就像从仿真GPS调制解调器发送一样。以“$GP”开头的句子。目前只支持“$GPGGA”和“$GPRCM”语句。以下示例是一个GPGGA(全球定位系统固定数据)语句,用于获取GPS接收机的时间、位置和固定数据:

geo nmea $GPGGA ,hhmmss.ss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx
例如:

geo fix 121.5 25.4 10 

geo nmea $GPRMC,071236,A,3751.65,S,14527.36,E,000.0,073.0,130309,011.3,E*62
geo命令可以将GPS位置发送到模拟器。geo fix发送一组由经度、纬度和高度表示的固定GPS位置,这些位置可以从某些网站的地图上获得,例如经度121.5、纬度25.4和高度10米。当Android设备通过USB连接到外部GPS设备时,您可以使用geo nmea命令将位置发送到外部GPS设备

美国电气制造商协会(NEMA)为GPS设备制定了NMEA 0183协议。gps nema命令的格式很复杂,由12个字段组成,但由于这种复杂性,该命令比geo fix命令提供更精确的定位。gps nema命令的格式如下:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh 

$GPRMC,hhmmss.ss,A,IIII.II,a,yyyyy.yy,a,x.x,x.x,ddmmyy,x.x,a*hh

$GPRMC (Recommended minimum specific GPS/Transit data)
$GPRMC,,,,,,,,,,,,*hh
$GPRMC,hhmmss.ss,A,IIII.II,A,yyyyy.yy,A,x.x,x.x,ddmmyy,x.x,A*hh
$GPRMC(建议的最低特定GPS/交通数据)
参考文献