Поздравляем с Новым Годом!
   
Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: XLII Международной научно-практической конференции «Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ» (Россия, г. Новосибирск, 31 мая 2016 г.)

Наука: Технические науки

Секция: Технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Гармонов С.А. Разработка GPS-навигатора для смартфона // Научное сообщество студентов XXI столетия. ТЕХНИЧЕСКИЕ НАУКИ: сб. ст. по мат. XLII междунар. студ. науч.-практ. конф. № 5(41). URL: https://sibac.info/archive/technic/5(41).pdf (дата обращения: 28.12.2024)
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Разработка GPS-навигатора для смартфона

Гармонов Сергей Александрович

студент 2 курса, кафедра прикладной математики КНИТУ,

КАИ им. Туполева, г. Казань

Денисов Кирилл Геннадьевич

научный руководитель,

канд. технических наук, доцент КНИТУ,

КАИ им. Туполева, г. Казань

Когда-то люди ориентировались по звездам. Сейчас все гораздо проще — достаточно достать из кармана телефон, вбить в «Яндекс.Карты» нужный адрес и они проложат маршрут.

Еще в самом начале появления и распространения Интернета огромной популярностью пользовались картографические сервисы. С течением времени технологии развивались, отображение и функционал карт менялись. Появилось множество приложений для удобной навигации.

Все это стало возможным благодаря использованию, изначально военной, технологии GPS в навигаторах, а в дальнейшем, и в смартфонах. Данная технология позволяет в любом месте Земли (исключая приполярные области), почти при любой погоде, а также в околоземном космическом пространстве определять местоположение и скорость объектов. Основной принцип использования системы — определение местоположения путём измерения моментов времени приёма синхронизированного сигнала от навигационных спутников антенной потребителя.

На данный момент GPS – навигаторы для смартфона являются наиболее популярным продуктом. Существует множество приложений «на любой вкус и цвет».

Принцип работы GPS

Спутниковая система навигации — комплексная электронно-техническая система, состоящая из совокупности наземного и космического оборудования, предназначенная для определения местоположения (географических координат и высоты) и точного времени, а также параметров движения (скорости и направления движения и т. д.) для наземных, водных и воздушных объектов.

Постановка задачи

Необходимо разработать GPS-навигатор для смартфона.

Основными функциями являются:

  • Определение местоположения пользователя
  • Поиск по карте
  • Построение маршрута в точку назначение
  • Функция поиска попутчиков

При создании проекта будут использованы следующие языки программирования:

  • HTML5
  • C# (ASP.NET)
  • LINQ
  • JavaScript
  • CSS
  • WebSocket

Клиент навигатора должен состоять из одной HTML страницы.

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

  • Строка поиска местности
  • Кнопка определения местоположения пользователя
  • Кнопка просмотра полного маршрута
  • Изображение следующего действия пользователя (поворот налево, разворот и т.п.)
  • Отображение местоположения пользователя
  • Отображение местоположения попутчиков

Основные аспекты взаимодействия клиент – сервер

  1. Команды, с помощью которых выполняются основные функции, определены на стадии проектирования, в виде строковых команд:
    • HI – вход пользователя
    • WONNA – поиск водителей
    • TAKE – поиск попутчиков
    • takeID – взятие попутчика
    • ping – системная команда, обновление времени соединения клинта с сервером
  2. Взаимодействие между клиентом и сервером происходит путем отправки JSON сообщений через технологию WebSocket. Сообщение, посылаемое от клиента серверу, состоит из четырех частей:
    • cl_id – уникальный идентификационный номер клиента, сгенерированный при входе пользователя
    • cmd – команда (основная часть представлена в п. 1)
    • msg – сообщение
    • gp – координаты местоположения пользователя
    • rEnd – координаты конца маршрута пользователя
    • segments – координаты сегментов пути пользователя
  3. Сообщение, посылаемое от сервера клиенту, состоит из трех частей:
    • cmd – команда (основная часть представлена в п. 1, спостфиксом “_ANS”)
    • msg - сообщение
    • res – результат выполнения команды (0 – неуспешно, 1 - успешно)

Алгоритм синхронизации с Яндекс.Карты

В API включена возможность определения местоположения пользователя (геолокация). Для работы с гео локацией используется статический объект geolocation. Доступно три режима определения местолоположения пользователя:

  • по ip-адресу по данным Яндекса (как правило, этот метод имеет точность до города или региона);
  • с использованием Geolocation API (этот метод точнее на мобильных устройствах, но пользователь должен явно разрешить веб-странице получить сведения о его местоположении);
  • вызов обоих методов с выбором более точного результата.

Выбор метода геолокации осуществляется путём указания опции 'provider' - перечисленным методам соответствуют значения 'yandex', 'browser' и 'auto' соответственно. По умолчанию используется метод 'auto'

Результаты геолокации будут возвращены в том же виде, что и результаты геокодирования — коллекция геообъектов с единственной меткой, соответствующей местоположению пользователя. По умолчанию координаты пользователя автоматически подвергаются обратному геокодированию, т.е. автоматически определяется адрес, город и регион пользователя (это поведение можно отключить, задав опции 'autoReverseGeocode' значение false).

Технологии клиента

  1. CSS – формальный язык описания внешнего вида документа, написанного с использованием языка разметки. Преимущественно используется как средство описания, оформления внешнего вида веб-страниц, написанных с помощью языков разметки HTML и XHTML, но может также применяться к любым XML-документам, например, к SVG или XUL.
  2. JavaScript — прототипно-ориентированный сценарный язык программирования. Является диалектом языка ECMAScript. JavaScript обычно используется как встраиваемый язык для программного доступа к объектам приложений. Наиболее широкое применение находит в браузерах как язык сценариев для придания интерактивности веб-страницам.
  3. WebSocket — протокол полнодуплексной связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени. В настоящее время в W3C осуществляется стандартизация API Web Sockets. Черновой вариант стандарта этого протокола утверждён IETF.

Технологии сервера

  1. ASP.NET – технология создания веб-приложений и веб-сервисов от компании Майкрософт. Она является составной частью платформы Microsoft .NET и развитием более старой технологии Microsoft ASP. На данный момент последней версией этой технологии является ASP.NET 4.5.1.
  2. ASP.NET MVC Framework – фреймворк для создания веб-приложений, который реализует шаблон Model-view-controller. Данный фреймворк добавлен Microsoft в ASP.NET.

В апреле 2009 года исходный код ASP.NET MVC был опубликован под лицензией Microsoft Public License . 27 марта 2012 года лицензия была изменена на Apache License 2.0

  1. Language Integrated Query (LINQ) – проект Microsoft по добавлению синтаксиса языка запросов, напоминающего SQL, в языки программирования платформы .NET Framework. Ранее был реализован в языках C# и Visual Basic .NET.

LINQ выпущен вместе с Visual Studio 2008 в конце ноября 2007 года. Для быстрого создания и отладки запросов LINQ существует специализированная утилита LINQPad.

 

Список литературы:

  1. Адам Фримен, Стивен Сандерсон. ASP.NET MVC3 Framework с примерами на C# для профессионалов. Пер. с англ. – М.: ООО «И.Д. Вилиамс», 2011. – 672 с.: ил.
  2. Брайан Хоган. HTML5 и CSS3. Веб-разработка по стандартам нового поколения. Пер. с англ. – М. : Издательство «Питер», 2012. – 271 с.: ил.
  3. Alan B. Johnston, Daniel C. Burnett. WebRTC: APIs and RTCWEB Protocols of the HTML5 Real-Time Web. М: Издательство «Digital Codex LLC» 2-ое издание, 2013 – 274 с.: ил.
Проголосовать за статью
Конференция завершена
Эта статья набрала 0 голосов
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий