Android 通过原始的RMC数据获取速度
时间: 2023-08-18 19:39:31 浏览: 87
在 Android 应用中通过原始的 RMC 数据获取速度,可以按照以下步骤进行:
1. 首先需要获取 GPS 设备产生的 RMC 数据,可以使用 Android 提供的串口通信类 SerialPort 进行读取。例如:
```java
SerialPort serialPort = new SerialPort(new File("/dev/ttyS0"), 4800, 0);
InputStream inputStream = serialPort.getInputStream();
byte[] buffer = new byte[1024];
int size = inputStream.read(buffer);
String rmcData = new String(buffer, 0, size);
```
2. 对读取到的 RMC 数据进行解析,可以使用字符串截取或正则表达式等方式,将各个字段的值提取出来。例如:
```java
String[] data = rmcData.split(",");
String speed = data[7];
```
3. 将提取出的速度字段值转换成实际的数值格式,例如将速度值转换成公里/小时格式:
```java
float kmh = Float.parseFloat(speed) * 1.852f;
```
注意:RMC 数据中的速度单位是节(knots),需要将其转换成公里/小时。
需要注意的是,在解析 RMC 数据时需要进行一定的数据校验和容错处理,例如判断数据是否符合 NMEA 协议的格式,判断速度数值是否在合理范围内等。
阅读全文