nlothik (nlothik) wrote,
nlothik
nlothik

Categories:

Играюсь с 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: 73, хобби
Subscribe

  • Мир дико тесен

    В ЖЖ есть интересный человек Михаил Шифман, преподаватель теоретической физики в университете Миннисоты, лауреат многочисленных наград. Он часто…

  • Они хакнули физику

    Как известно, парусная лодка может идти быстрее ветра. Но с оговоркой — если ветер сбоку. Тогда парус работает не за счёт сопротивления, а за…

  • Вархаммер какой-то

    Оказалось, пожарный танк с двумя дрыгателями от МиГ-21 — тушить нефтяные пожары задуванием туда гигантского количества воды. Сделали…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 16 comments

  • Мир дико тесен

    В ЖЖ есть интересный человек Михаил Шифман, преподаватель теоретической физики в университете Миннисоты, лауреат многочисленных наград. Он часто…

  • Они хакнули физику

    Как известно, парусная лодка может идти быстрее ветра. Но с оговоркой — если ветер сбоку. Тогда парус работает не за счёт сопротивления, а за…

  • Вархаммер какой-то

    Оказалось, пожарный танк с двумя дрыгателями от МиГ-21 — тушить нефтяные пожары задуванием туда гигантского количества воды. Сделали…