Чтение данных с довольно недокументированного GPS-трекера - PullRequest
0 голосов
/ 26 ноября 2011

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

Как я могу читать (с Java или JNI) данные с этого GPS-трекера? У меня нет никакого опыта с такими вещами, как драйверы или внешние устройства. Как начать? Как использовать существующий драйвер, поставляемый с GPS-трекером?

EDIT: Да, и то, что я упустил, сказать: нет ни API, ни документации.

Ответы [ 2 ]

2 голосов
/ 26 ноября 2011

Существующий драйвер почти наверняка отображает выход через USB на ком-порт. Вы можете посмотреть, как читать строки с com-порта в Java. (Я только что понял, что я предполагаю систему Windows здесь - я не знаю, как это выглядит на Unix или Mac.)

К сожалению, какой используемый COM-порт может меняться при каждом отключении и повторном подключении. Таким образом, вам нужно будет сделать вашу программу гибкой, либо попросив пользователя указать, какой com-порт используется сегодня (метод, который я использовал), либо попросить программу поочередно выполнить серию com-портов, чтобы посмотреть, сможет ли она «найти» устройство. .

Все подобные устройства работают автоматически; как только вы подключаете их, они непрерывно выводят строки данных. Каждая строка данных имеет определенный формат, который почти наверняка соответствует спецификации NMEA. Это почти стандарт; Я говорю «почти», потому что ничто, кроме соглашения и доли рынка, не дает производителям возможности выдавать что-то еще. Однако все они, похоже, используют эти строки. Там много информации

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

Каждая строка представляет один вид данных, выводимых устройством; Моя собственная программа для этого смотрит на строку GGA, которая обеспечивает 3D-коррекцию и точность. Есть много сайтов, которые дают вам всю информацию о всех строках NMEA.

Далее вам будет интересно узнать, где вы находитесь, основываясь на местоположении GPS. Это еще более сложное дело, начиная с базы данных, необходимой для перевода местоположения в название места. Но вот почему мы все программисты, не так ли?

1 голос
/ 26 ноября 2011

Вы, вероятно, можете настроить его для отправки данных на определенный IP и PORT. После того, как вы сможете запустить сервер и начать прослушивание ПОРТА, где вы получите массив байтов от GPS-трекера, вы анализируете его и получаете информацию. Используйте JBoss Netty Framework, это довольно интересный и хороший инструмент. Jboss Netty . Оформить документы и примеры. Там все показано.

...