Document 5108182

advertisement
Павел Белевский
Системный инженер по встраиваемым
решениям, Кварта Технологии
pavelb@quarta.ru
Microsoft TechDays
Тенденции
Промежуточный GPS драйвер (GPSID)
Location Framework
Microsoft TechDays
В зависимости от местоположения
Новости
Погода
Дорожная обстановка
Информация об инфраструктуре
Заправки
Магазины
Поиск
Служба доставки
Супермаркет
Microsoft TechDays
Сложность получения информации о
местоположении
GPS/GSM/Веб-сервисы и т.п
Разнообразие аппаратного оборудование с
различными возможностями
Сложности с программированием и
конфигурированием
Меняющиеся стандарты
При разработке нового приложения
приходится «изобретать велосипед»
Microsoft TechDays
Считывание информации как правило
осуществляется через COM-порт
Программа выглядит примерно так:
CreateFile(“COM5:”, …);
ReadFile(szBuf, buflen, …); Parse(szBuf);
CloseFile();
Пример строки GPS-данных (NMEA
0183):
$GPGGA,171934.000,5539.3487,N,03731.843
3,E,1,05,3.8,226.5,M,14.5,M,,0000*50
Microsoft TechDays
CreateFile(“COM5:”, …);
Необходимо знать имя порта. Таким
образом в приложении должен быть
реализован интерфейс и пользователь сам
его вводит.
Parse()
В сотовых сетях не NMEA протокол и этот
протокол разный у каждого производителя
CloseFile();
В драйверах не реализовано
мультиплексирование – одновременно
может работать только одно приложение
Microsoft TechDays
Получение информации о
местоположении является непростой
задачей
Приложения могут блокировать доступ
для других приложений
Проблемы конфеденциальности
В итоге: отказаться или потратить время
на разработку
Microsoft TechDays
Решает большинсво проблем с
получением информации о
местоположении
Располагается между приложением и
GPS драйвером
Доступен начиная с Windows Embedded
CE 6.0, а также в Windows Mobile 5 и 6
Microsoft TechDays
Microsoft TechDays
Удобство при разработке и тестировании
GPSID-приложений
Нет необходимости использовать реальное
оборудование
GPS-приемники не работают в помещениях
Наиболее интересно в процессе движения
GPSID в режиме эмуляции
GPSID считывает NMEA-строки из файла
Прозрачно приложений
Microsoft TechDays
Наиболее востребована обратная
совместимость
Ранее написанные приложения могут
работать с GPSID только через COM-порт
GPSID реализует NMEA-протокол через
виртуальные COM-порты (COM0-9)
Приложения работают с виртуальным
портом, аналогично реальному
GPSID позволяет работать одновременно
нескольким приложениям
Microsoft TechDays
Не-GPSID
Не- GPSID
GPSID
GPSID
Приложение1
Приложениe2
Приложение1
Приложение2
Мультиплексор
(COM5)
Слой API
Промежуточный драйвер
GPS
Анализатор NMEA
Интерфейс
устройства
Драйвер GPS (COM-порт или
эмуляция)
Генерирует NMEA; Подключен к COM4
Microsoft TechDays
Разработка становится ещё проще
Сотовые телефоны не предоставляют
NMEA-протокол
В CE 6.0 GPSID позволяет GPS-драйверу
заполнить GPS_POSITION путем
отправки IOCTL
Исключается лишнее преобразование
NMEA-строк в структуру GPS_POSITION
GPSID генерирует NMEA для
унаследованных приложений
GPSID сохранил поддержку GPSприемников по NMEA-протоколу
Microsoft TechDays
Не-GPSID
Не- GPSID
GPSID
GPSID
Приложение1
Приложениe2
Приложение1
Приложение2
Мультиплексор
(COM5)
Слой API
Промежуточный
драйвер GPS
Генератор NMEA
Анализатор NMEA
Интерфейс
устройства
Драйвер GPS (COM-порт или
эмуляция)
Генерирует NMEA; Подключен к COM4
Microsoft TechDays
Ориентирован на GPS-информацию
Координаты широты и долготы
Не предоставляет информацию в виде
адреса и т.п.
Microsoft TechDays
Location Framework (LF) это решение
вида
CкажиГдеЯНахожусь();
Полностью абстрагирует от «железа»
Предоставляет различную информацию о
местоположении (адрес, ближайшие АЗС
и т.п.)
Расширяемость
Конфендециальность
Доступен начиная с CE 6.0
Microsoft TechDays
Основная модель программирования
Аналогично GPSID, приложения
запрашивают необходимую информацию
При смене местоположения или
состояния аппаратного оборудования
устанавливается событие
Приложения могут зарегистироваться на
различные типы отчетов (координаты,
адрес и т.п.)
Microsoft TechDays
Концепция отчетов
Отчет - это структура данных
описывающих местоположение по
аналогии с GPS_POSITION в GPSID
Поддерживаемые типы отчетов
Широта/долгота
Ближайшие WiFi точки доступа
Здание/этаж/комната
Адрес
Возможность добавлять типы отчетов
Например, ближайшие АЗС
Microsoft TechDays
Концепция библиотек дополнений
Определением местоположения
занимается библиотека (плагин)
загруженная в Location Framework
Поддерживаемое оборудование
GPS
WiFi точки доступа
Эмуляция
RFID
Веб-службы
На текущий момент реализованы 3
первых
Microsoft TechDays
Microsoft TechDays
Приложение
Движок Location Framework
Провайдеры
Провайдер
GPSID
Преобразователи
Преобразователь
Провайдер
802.11
Microsoft TechDays
для
Веб-сервиса
Провайдеры один из классов библиотек
расширения (плагинов)
Работают непосредственно с «железом»
или с использованием сети
GPSID
WiFi
Эмуляция
RFID
Полностью независимы
Microsoft TechDays
Преобразователи это другой класс
библиотек для LF
Занимаются преобразованием одного
типа данных в другой
Например, для получения координат
используя ближайшие точки доступа
Работают совместно с провайдерами,
которые создают для них отчеты
Microsoft TechDays
Примеры
Эмулятор
Выполняет преобразование на основе
отчетов в виде XML-файлов
Веб-сервис
802.11 -> координаты, адрес и т.д.
Ориентирование в организации
802.11 -> здание/этаж/комната
Microsoft TechDays
Необходимо предоставить определенный
интерфейс
ProviderInitialize – вызывается один раз при
инициализации Location Framework
ProviderGetLocation – когда приложение хочет
получить информацию о местоположении
ProviderStop – приложение больше не нуждается в
определении местоположения
ProviderUnInitialize – вызывается при остановке LF
PROVIDER_CONTROL_BLOCK
NewProviderReport callback – доступен новый отчет
ProviderUnavailable – провайдер не доступен
Разработка преобразователей ведется по
аналогии
Microsoft TechDays
Сценарий: Устройство в GPS-приемником,
но GPS может выдавать недостоверные
данные
Дополнительный провайдер работает
через GPSID и создает отчет
LOCATION_REPORT_LATLONG_UNCERTA
IN (пользовательский тип отчета)
Преобразователь проверяет данные и
создает отчет
LOCATION_REPORT_LATLONG
Приложение остается
зарегистрированным на
Microsoft TechDays
GPSID and Location Framework являются
универсальным решением для
определения местоположения и
обеспечения конфеденциальности
При разработке были учтены
современных требований к
конфеденциальности и безопасности
GPSID и Location Framework позволяют
обеспечить конфедециальность через
«trust-only» режим
Информацию получают только доверенные
приложения
Microsoft TechDays
GPSID
Абстрагирует производителей «железа» и
разработчиков приложений
Позволяет одновременно работать
нескольким приложениям
Поддержка унаследованных приложений
Location Framework
Разнообразные источники информации о
местоположении
Разнообразные варианты получения
информации
Расширяемость и конфеденциальность
Microsoft TechDays
Русcкоязычный форум для разработчиков
встраиваимых систем
www.msembedded.ru/forum
Книга «Введение в Windows Embedded CE 6.0 R2»
Microsoft TechDays
© 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Microsoft TechDays
Download