juan_gandhi: (Default)
[personal profile] juan_gandhi
Остаётся рассказать, как читать сигналы gps, если в вашем устройстве есть такой чип.

Пропустим вопросы конфигурации и инициализации, это всё детали. Предположим, что у вас уже всё подключено, прогрето, сконфигурировано, gps нашел свои спутники и готов поделиться информацией. Взять её у него - наша задача.

Gps передаёт свою информацию по последовательному порту, на 4800 baud. Каждый блок представляет собой несколько строк ASCII символов. Каждая строка начинается с идентификатора. Есть стандарт на контент, но есть и реальность, в которой а) стандарт не всегда соблюдается, и б) proprietory форматы содержат много интересного, чего нет в стандартной информации.

Вот некоторые из идентификаторов:

$GPZDA - работает как часы, т.е. сообщает время и дату;
$GPRMC - минимальный источник текущего положения
$GPGGA - типичный источник текущего положения ("gps fix")
$GPGLL - ещё один альтернативный источник текущего положения
$GPGSA - сведения об использованных спутниках и точность по вертикали и по горизонтали

Так как самое интересное - это gps fix, то эти три, GPGGA, GPGLL, GPRMC я и приведу в деталях.

<
GP*** Время, Широта, Долгота  Высота  Скорость  Курс  Точность  Пример  Интерпретация 
RMC + + + + + $GPRMC,081836,A,3751.65,N,4507.36,E,010.0,117.0,221009,011.3,E*42 t=08:18:36, all ok, lat=37°51.65' North, lon=45°7.36' East, speed=10 knots, course=117°, date=Nov.22,2009, magnetic deviation=11.3° East, and 42 is the checksum
GGA + + - - + $GPGGA,180823.30,3751.65,N,4507.36,E,1,09,3.1,271.8,M,-34.5,M,5.5,1234*42 t=08:18:36, lat=37°51.65' North, lon=45°7.36' East, source: satellite, 9 satellites, horizontal precision 3.1 m, altitude 271.8 m, geoid height above ellipsoid -34.5, age of DGPS data = 5.5 sec, DGPS id = 1234; and 42 is the checksum
GLL + - - - - $GPGLL,3751.65,N,4507.36,E,180823.30,A lat=37°51.65' North, lon=45°7.36' East; t=08:18:36; A means data valid


Есть много различных видов данных от GPS; разные GPS возвращают разные пакеты данных. Странное отсутстие высоты в минимальном пакете объясняется тем, что стандарт разрабатывали моряки, а у моряков пространство двумерное, они про высоту ничего не знают. А глубину GPS не меряет.

На этом я заканчиваю свои записки. Пользуйтесь этими данными как считаете нужным.

Ещё несколько замечаний на тему распространённых мифов.

- GPS передаёт данные на спутник. Это нужно верить в чудеса, чтобы полагать, что 30 спутников на высоте 20 тыс км в состоянии принять сигналы от, небось, полумиллиарда мобильников и навигаторов; если ещё учесть мощность сигнала мобильника... ну вы поняли.

- нужна постоянная видимость спутника. Нет; на самом деле, некоторые устройства могут проэкстраполировать ваше движение в тоннеле; кроме того, репитеры, aka DGPS, во множестве размещены по городам и весям; у нас в конторе, например, несколько таких репитеров висит просто на потолке; я так понимаю, что и в Гугле тоже эти приборы понатыканы; вскоре они появятся и в аэропортах, если уже не появились.

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

Замечания приветствуются. Через недельку я это перегоню в pdf и помещу у себя на сайте.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 15th, 2025 07:42 pm
Powered by Dreamwidth Studios