| RSS



Меню

Bookmark and Share


Статистика
Ваш IP: 216.73.216.185
Вы используете: v





Сейчас на сайте:

Тех поддержка ->

Облако тэгов
ОС написать свою операционную систему видио сторона Обратная Tor антенна ноута php эксплоит Windows Server 2008 Elastix QIP Virtual kernel proc Tune sysctl freeBSD mrtg LiveCD GEO Bluetooth game Video emulator Python Shell phpinfo поколения червь Conficker вирус троян лаборатория касперского пиратство Apple iPhone Финансовый кризис Microsoft twitter социальная сеть анонимность лицензия Open Source уязвимость MySQL база данных PostgreSQL Закон Франция Пират Skype мобильный Deutsche Telekom хакер trend micro кибератака Германия робот Персональные данные Ноутбук Интернет китай цензура windows vista acer Linux патент TomTom браузер Firefox Internet Explorer Opera Safari Intel Oracle патч Банкомат IBM США прокси-сервер Dell контроль кибербезопасность приговор Mozilla Chrome безопасность Госдума СМИ КПРФ Windows 8 взлом Пентагон Украина Facebook Cisco Windows XP нетбук торрент музыка Биометрический Nokia телефон ФБР IP-адрес sms RSA java Google Captcha Symantec Спам Антивирус тест Windows 7 операционная система windows провайдер авторское право rapidshare UNIX свиной грипп шантаж Дети копирайт McAfee HTTPS администратор icann студент Норвегия New York Times YouTube Warner Music КНДР БД Ubuntu касперский Россия РФ Патриоты сервер хостинг Wi-Fi суд пароль блог фишинг одноклассники Медведев контрафакт мошенник sony Universal Gps по JavaScript Хакеры Yahoo фас компьютер софт Минкомсвязи программист Сбой мошенничество Доктор ВЕб Вконтакте исходный код МВД фильтр порнография свобода слова казахстан онлайн игры сисадмин Autodesk Gmail кредитная карта LiveJournal шифрование банк Нанотехнологии wikipedia выборы DNS Android Simple атака Mac OS X Security Essentials домен ФСБ прокуратура уголовное дело ICQ Sophos Google Voice ошибка военные DARPA сайт турция конференция спамер Полиция Koobface Великобритания белоруссия Грузия Европа Dr.WEB Билл Гейтс спецслужбы терроризм ес Royal Bank of Scotland смартфон F-Secure Symbian фильм милиция инновации Microsoft Office SP1 Новая Зеландия Adobe Австралия IDC новости Internet Explorer 9 iPad Ирландия поиск финляндия МТС Реклама слежка испания минобороны Zeus личные данные eset защита виртуализация информатика Черный список BlackBerry индия Москва социальные сети flash player paypal BitDefender Winamp email сертификат блокировщик налог Anonymous технологии Ассанж Оптоволокно передача данных Сколково арест Samsung Иск учетная запись Корея комментарии оборудование исследование Санкт-Петербург Таиланд Обновление климат SOPA PIPA NASA тендер МЕТРО Megaupload разработчики Плагин NTFS отчет RIM приложение мобильная связь Инвестиции платформа DRM логотип DDoS-атака роскомнадзор платежная система КНР

Главная » Статьи » Общие Статьи

GPS изнутри

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

GPS (Global Positioning System, Система Глобального Позиционирования) была введена в действие США в 1994 году. Состоит она из 24 спутников и наземных приемных комплексов, коим может являться и твой GPS-навигатор или GPS-модуль (в дальнейшем навигатор). Для точного определения координат твой навигатор должен видеть минимум 4 спутника. В недалеком прошлом точность определения координат вне территории США (а точнее для потребителей не из США) была искусственно снижена, но не так давно это ограничение было убрано и теперь ты можешь определять свое местоположение даже в тайге с точностью до нескольких метров. 

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

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

Какого бы форм-фактора (COM, USB, BlueTooth и т.п.) не был GPS-модуль, он будет логически связан с компьютером через COM-порт, т.е. при подключении создается соединение по последовательному порту. Навигационная информация в большинстве случаев передается по протоколу NMEA. Это самый распространенный протокол передачи для GPS-модулей. Хотя есть и другие протоколы, но мы их рассматривать не будем. 

Ну а теперь самое время узнать как же сделать софтину для работы со всем этим хозяйством. Скажу сразу, что мне не очень хочется сейчас объяснять как тыкать в кнопки в том же VB, статья носит больше ознакомительный характер. Для тех кто в танке я объясню подобно процесс создания программы в следующих статьях. Я освещу лишь наиболее важные моменты и я думаю у тебя все получится. Скажу сразу, что ваять прогу можно в любых языках программирования, лишь бы была возможность работы с последовательным портом и со строками. Первое с чего нужно начать это с открытия COM-порта. Почти все приемники по умолчанию имеют установки: скорость 9600 бит/с, 8/N/1. Как только ты откроешь порт тебе сразу с интервалом в секунду будет приходить навигационная информация примерно такого вида:

$GPGGA,143345.264, 0936.23,N,06354.15,E, 0,06,0.0,230.6,M,0.0,M,0.0,0345*76
$GPRMC,143345.26, A,0936.23,N,06354.15, E,0.0,0.0,230306,0.0,E,A*45
$GPGSA,A,3,03, 04,05,07,11,12,0.0,0.0,0.0*Е2
$GPGSV,1,1,06,05,67,120,20*34

Теперь приступим к разбору:

Данные передаются в виде предложений. Формат предложений следующий:

$AAAAA[, <данные> ]*hh<CR><LF>, где

$ - символ начала предложения (код 24h);
AAAAA - пятисимвольный адрес (имя) предложения;
[, <данные> ] - список полей данных разделенных запятыми (код 2Сh);
* - признак контрольной суммы (код 2Ah);
hh - контрольная сумма;
<CR><LF>, - конечный ограничитель (коды 0Dh и 0Ah).

Типы полей данных.

Тип поля  Обозначение Определение

Специальный формат полей

Статус  A Поле одного символа. А= да, данные достоверны, предупредительного сигнала нет. V= нет, данные не достоверны, есть сигнал предупреждения.
Широта llll.ll Поле постоянной/переменной длины: градусы-минуты доли минуты. 2 знака градусов, 2 знака минут и переменное число знаков долей минуты. Если первый знак градусов или минут отсутствует, то его заменяют нулем с тем, чтобы сохранить постоянное число знаков. Децимальная точка и последующие знаки долей минут являются дополнительными и могут не использоваться, если не нужно большое разрешение.
Долгота yyyyy.yy Поле постоянной/переменной длины: градусы-минуты и доли минуты. 3 знака градусов, 2 знака минут и переменное число знаков долей минуты. Если первые знаки или первый знак минут отсутствует, то их заменяют нулем для того, чтобы сохранить постоянное число знаков. Децимальная точка и последующие знаки долей минут являются дополнительными и могут не использоваться, если не нужно большое разрешение.
Время hhmmss.ss Поле постоянной/переменной длины: часы/минуты/секунды и доли секунды. 2 знака часов, 2 знака минут, 2 знака секунд и переменное число знаков долей секунд. В качестве первого знака часов, минут, секунд может быть поставлен ноль, для сохранения постоянного числа знаков. Если не требуется высокая точность, то децимальная точка и доли секунд могут быть опущены.
Определенные поля   Некоторые поля специально предназначаются для размещения заранее определенных постоянных величин, чаще всего буквенных обозначений. Признаком таких полей является наличие одного или нескольких знаков.

Поля цифровых величин

Переменное число  x.x Цифровое поле постоянной или переменной длины для целых и дробных чисел. Первый и последний знаки могут быть заменены нулями. Децимальная точка и дробная часть являются дополнением и могут быть опущены, если не требуется высокое разрешение.
Шестнадцатеричное постоянной длины hh Только шестнадцатеричное число постоянной длины, старший значащий бит слева.

Информационные поля

Изменяемый текст  c—c Поле знаков изменяемой длины.
Постоянное буквенное поле aa Поле постоянной длины, включающее в себя большие или малые буквенные знаки.
Постоянное цифровое поле xx Поле постоянной длины, включающее в себя цифровые знаки.
Постоянное текстовое поле cc Поле знаков постоянной длины.ъ

Примечания:

1. Пробелы могут быть использованы только в полях текстов изменяемой длины.

2. Отрицательный знак “-” (код 2Dh) является первым знаком поля, если в нем приводятся отрицательные величины. При использовании отрицательного знака в полях фиксированной длины их длина увеличивается на единицу. При положительных величинах знак опускается.

GGA – Данные определения места по GPS

Время место и данные относящиеся к обсервации.

$GPGGA,hhmmss.sss,llll.ll,a,yyyyy.yy,a,x,xx,x.x,x.x,M,x.x,M,x.x,xxxx*hh<CR><LF>

Полями данного предложения являются:

1. hhmmss.sss – время навигационных определений;
2. llll.ll,a – широта, N/S;
3. yyyyy.yy,a – долгота, E/W;
4. x – показатель качества обсервации: 0 = нет данных, 1 = обсервация получена, 2 = обсервация в дифференциальном режиме;
5. xx – число используемых спутников;
6. x.x – величина горизонтального геометрического фактора (HDOP);
7. x.x,M – высота антенны над уровнем моря (геоидом), м;
8. x.x,M – превышение геоида над эллипсоидом WGS84, м;
9. x.x – устаревание дифференциальных поправок, то есть время в секундах с момента получения последней дифференциальной поправки, нулевое поле используется в случае выключения дифференциального режима;
10. xxxx – идентификатор дифференциальной станции 0ё1023.

RMC – Рекомендуемый минимальный набор данных по GPS и ГЛОНАСС

Время, дата, координаты и курс счисляемые аппаратурой.

$GPRMC,hhmmss.ss,A,llll.ll,a,yyyyy.yy,a,x.x,x.x,xxxxxx,x.x,a,a*hh<CR><LF>

Полями данного предложения являются:

1. hhmmss.ss – время;
2. A – статус (A/V);
3. llll.ll,a – широта, N/S;
4. yyyyy.yy,a – долгота, E/W;
5. x.x – скорость в узлах;
6. x.x – курс в градусах;
7. xxxxxx – дата: dd/mm/yy (день/месяц/год);
8. x.x,a – магнитное склонение в градусах, E/W;
9. a – индикатор режима: A = автономная обсервация, D = дифференциальный режим, N = данные недостоверны.

GSA – Фактор ухудшения точности, используемые для навигации спутники

$GPGSA,a,x,xx, ... ,xx,x.x,x.x,x.x*hh<CR><LF>

Полями данного предложения являются:
1. a – режим управления количеством определяемых координат: М = ручное, указан режим, А = автоматическое переключение;
2. x – режим работы: 1 = обсервация невозможна, 2 = определяются две координаты, 3 = определяются три координаты;
3. xx...xx – номера спутников используемых для решения навигационной задачи, количество полей равно количеству каналов приемника, для GPS используются номера 1ё32, для WAAS 33ё64, для ГЛОНАСС 65ё96;
4. x.x – общий геометрический фактор ухудшения точности (PDOP);
5. x.x – горизонтальный геометрический фактор ухудшения точности (HDOP);
x.x – вертикальный геометрический фактор ухудшения точности (VDOP).

GSV – Видимые спутники

Число спутников в зоне радиовидимости, номер спутника, угол возвышения, азимут и отношение сигнал/шум. Одно предложение может содержать информацию об 1 до 4 спутников, дополнительные данные о спутниках передаются в следующих предложениях. Номер предложения указывается в первых двух полях данных. Для спутниковых систем зарезервированы следующие номера: для GPS 1-32, для WAAS 33-64, для ГЛОНАСС 65-96.

$GPGSV,x,x,xx,xx,xx,xxx,xx, ... ,xx,xx,xxx,xx*hh<CR><LF>

Полями данного предложения являются:
1. x – общее число сообщений;
2. x – номер сообщения;
3. xx – общее число спутников в зоне радиовидимости;
4. xx – номер спутника;
5. xx – угол возвышения спутника, градусы 00-90;
6. xxx – азимут истинный, градусы 000-360;
7. xx – отношение сигнал/шум 00-99 дБ, если спутник не сопровождается не передается.

Примечание: поля 4, 5, 7 повторяются для 2, 3 и 4 спутников.

Ну вот теперь, имея описание протокола NMEA и драйвер прямые_руки.sys можешь приступать к построчному разбору пакетов и созданию мега программулины )))).

Категория: Общие Статьи | Добавил: aka_kludge (27.10.2008)
Просмотров: 2015 | Рейтинг: 4.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
    Главная      
...
На службе : дней

02:47
Обновить


Пользователи
aka_kludge
qwerty
LeadyTOR
aka_Atlantis
AdHErENt
mAss
Sissutr
hiss
DrBio
tHick

Поиск


Copyright tHR - TeAM 2026 г. admin: aka_kludge (ICQ:334449009) Moderator's: LeadyTOR, ... Яндекс.Метрика