Невозможно отучить людей изучать самые ненужные предметы.
Введение в CSS
Преимущества стилей
Добавления стилей
Типы носителей
Базовый синтаксис
Значения стилевых свойств
Селекторы тегов
Классы
CSS3
Надо знать обо всем понемножку, но все о немногом.
Идентификаторы
Контекстные селекторы
Соседние селекторы
Дочерние селекторы
Селекторы атрибутов
Универсальный селектор
Псевдоклассы
Псевдоэлементы
Кто умеет, тот делает. Кто не умеет, тот учит. Кто не умеет учить - становится деканом. (Т. Мартин)
Группирование
Наследование
Каскадирование
Валидация
Идентификаторы и классы
Написание эффективного кода
Вёрстка
Изображения
Текст
Цвет
Линии и рамки
Углы
Списки
Ссылки
Дизайны сайтов
Формы
Таблицы
CSS3
HTML5
Блог для вебмастеров
Новости мира Интернет
Сайтостроение
Ремонт и советы
Все новости
Справочник от А до Я
HTML, CSS, JavaScript
Афоризмы о учёбе
Статьи об афоризмах
Все Афоризмы
Помогли мы вам |
NMEA — это стандартизированный формат для передачи данных GNSS. То есть если ты захочешь сделать устройство, которое будет работать с GNSS, то нужно будет работать с форматом NMEA, а не искать документацию к формату каждой спутниковой системы.
Чтобы получить эти данные, можно подключиться к приемнику по USB или UART. У меня распаян только UART, так что я соорудил мост из Auduino и вышел на улицу, чтобы собрать данные.
Если использовать готовый приемник GNSS, то на его выходе можно увидеть примерно следующую картину:
$GPVTG,122.82,T,,M,44.621,N,82.638,K,A*34
$GPGGA,102669.00,2995.64530,N,05723.40668,E,1,04,2.16,19.7,M,-26.4,M,,*48
$GPGSA,A,3,07,09,04,14,,,,,,,,,6.09,2.16,5.70*05
$GPGSV,2,1,05,04,43,108,34,07,53,338,35,09,73,051,37,14,33,217,28*7B
$GPGSV,2,2,05,16,04,038,*44
$GPGLL,2585.64930,N,05123.40668,E,102608.00,A,A*6E
$GPRMC,107129.00,A,2565.63860,N,05723.41802,E,47.084,123.07,301122,,,A*5C
Это сообщения в формате NMEA, то есть уже обработанные GNSS-приемником данные со спутника. Выглядит не совсем понятно, но на самом деле получить из этого наши координаты довольно просто.
Разберем для примера первое сообщение:
Как ты уже заметил, каждое сообщение начинается со знака доллара, за которым следуют пять букв и запятая. Этот заголовок указывает тип данных в сообщении. Первые две буквы (в нашем случае GP
) указывают на систему GNSS, из которой получена информация. Наше GP
означает GPS. Ты можешь встретить и другие спутниковые системы — вот список возможных ответов:
Следующие три буквы означают тип данных, например RMC (Recommended Minimum Specific GNSS Data) — минимальные рекомендуемые данные о местоположении и времени. Координаты содержатся в сообщениях RMC, GLL и GGA.
Опустим все поля, кроме координат (описание пропущенных полей можно почитать в документации NMEA). 2565.
— это широта в формате DDMM.
, где N
означает северное полушарие, а 05723.
— это долгота в формате DDDMM.
, где E
означает восточное полушарие. То есть координаты нашей тестовой точки — 25 градусов 65,63860 минуты северной широты и 57 градусов 23,41802 минуты восточной долготы.
Чтобы посмотреть эту точку на картах в интернете, нужно преобразовать GPS-координаты в десятичные градусы. Для этого можно воспользоваться онлайновым калькулятором.
TTFF — time to first fix, или время для определения местоположения. Это время, которое нужно устройству, чтобы собрать данные и определить местоположение. Для спуфинга этот параметр очень важен.
Если устройство не имеет никаких данных о спутниках, процесс может занимать до двенадцати минут, но обычно требует всего две‑три минуты.
Гайдов по спуфингу GPS в сети хватает, но у них есть одна общая черта: в 2023 году они не работают (у меня так точно). Многие телефоны сейчас умеют определять местоположение не только по спутникам — для этого используются Wi-Fi и Bluetooth. Сотовые вышки тоже могут участвовать в процессе. Для начала мы попробуем подменить GPS на смартфоне с Android и посмотрим, какие трудности могут возникнуть при подмене.
В своем эксперименте я использую:
|
|