Windows Mobile 轻松接轨GPS
课程内容概述
课程内容安排 GPS / GIS / LBS 概述 如何开发一个简单的GPS应用 Windows Mobile 5开发GPS的新特点 深入GPS Intermediate Driver 资源
11/19/2018 3:02 AM GIS / GPS / LBS概述 4 © 2006 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.
GIS / GPS / LBS概述 什么是GPS? GPS与GIS整合 GPS/GIS与无线通讯网络整合--LBS
GIS / GPS / LBS概述 Location Based Services 基于位置的服务 GIS Location:定位,通过GPS卫星或者蜂窝网络,获取各种终端的地理坐标(经度和纬度) Services:服务,利用地理坐标,可以进行定位查找(自己和他人)、导航、周边信息搜索等等和位置有关的服务 GIS Geography Information System地理信息系统,是一种软件技术,指把有关的信息通过地理坐标以地图的表现方式展现出来。
GIS / GPS / LBS概述 LBS 发展现状 定位技术分类 服务种类 跟踪和导航类应用 网络独立定位 移动终端独立定位(GPS) 联合定位(A-GPS) 服务种类 信息类应用 移动城市指南:提供给终端用户附近的业务点位置或者城市生活信息 交通信息:给终端用户提供基于位置的最新交通状况 路线指南:按照用户指定的起点和终点展示行程路线 娱乐及游戏类应用 城市速配、基于定位的聊天交友 跟踪和导航类应用 对老人、儿童、宠物、财产等的位置进行追踪,并且通信或者控制
GIS / GPS / LBS概述 Windows Mobile在LBS中的地位
Windows Mobile中开发简单的GPS应用 Windows CE 4.0之前 简单的RS232操作,收发AT指令 Windows CE 5.0 以后 GPS Intermediate Driver (GID)
Windows Mobile中开发简单的GPS应用 串行口操作 文件流操作 分析NMEA 183的信息 自适应GPS程序
代码演示
Windows Mobile 5开发GPS应用的新特性 GPS Intermediate Driver (GID) 什么是GID? GID的结构 深入GID 如何使用GID
什么是GID (GPS Intermediate Driver) Windows Mobile 5.0提供的新的GPS接口 对于系统层:一个普通的驱动 就像一个中间件插在系统与应用程序之间 使用另外一个驱动程序与硬件通信
Microsoft 为什么推出GID 对于GPS设备生产商: 对于应用程序提供商: 可以和任意使用GID的应用程序无缝耦合
GID带来的便利 没有GID时: 有了GID后: 每一个应用程序独占一个GPS设备 应用程序通过访问串口获取GPS信息 通过调用CreateFile()获取GPS通讯口的句柄 反复调用ReadFile()获取GPS位置信息 自行解析NMEA 183信息 有了GID后: 多个应用程序可以同时访问同一GPS设备 GID解析NMEA 183信息 友好的GPS接口如: GPSGetLocation() 兼容早先的文件流操作
GID (GPS Intermediate Driver)结构 系统使用Device.exe自动加载 抽象层,并使用另外的一个驱动与GPS设备通信 GID自动将自己安插在硬件与软件之间 对于应用程序:GID就是一个GPS设备 对于GPS设备:GID就是一个获取GPS信息的客户端 通过控制面板小程序进行配置
如何使用GID GID的注册表结构 GID的调用过程
GID的注册表结构 常规设置 输入源设置 硬件设置 文件设置(有助于调试应用) Poll设置(高级模式) 多用户模式访问设置
GID的注册表结构 HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver Drivers "CurrentDriver" = "Acme GPS Hardware" Acme GPS Hardware "InterfaceType" = "COMM" "FriendlyName" = "ACME GPS Card, version 1.23" "CommPort" = "COM4:" HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver Multiplexer "DriverInterface" = "GPD1:" HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver Drivers "CurrentDriver" = "Test File Set 1" Test File Set 1 "InterfaceType" = "File" "FriendlyName" = "File Test #1" "File1" = "\windows\GPSFileInput1.txt" "File2" = "\windows\GPSFileInput2.txt"
如何使用GID 创建一个或两个Windows CE事件对象 创建一个和GPS 硬件设备的连接 使用WaitforSingleObject()或WaitForMultipleObjects()处理事件通知 重复调用第三步并调用GPSGetLocation()获取GPS信息 应用程序的相应处理 调用GPSCloseDevice()关闭设备
如何使用GID 创建一个或两个Windows CE事件对象 创建一个和GPS 硬件设备的连接 使用WaitforSingleObject()或WaitForMultipleObjects()处理事件通知 重复调用第三步并调用GPSGetLocation()获取GPS信息 应用程序的相应处理 调用GPSCloseDevice()关闭设备
代码演示
Add link to external Community website List top 3 newsgroups related to this slide 1 2 3 Advise when your next chat is Next user group meeting you will be at Add Other related 3rd party sites
高级模式 通过调用DeviceIoControl()来控制GID的行为 HANDLE hGPS = CreateFile(L"GPD0:", GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if (hGPS != INVALID_HANDLE_VALUE) { DeviceIoControl(hGPS,IOCTL_SERVICE_REFRESH,0,0,0,0,0,0); CloseHandle(hGPS); }
与本次主题有关的Session和活动 微软中文社区9月份Webcast将包含本主题