Описание, скетчи и библиотеки для GPS — http://wiki.amperka.ru/продукты:troyka-gps-glonass?utm_source=man&utm_campaign=gps&utm_medium=youtube
Представляем одноюнитовый troyka-модуль для работы с сигналами всех трёх систем спутниковой навигации — российской ГЛОНАСС, американской GPS и европейской GALILEO.
Модуль построен на базе российского приёмника NL3333, хорошо знакомого многим по последним моделям АвтоВАЗа их можно найти под приборной панелью «Грант», «Калин» и «X-Ray». За обработку данных и расчёт положения отвечает процессор на ядре ARM 946.
Для хранения атласов положения спутников — их координаты называются эфемеридами — используется встроенная Flash-память объёмом 2 Мб. Её ресурса должно хватить приблизительно на 10 лет непрерывной работы.
C управляющей электронике модуль общается по интерфейсу UART. После подключения питания модуль начинает передавать данные в стандартном для навигационных устройств формате NMEA. По этому же интерфейсу передаются команды управления модулем например выбор системы навигации, включение режима энергосбережения, переключение временных зон и многое другое. Подробнее об этом читайте на wiki.amperka — http://wiki.amperka.ru/продукты:troyka-gps-glonass?utm_source=man&utm_campaign=gps&utm_medium=youtube
Для того, чтобы разобраться как работают системы спутниковой навигации, нам придётся выйти на улицу. А для этого —
сделаем простой GPS-навигатор. Добавим к нашему тестовому устройству Power Shield, матричную клавиатуру и I2C текстовый дисплей. Спрячем всё это в корпус из #структора и наш девайс готов.
Спутники передают навигационные сигналы на дециметровых волнах (~1200-1500 МГц), но их мощности не хватает, чтобы пробить бетонные перекрытия. Для работы навигаторов нужно открытое небо с четырьмя спутниками в прямой видимости. Чтобы система работала по всей планете в каждой орбитальной группировке приходится держать более двух десятков спутников.
Каждый спутник передаёт свои точные координаты и временные метки. Навигатор, по задержке прохождения сигнала со спутника рассчитывает точное расстояние до него. Затем повторяет эту операцию для остальных известных спутников. Эти данные сводятся вместе — так получается точное значение координат приёмника.
Наш прибор умеет отслеживать до видимых 99 спутников и обрабатывать сигналы сразу 33 одновременно. Правда такого количества спутников мы не смогли увидеть ни разу — в наших широтах обычно видно около полутора десятков спутников.
В соответствии с протоколом NMEA скорость передаётся в узлах — то есть морских милях в час. Это привычно для пилотов и морских капитанов, но нам удобнее пользоваться другими величинами. Перевести узлы в привычные километры в час не сложно достаточно умножить полученное значение на 1,852. Мы люди ленивые, поэтому эти вычисление выполняет за нас специальная библиотека — Troyka GPS. Сравним показания нашего навигатора, популярной программы навигации для смартфонов и штатного спидометра.
Показания нашего навигатора и смартфона очень близки, а вот автомобильный спидометр подвирает показывает скорость процентов на 10 выше реальной. На самом деле это не баг, а фича — так делает большинство автопроизводителей, чтобы снять с себя ответственность за небольшие превышения скорости.
Мы протестировали навигатор в самой высокой и самой низкой точках Москвы — что это за места и как там ловились спутники, смотрите в ролике.
Оставайтесь с нами впереди ещё много интересного. И не забывайте дома свои шапочки из фольги — они спасают от дождей, в это прекрасное московское лето.