我正在用gps系统工作。我想从GPS设备中读取数据。我正在使用NMEA协议。我正在从设备获取数据,但它是一些类似于编码的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数据的正确方法。
发布于 2015-11-13 18:48:18
如果你要获取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提取经度,纬度等。
发布于 2013-06-29 20:59:36
如果您的数据是带有一些标点的字母数字字符串,那么您需要知道NMEA GPS数据是什么样子的。
每一行都有一个格式;一个前缀表示该行上的数据类型,然后这一行的其余部分有一种我称之为“固定宽度字段”的格式--本行为4个字符,下一行为7个字符,依此类推。
搜索"nmea gps data“会给出这些字符串的详细信息。
如果您的数据看起来像垃圾,而不是字母数字字符串和偶尔的标点符号,那么您确实需要获得正确的波特率。
https://stackoverflow.com/questions/17378370
复制相似问题