GPS промежуточный водитель - PullRequest
1 голос
/ 15 августа 2010

Я пишу программу, которая должна принимать несколько координат GPS и выполнять их обработку. Я предполагаю, что сервер, на котором будет установлено приложение, должен быть оснащен GPS-приемником.

  1. Сохраняет ли GPS-приемник координаты GPS временно для использования в приложении (лучше сказать, может ли этот приемник передавать несколько GPS-координат одновременно)? Я также читал о промежуточном драйвере GPS в .net.

  2. Есть ли аналогичная вещь (т.е. промежуточный драйвер GPS) для Java? Если да, какой из них более мощный?

Ответы [ 2 ]

0 голосов
/ 27 августа 2010

Я был новичком в GPS, а также. Только на прошлой неделе меня бросили в глубокий конец, чтобы написать драйвер виртуального последовательного порта для нашего устройства GPS, и я недавно закончил программирование приложений. Я сделал это, так что вы можете:)

Я предполагаю, что сервер, на котором будет установлено приложение, должен быть оснащен GPS-приемником. Оборудован GPS-приемником.

Ваше приложение должно получать данные GPS откуда-то, будь то через COM-порт или хороший вызов метода в платформе. Если вы работаете непосредственно с выходом GPS, вам нужно знать о строках NMEA, чтобы перевести их в определенное место. Для ознакомления с ними я рекомендую следующее веб-сайтам - http://teletype.com/pages/support/Documentation/RMC_log_info.htm и разрешена только 1 ссылка

1) Один из моих вопросов заключается в том, что GPS-приемник временно хранит координаты GPS для использования в приложении

Как и выше, если вы говорите о прямой связи с GPS, это будет зависеть от водителя. Вообще говоря, устройство GPS должно создать набор строк NMEA, а затем записать их из устройства в ПК, после чего они будут сохранены в буфере в драйвере. Когда вы запрашиваете данные у драйвера, он удаляет эти данные из буфера, чтобы они больше не читались. то есть GPS отправляет строку NMEA на ПК длиной 960 символов. В буфере драйвера будут храниться эти символы. Вы выполняете чтение и берете 512 из этих символов, в буфере теперь содержится 448. Если новая GPS-строка выдвигается устройством GPS (снова 960 символов), то буфер снова будет иметь длину 960 символов. Можно предположить, что устройство GPS должно выводить новые строки NMEA по крайней мере каждые 5 секунд.

Вот пример данных буфера, которые я получил при вызове моего драйвера. Сигнала нет, так как я был внутри, но это действительные данные.

GPRMC, 100637,410, V ,,,,,,, 300908 ,,, N * 49

$ GPGGA, 100638,410 ,,,,, 0,00 ,,, М, 0,0, М ,, 0000 * 5F

$ GPGSA, A, 1 ,,,,,,,,,,,,,,, * 1E

$ GPGSV, 3,1,12,28,89,179,, 20,49,092,, 08,46,237,, 07,31,193, * 7А

$ GPGSV, 3,2,12,32,31,069,, 11,27,035,, 17,27,316,, 04,26,239, * 7B

$ GPGSV, 3,3,12,23,12,118,, 05,06,207,, 19,05,072,, 13,03,168, * 70

* * +1032 $ GPRMC, 100638,410, V ,,,,,,, 300908 ,,, N * 46 * * +1034 $ GPGGA, 100639,410 0,00 ,,,,, ,,, М, 0,0, М ,, 000, * 7C * * тысяча тридцать-пять

$ GPGSV, 3,2,12,19,00,000,, 29,00,000,, 04,00,000,, 11,00,000, * 7С

$ GPGSV, 3,3,12,16,00,000, 28,00,000, 0,000, 15,00,000, * 77

* 1 040 * $ GPRMC, 100728,628, V ,,,,,,, 300908 ,,, Н * 4F * * 1 042 $ GPGGA, 100729,617 0,00 ,,,,, ,,, М, 0,0, М ,, 0000 * 5B * +1043 *

$ GPGSA, A, 1 ,,,,,,,,,,,,,,, * 1E

$ GPGSV, 3,1,12,20,00,000,, 10,00,000,, 31,00,000,, 27,00,000, * 7С

$ GPGSV, 3,2,12,19,00,000,, 29,00,000,, 04,00,000,, 11,00,000, * 7С

$ GPGSV, 3,3,12,16,00,000,, 28,00,000,, 26,00,000,, 15,00,000, * 77

$ GPRMC, 100729,617, V ,,,,,,, 300908 ,,, N * 42

* * +1054 $ GPGGA, 100730,618 0,00 ,,,,, ,,, М, 0,0, М ,, 0000 * 5C

$ GPGSA, A, 1 ,,,,,,,,,,,,,,, * 1E

$ GPGSV, 3,1,12,20,00,000

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

Драйвер GPS от Microsoft просто является третьей стороной. Он подключается к com-порту от вашего имени и передает данные GPS любому, кто его запрашивает. Причиной этого является то, что только одно приложение может запрашивать данные GPS, поскольку они будут удаляться при каждом считывании. Если вы хотите сохранить простоту, то этот драйвер - верный путь, но вам все равно нужно хранить данные самостоятельно.

Мой другой вопрос: 3) Есть ли аналогичная вещь (т.е. промежуточный драйвер GPS) для Java? Если да, какой из них более мощный?

Я должен сказать, я понятия не имею об этом

0 голосов
/ 15 августа 2010

Прежде всего, имейте в виду, что GPS-приемник, скорее всего, не будет работать в помещении, поэтому я предполагаю, что под «сервером» вы имеете в виду какой-либо мобильный компьютер или мобильный телефон.

Что касается вашего первого вопроса, я не знаю, какой GPS-приемник вы используете, однако я думаю, что большинство устройств работают следующим образом:

Вы запрашиваете приемник GPS, ждете, а затем приемник GPS выдает вам координаты. Если вы хотите сохранить их в виде списка, вам придется самостоятельно строить логику.

(лучше скажи может этот ресивер руками несколько координат GPS в то же время время)

Каждый получатель предоставит вам один набор координат, и они представляют местоположение, в котором получатель находится в тот момент, когда вы запросили координаты.

Что касается вашего последнего вопроса, я никогда не использовал Промежуточный драйвер GPS , однако я использовал Location API , предоставленный Java. Что касается того, что является более мощным, я думаю, что вы должны рассмотреть, что вам нужно сделать. Я предполагаю, что они предлагают одинаковые функции.

...