2013-06-29 3 views
0

Я работаю с системой gps. Я хочу читать данные с устройства GPS. Я использую протокол NMEA. Я получаю данные с устройства, но это какая-то, как закодированная строка ASCII, которую я не получаю. Итак, есть ли способ получить данные о желании. Мой код как указано ниже.Чтение данных NMEA с устройства gps

// 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.

+0

установить правильную скорость передачи в бодах – AlexWien

+0

Есть ли причина, по которой вы не публикуете строку «закодированный ASCII»? – AlexWien

ответ

0

Если ваши данные являются буквенно-цифровыми строками с некоторой пунктуацией, вам необходимо знать, как выглядят данные GPS NMEA.

Формат каждой строки; префикс, который указывает, какие данные находятся на этой строке, а затем формат, который я называю «поле фиксированной ширины» для остальной части строки - 4 символа для этого, 7 символов для следующего и т. д.

Поиск для «nmea gps data» вы получите полную информацию об этих строках.

Если ваши данные выглядят как мусор вместо строк буквенно-цифровых символов и окклюзионной пунктуации, вам необходимо получить скорость передачи в прямом направлении.

1

если вы получаете данные в формате 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.