[英]Read NMEA data from gps device
我正在使用gps系统。 我想从GPS设备读取数据。 我正在使用NMEA协议。 我从设备获取数据,但它是一些像我没有得到的ecoded ASCII字符串。 那么有没有办法获得欲望数据。 我的代码如下......
// My Code //
ServerSocket ss = new ServerSocket(1500);
Socket s1 = ss.accept();
While(s1 != null)
{
InputStream is = s1.getInputStream();
BufferedReader br = new InputStreamReader(is);
String result = br.readLine();
System.out.println(result)l
}
但我正在编码出来的东西。 所以回复我正确的方式来阅读NMEA数据。
如果您正在获取NMEA数据,它应该是格式化的:
$ GPRMC,220516,A,5133.82,N,00042.24,W,173.8,231.8,130694,004.2,W * 70
1 220516 Time Stamp
2 A validity - A-ok, V-invalid
3 5133.82 current Latitude
4 N North/South
5 00042.24 current Longitude
6 W East/West
7 173.8 Speed in knots
8 231.8 True course
9 130694 Date Stamp
10 004.2 Variation
11 W East/West
12 *70 checksum
现在你只需要使用简单的java提取经度,纬度等。
如果您的数据是带有标点符号的字母数字字符串,那么您需要知道NMEA GPS数据的样子。
每行都有一种格式; 一个前缀,指示该行上的数据类型,然后我称之为“固定宽度字段”的格式为该行的其余部分 - 4个字符为此,7个字符为下一个,等等。
搜索“nmea gps数据”将为您提供有关这些字符串的完整详细信息。
如果您的数据看起来像垃圾而不是字母数字字符串和偶然标点符号,那么您需要直接获得波特率。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.