Играюсь с GPS

Практического применения пока никакого не придумал, но игрушка интересная.

Стоят эти чипы сейчас копейки. За 10 доллариев на иБее купил GPS-модуль u-blox neo-6m с антенной. Довольно средненький чип, если разобраться -- но зато дёшево.

Чип на платке, уже припаян.


В принципе, чип поддерживает сразу несколько протоколов для общения, от I2C и SPI до старого-доброго UART, но на плате выведен только UART (сиречь, серийный порт).

Так что цепляем RX/TX, землю и питание, заводим любимую коммуникационную программу (хоть "Телемейт" -- кто-нибудь ещё помнит, что это такое? Есть тут динозавры БиБиЭс, помимо меня?)



Подключаемся к нужному серийному порту и наблюдаем работу GPS. Каждую секунду чип высылает в порт серию строк. Разные чипы высылают слегка разные наборы, этот шлёт примерно следующее:

$GPRMC,152732.00,A,3328.32250,N,08645.05241,W,0.209,,170915,,,A*66
$GPVTG,,T,,M,0.209,N,0.387,K,A*24
$GPGGA,152732.00,3328.32250,N,08645.05241,W,1,03,3.44,204.8,M,-30.3,M,,*69
$GPGSA,A,2,17,28,01,,,,,,,,,,3.58,3.44,1.00*02
$GPGSV,4,1,14,01,27,043,32,02,04,216,,03,23,089,,04,01,040,*7A
$GPGSV,4,2,14,06,34,208,,07,03,165,,11,14,049,19,13,03,248,*78
$GPGSV,4,3,14,17,62,322,27,19,02,066,,24,08,322,,28,71,066,30*77
$GPGSV,4,4,14,30,31,181,14,32,08,053,*7F
$GPGLL,3328.32250,N,08645.05241,W,152732.00,A,A*7F

Чего это вообще? Это формат NMEA.

Наиболее информативная из этих строк начинается с $GPGGA:

$GPGGA,152732.00,3328.32250,N,08645.05241,W,1,03,3.44,204.8,M,-30.3,M,,*69

Это всего-лишь значения полей через разделители (запятую). Эта строка говорит нам вот что:

Данные получены в 15:27:32 (время Гринвичское), местоположение приёмника 33°28.32250'N, 86°45.05241'W, 1 означает, что данные получены со спутников GPS, 03 -- количество видимых спутников (это мало на самом деле, приёмник внутри помещения стоял). 3.44 -- насколько точно известно горизонтальное местоположение (хреновая цифра, по той же причине). Высота 204.8 метров над уровнем моря, дальше какая-то непонятная фигня (высота геоида над эллипсоидом в метрах -- понятия не имею, что это, и зачем), и контрольная сумма.

Ещё можно найти немного данных в строке $GPRMC:

$GPRMC,152732.00,A,3328.32250,N,08645.05241,W,0.209,,170915,,,A*66

Тут тоже есть координаты, и время захвата сингала. А также есть скорость (0.209 узла -- ненулевая из-за невысокой точности сигнала), а также дата -- 17го сентября 15го года. Ещё в этой же строке указывается курс -- только в данном случае значение этого поля NULL. Не шёл я никуда никаким курсом :)

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

Какие идеи приходят в голову? Ну, самая банальная -- это, собственно, самодельный приёмник GPS. С какими-нибудь бильярдами и профурсетками :) GPS трекер. Кроме того, GPS -- неплохой источник точного времени, а также даты. Самосинхронизирующиеся часы, которые никогда не надо устанавливать.

Попробую, поиграюсь.
Tags: ,
> 3328.32250,N

очень странное число
непонятно, почему б не передавать сразу в decimal degrees
я на них глядя вообще подумал, что это в UTM, но W меня смутило
Это LEGACY :( Достался такой грёбнутый формат ещё от навигационной системы LORAN. Сам посуди -- чо за маразм -- всё в метрах, но скорость в узлах?

И ещё вот непонятно, почему по долготе меньше цифр заложено, чем по широте. Должно ж быть наоборот.
режет незначимые нули, скорее всего

ну и непонятно, 3328.32250 - 33 градуса? а если 328.32250 - сколько градусов, 3 или 32?

очень странный формат
> 328.32250 - сколько градусов, 3 или 32?

3.

Два цифры слева от точки -- минуты. Всё, что дальше этих двух цифр -- целые градусы.

> очень странный формат

Я думаю, что это чтобы не иметь плавающую запятую.
хм
а как закодировать 32 градуса 8 минут тогда?
обожемой
и эти люди не хотят использовать double
Или даже float, учитывая их точность

Вопщем, удач тебе в экспериментах! Сразу первое применеие - на ребенка навесить:)
Подростку в машину засунуть (ну или жене :) ), и потом глядеть - а где же он катался. Не превышал ли скорость и тд.
Угу, трекер :) В принципе, не очень нужен.

Наиболее интересно свой носимый GPS. А если его ещё и на электронных чернилах сделать... Будет вообще красота.
Боюсь размеры девайса у китайцев будут лучше чем у самопального
Без вопросов, конечно, будут лучше.

Но поковырядзе же тоже интересно :)
<< Есть тут динозавры БиБиЭс, помимо меня? >>

дык ;)
Эх, интересное было время. Ночами ведь сидели блин.

CONNECT 33600/ARQ/V34 -- и вперёд, столько ожиданий :)

А теперь какой романтизм? Никакого романтизму. Взял да скачал что надо.

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

проверил - пойнт софт фидо и сейчас крутится на десктопе, но уже по Tcp/ip. че-то качает каждые полчаса, нода на камчатке, я под Москвой ))

сто лет голдед не запускал - надо зайти почитать что там, что ли....
ВОТ ПОДЛЕЦ, ХОРОШИЕ СЕБЕ КООРДИНАТЫ ВЫБРАЛ!!!!!
Хех, я всё ждал, когда кто-нибудь сунется проверить ;-))))))