Microsoft windows powered gps

Работа с GPS в WinCE (C#)

Введение

Всем привет!
В этой статье я хочу рассмотреть вопрос реализации доступа к данным GPS в устройствах на базе WindowsCE. При создании продукта СКАУТ-Навигатор, необходимо было разработать приложение, работающее как в WinСЕ версии 5.0, так и в WinCE версии 6.0, которое умеет получать данные NMEA с навигационного приемника, и записывать их в журнал.

Решение

Для работы с GPS в WinCE как версии 5.0, так и версии 6.0 проще всего использовать работу с COM портом. Найти в устройстве, какой COM-порт предоставляет данные GPS, можно при помощи программы: DeviceManager.

Часто производители прошивок уже позаботились о том, чтобы COM портов GPS было два. Это позволяет развести ПО, которому требуется GPS и навигационное, чтобы они не боролись за доступ к COM-порту. Предположим, что COM порт мы будем использовать в монопольном доступе.
Чтобы получить данные NMEA (http://ru.wikipedia.org/wiki/NMEA_0183), нам нужно всего-то открыть COM порт, прочитать с него данные, потом закрыть COM порт. Что на C# выглядит так:

Несмотря на то, что всё выглядит весьма тривиально, приведенный код часто не работает из-за ошибок доступа к COM-порту. (Например, часто возникает ошибка: «UnauthorizedAccessException: Access to the port is denied»).

Не будем расстраиваться, есть другой подход, который работает.

Замечательные люди из проекта OpenNetCf заботливо предоставляют исходные коды собственного SerialPort.

Добавляем в проект сборку OpenNetCf.IO.Serial

Класс работы с COM-портом GPS будет выглядеть так:

Вметоде SerialPortDataReceived пишем, собственно, парсинг NMEA строк.
Для этого можно:

  1. Написать свой парсер NMEA;
  2. Использовать SharpGps;
  3. Использовать NMEA-0183-2-0-Sentense-parser-builder (Тут статья разработчика на Хабре);
  4. Любой другой парсер.

Sentenseparserbuilder я использовать не пробовал, а вот про SharpGps есть, что рассказать.

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

В протоколе NMEA 0183 (http://www.tronico.fi/OH6NT/docs/NMEA0183.pdf) контрольная сумма описывается как 2-значное 16-ричное число — контрольная XOR-сумма всех байт в строке между «$» и «*».

В SharpGps есть функция проверки корректности контрольной суммы в пакете:

Эта функция великолепно работает, если навигационный приемник передает контрольную сумму в виде двух чисел (0x01, 0x02 и т.д.), как и заявлено в протоколе. Но любой идеальный код разбивается о реальность, в которой навигационные приемники передают пакеты с контрольной суммой, не добавляя ведущий ноль (0x1,0x2).

Читайте также:  Bink2w64 dll для windows 10

В работающем приложении получается, что часть пакетов отсеивается. При этом ощущение, что всё вроде бы работает. Но трек, хоть он и есть, но очень плохого качества.

Чтобы всё заработало, последнюю строчку можно переписать, хотя бы так:

С отступлением всё.

Для хранения навигационных данных было решено использовать SqlServer Compact Edition. Его очень просто интегрировать в приложение, и использовать в разработке. Описывать использование SqlServer Compact в данной статье я не планировал, если есть желание увидеть статью по использованию SqlServer Compact в приложениях на WinCe можете его обозначить в комментариях.

Заключение

В данной статье я привел решение проблемы доступа к GPS данным на WinCe устройствах, решение опробовано на навигаторах различных производителей (Prestigio, Texet, Shturmann, Mio) с разными версиями WinCE. Надеюсь что от части граблей подстерегающих вас на пути разработки под WinCE она избавит.
Спасибо за внимание. Жду вопросов и замечаний в комментариях.

Скачать навигатор для Windows 10 / Windows CE

Скачать навигатор для Windows можно в официальном магазине приложений от Microsoft. Современные мобильные устройства и персональные компьютеры обладают широким функционалом, в том числе навигацией. Рассмотрим наиболее популярные и эффективные приложения для ориентирования по картам.

Особенности использования навигатора на компьютере

Навигационные программы на компьютере, работающем под управлением операционной системы Windows 10, преимущественно используются для просмотра карт.

Также они окажутся полезными на ПК в следующих случаях:

  • ознакомление с функционалом софта;
  • изучение местности для организации похода или прогулки;
  • тщательное планирование маршрута при дальней поездке.

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

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

Отличия Windows и Windows CE

Windows CE – это полноценная версия операционной системы для мобильных устройств: телефонов, планшетов или карманных ПК. Версия CE может работать на устройствах с минимальным объемом оперативной памяти. На ее базе основано достаточно много различных ОС, в том числе Windows Mobile или Pocket PC.

Она является многозадачной системой, которая позволяет запускать сразу несколько процессов.

Windows различных версий для персональных компьютеров значительно отличается от Windows CE. У них похож только интерфейс. Но для запуска приложений, в том числе GPS навигатора, предназначенных для настольной версии ОС, потребуется дополнительная адаптация и модификация.

Возможности навигатора на Windows

Бесплатные навигаторы обеспечивают ориентацию на неизвестном маршруте или местности. Каждое приложение имеет ряд дополнительных возможностей и особенностей :

Читайте также:  Linux узнать сколько памяти использует процесс

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

Навигаторы для Windows позволяют найти объект с помощью голосового поиска, что удобно во время движения за рулем. Некоторые из приложений помогают пользователям общаться между собой и самостоятельно добавлять различные точки или объекты на дороге.

Лучшие навигаторы для компьютера

На компьютере преимущественно используются онлайн-карты, которые открываются через любой браузер. Существует большое количество таких бесплатных сервисов. Разберем особенности наиболее популярных.

Вариант 1: Яндекс.Карты

Яндекс.Карты – онлайн интерактивная карта, которая подойдет для работы с ПК и мобильного устройства. Пользоваться ею просто, все функции доступны бесплатно.

Среди ее возможностей можно отметить следующее:

  1. Возможно найти любой объект и построить короткий и наиболее удобный маршрут к нему.
  2. Памятники культуры также несложно найти. При этом они представлены фотографиями и кратким описанием.
  3. Маршрут можно проложить для любого транспорта, в том числе общественного. Сервис автоматически рассчитывает время прибытия, учитывая ситуацию на дороге и даже светофоры.
  4. Карта представлена в нескольких режимах: панорамная, гибридная, 2D и спутниковая.
  5. Встроенный конструктор позволяет самостоятельно создавать города, в том числе улицы, парковки и другие объекты инфраструктуры.

Яндекс.Карты интегрируется с другими сервисами компании, например, погода на показываемой местности. Она важна, потому что может влиять на передвижение. Карта дорог подробная, вплоть до отображения указателей и знаков. Кроме того, доступны схемы метро, возможность печати бумажной версии в два клика, поиск близлежащих парковой и быстрое определение местоположения и отображение его на карте.

Вариант 2: Google Maps

Google Maps – это бесплатный картографический сервис от компании Гугл. Он регулярно синхронизируется с другим сервисом компании – Google Earth, используя базу данных, в том числе фотоснимков со спутника.

Преимущества интерактивной карты следующее:

  1. Несколько режимов отображения: спутник, карта и ландшафт.
  2. Возможность просмотра некоторых улиц по панорамным изображениям.
  3. Пользовательский режим работы с картами.
  4. Встроенный редактор Google Map Maker позволяет самостоятельно добавлять места, достопримечательности и другие данные.
  5. Удобный и быстрый поиск по картам.
  6. Построение очень подробных маршрутов проезда для любых видов транспорта.
  7. Управление картами с помощью горячих клавиш.

Существует мобильная версия карт от Гугл. Она удобна в использовании и обладает теми же функциями и инструментами, что и онлайн-сервис.

Google Maps – один из немногих ресурсов, где нет рекламы, поэтому пользоваться им комфортно.

Использование навигатора на Windows Phone

Установить навигацию можно через Microsoft Store на Windows CE. Для этого запустите магазин и найдите нужное приложение через поисковую строку.

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

Многие навигационные приложения доступны для использования на платформе Windows Phone. Главный интерфейс имеет все необходимые кнопки для использования основных функций. С их помощью возможно просматривать карты, строить маршруты, узнавать информацию о ситуации на дороге.

Читайте также:  Installing arduino ide linux

В магазине приложений Microsoft Store доступны следующие навигаторы :

  • Яндекс.Карты;
  • Google Maps;
  • Navitel;
  • HERE Maps;
  • Navmii.

Все GPS-навигаторы позволяют построить наиболее оптимальный маршрут с учетом различных ситуаций на дороге и даже погодных условий.

Отличия онлайн-навигатора от установленного

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

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

Рекомендуемые системные требования

При использовании онлайн-карт через браузер системные требования минимальны, кроме разрешения экрана. Рекомендуется диагональ не менее четырех дюймов, иначе разглядеть маршрут и объекты будет сложно, особенно за рулем. Для этого нужно запустить любой браузер на устройстве.

Но мобильные версии навигаторов требуют следующие параметры КПК или телефона:

  • Тактовая частота процессора – не менее 1000 МГц.
  • Наличие встроенного модуля Wi-Fi или GPS.
  • От 500 Мб оперативной памяти.

Некоторые базы данных могут достигать размера до 500 Мб. Устройства, работающие на базе Windows CE, не отличаются большим количеством физической памяти. Также они не поддерживают ее расширение, поэтому офлайн-навигаторы не всегда можно скачать для Windows CE. В этом случае, лучше использовать онлайн-сервисы.

Преимущества и недостатки компьютерных навигаторов

Компьютерные навигаторы имеют следующие преимущества:

  • Удобный и быстрый поиск нужных объектов.
  • Построение маршрута.
  • Отображение различных объектов на картах, в то числе достопримечательностей.
  • Расчет времени прибытия с учетом обстановки на дороге.
  • Простой и интуитивно понятный интерфейс.
  • Бесплатное распространение и отсутствие рекламы.
  • Возможность общаться с другими пользователями.

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

Использование навигаторов на операционной системе Windows удобное и интуитивно понятное. Для платформы существуют мобильные версии навигационного ПО. Также есть возможность запускать онлайн-сервисы, которые практически не отличаются от приложений для Windows версии 10.

Оцените статью